wisio 0.0.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- wisio-0.0.1/.gitmodules +10 -0
- wisio-0.0.1/LICENSE +0 -0
- wisio-0.0.1/MANIFEST.in +7 -0
- wisio-0.0.1/PKG-INFO +50 -0
- wisio-0.0.1/README.md +31 -0
- wisio-0.0.1/pyproject.toml +9 -0
- wisio-0.0.1/setup.cfg +4 -0
- wisio-0.0.1/setup.py +83 -0
- wisio-0.0.1/tools/.dockerignore +3 -0
- wisio-0.0.1/tools/.gitignore +3 -0
- wisio-0.0.1/tools/CMakeLists.txt +83 -0
- wisio-0.0.1/tools/cmake/modules/FindPythonExtensions.cmake +503 -0
- wisio-0.0.1/tools/cmake/modules/targetLinkLibrariesWithDynamicLookup.cmake +478 -0
- wisio-0.0.1/tools/cmake/wisio-config-version.cmake.in +13 -0
- wisio-0.0.1/tools/cmake/wisio-config.cmake.build.in +20 -0
- wisio-0.0.1/tools/cmake/wisio-config.cmake.install.in +20 -0
- wisio-0.0.1/tools/recorder2parquet.cpp +1260 -0
- wisio-0.0.1/tools/spack.yaml +12 -0
- wisio-0.0.1/wisio/__init__.py +0 -0
- wisio-0.0.1/wisio/__main__.py +191 -0
- wisio-0.0.1/wisio/_darshan/__init__.py +0 -0
- wisio-0.0.1/wisio/_darshan/analysis.py +166 -0
- wisio-0.0.1/wisio/analysis.py +162 -0
- wisio-0.0.1/wisio/analysis_utils.py +38 -0
- wisio-0.0.1/wisio/analyzer.py +644 -0
- wisio-0.0.1/wisio/analyzer_result.py +1568 -0
- wisio-0.0.1/wisio/cluster_management.py +99 -0
- wisio-0.0.1/wisio/constants.py +103 -0
- wisio-0.0.1/wisio/darshan.py +115 -0
- wisio-0.0.1/wisio/dlp.py +310 -0
- wisio-0.0.1/wisio/recorder.py +150 -0
- wisio-0.0.1/wisio/rule_engine.py +311 -0
- wisio-0.0.1/wisio/rules.py +1164 -0
- wisio-0.0.1/wisio/scoring.py +72 -0
- wisio-0.0.1/wisio/tests/__init__.py +0 -0
- wisio-0.0.1/wisio/types.py +144 -0
- wisio-0.0.1/wisio/utils/__init__.py +0 -0
- wisio-0.0.1/wisio/utils/collection_utils.py +44 -0
- wisio-0.0.1/wisio/utils/common_utils.py +41 -0
- wisio-0.0.1/wisio/utils/dask_agg.py +42 -0
- wisio-0.0.1/wisio/utils/dask_utils.py +29 -0
- wisio-0.0.1/wisio/utils/distributed_plugins.py +68 -0
- wisio-0.0.1/wisio/utils/file_utils.py +17 -0
- wisio-0.0.1/wisio/utils/json_encoders.py +15 -0
- wisio-0.0.1/wisio/utils/logger.py +39 -0
- wisio-0.0.1/wisio/utils/yaml_utils.py +14 -0
- wisio-0.0.1/wisio.egg-info/PKG-INFO +50 -0
- wisio-0.0.1/wisio.egg-info/SOURCES.txt +50 -0
- wisio-0.0.1/wisio.egg-info/dependency_links.txt +1 -0
- wisio-0.0.1/wisio.egg-info/entry_points.txt +2 -0
- wisio-0.0.1/wisio.egg-info/requires.txt +16 -0
- wisio-0.0.1/wisio.egg-info/top_level.txt +1 -0
wisio-0.0.1/.gitmodules
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
[submodule "tools/lib/backward-cpp"]
|
|
2
|
+
path = tools/lib/backward-cpp
|
|
3
|
+
url = git@github.com:bombela/backward-cpp.git
|
|
4
|
+
[submodule "tools/lib/cpp-logger"]
|
|
5
|
+
path = tools/lib/cpp-logger
|
|
6
|
+
url = git@github.com:hariharan-devarajan/cpp-logger.git
|
|
7
|
+
[submodule "tools/lib/recorder"]
|
|
8
|
+
path = tools/lib/recorder
|
|
9
|
+
url = git@github.com:hariharan-devarajan/Recorder.git
|
|
10
|
+
branch = pilgrim
|
wisio-0.0.1/LICENSE
ADDED
|
File without changes
|
wisio-0.0.1/MANIFEST.in
ADDED
wisio-0.0.1/PKG-INFO
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: wisio
|
|
3
|
+
Version: 0.0.1
|
|
4
|
+
Home-page: https://github.com/izzet/wisio
|
|
5
|
+
Author: Izzet Yildirim
|
|
6
|
+
Author-email: izzetcyildirim@gmail.com
|
|
7
|
+
Classifier: Development Status :: 3 - Alpha
|
|
8
|
+
Classifier: Intended Audience :: Science/Research
|
|
9
|
+
Classifier: Topic :: Software Development :: Build Tools
|
|
10
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
11
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
15
|
+
Requires-Python: >=3.8, <4
|
|
16
|
+
Description-Content-Type: text/markdown
|
|
17
|
+
Provides-Extra: darshan
|
|
18
|
+
License-File: LICENSE
|
|
19
|
+
|
|
20
|
+
<p align="center">
|
|
21
|
+
<img src="./assets/logo.png">
|
|
22
|
+
</p>
|
|
23
|
+
|
|
24
|
+
# WisIO: Automated I/O Analysis for HPC Workflows
|
|
25
|
+
|
|
26
|
+
## Overview
|
|
27
|
+
|
|
28
|
+
**"Extract wisdom from large-scale rich I/O traces of HPC workflows."**
|
|
29
|
+
|
|
30
|
+
## Installation
|
|
31
|
+
|
|
32
|
+
To install WisIO through `pip`, you will need to use the following command.
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
spack -e tools install
|
|
36
|
+
pip install wisio[darshan]
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
To install WisIO from source, you will need to first install the dependencies:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
spack -e tools install
|
|
43
|
+
pip install .[darshan]
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Usage
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
wisio analyze -c /path/to/config
|
|
50
|
+
```
|
wisio-0.0.1/README.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="./assets/logo.png">
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
# WisIO: Automated I/O Analysis for HPC Workflows
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
**"Extract wisdom from large-scale rich I/O traces of HPC workflows."**
|
|
10
|
+
|
|
11
|
+
## Installation
|
|
12
|
+
|
|
13
|
+
To install WisIO through `pip`, you will need to use the following command.
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
spack -e tools install
|
|
17
|
+
pip install wisio[darshan]
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
To install WisIO from source, you will need to first install the dependencies:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
spack -e tools install
|
|
24
|
+
pip install .[darshan]
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Usage
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
wisio analyze -c /path/to/config
|
|
31
|
+
```
|
wisio-0.0.1/setup.cfg
ADDED
wisio-0.0.1/setup.py
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# import subprocess
|
|
2
|
+
# from os import path
|
|
3
|
+
from pathlib import Path
|
|
4
|
+
from setuptools import find_packages, setup
|
|
5
|
+
# from skbuild import setup
|
|
6
|
+
# from skbuild.command.build import build
|
|
7
|
+
# from skbuild.command.install import install
|
|
8
|
+
# from skbuild.command.egg_info import egg_info
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
# def update_submodules():
|
|
12
|
+
# print("Updating submodules...")
|
|
13
|
+
# if path.exists('.gitmodules'):
|
|
14
|
+
# subprocess.check_call(['git', 'submodule', 'init'])
|
|
15
|
+
# subprocess.check_call(['git', 'submodule', 'update'])
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
# class build_with_submodules(build):
|
|
19
|
+
# def run(self):
|
|
20
|
+
# update_submodules()
|
|
21
|
+
# build.run(self)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
# class egg_info_with_submodules(egg_info):
|
|
25
|
+
# def run(self):
|
|
26
|
+
# update_submodules()
|
|
27
|
+
# egg_info.run(self)
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
# class install_with_submodules(install):
|
|
31
|
+
# def run(self):
|
|
32
|
+
# update_submodules()
|
|
33
|
+
# install.run(self)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
setup(
|
|
37
|
+
name="wisio",
|
|
38
|
+
version="0.0.1",
|
|
39
|
+
url="https://github.com/izzet/wisio",
|
|
40
|
+
author="Izzet Yildirim",
|
|
41
|
+
author_email="izzetcyildirim@gmail.com",
|
|
42
|
+
classifiers=[
|
|
43
|
+
"Development Status :: 3 - Alpha",
|
|
44
|
+
"Intended Audience :: Science/Research",
|
|
45
|
+
"Topic :: Software Development :: Build Tools",
|
|
46
|
+
"License :: OSI Approved :: MIT License",
|
|
47
|
+
"Programming Language :: Python :: 3 :: Only",
|
|
48
|
+
"Programming Language :: Python :: 3.8",
|
|
49
|
+
"Programming Language :: Python :: 3.9",
|
|
50
|
+
"Programming Language :: Python :: 3.10",
|
|
51
|
+
],
|
|
52
|
+
long_description=(Path(__file__).parent / "README.md").read_text(),
|
|
53
|
+
long_description_content_type="text/markdown",
|
|
54
|
+
python_requires=">=3.8, <4",
|
|
55
|
+
# cmake_source_dir="tools",
|
|
56
|
+
# cmdclass={
|
|
57
|
+
# "build": build_with_submodules,
|
|
58
|
+
# "egg_info": egg_info_with_submodules,
|
|
59
|
+
# "install": install_with_submodules,
|
|
60
|
+
# },
|
|
61
|
+
entry_points={
|
|
62
|
+
"console_scripts": [
|
|
63
|
+
"wisio=wisio.__main__:main",
|
|
64
|
+
]
|
|
65
|
+
},
|
|
66
|
+
packages=find_packages(),
|
|
67
|
+
install_requires=[
|
|
68
|
+
"dask>=2023.9.0",
|
|
69
|
+
"dask_jobqueue==0.8.2",
|
|
70
|
+
"distributed>=2023.9.0",
|
|
71
|
+
"inflect==7.0",
|
|
72
|
+
"jinja2>=3.0",
|
|
73
|
+
"numpy==1.24.3",
|
|
74
|
+
"matplotlib==3.2.1",
|
|
75
|
+
"pandas>=2.1",
|
|
76
|
+
"pyyaml>=5.4",
|
|
77
|
+
"rich==13.6.0",
|
|
78
|
+
"scikit-learn>=1.4",
|
|
79
|
+
"scipy>=1.10",
|
|
80
|
+
"venn==0.1.3",
|
|
81
|
+
],
|
|
82
|
+
extras_require={"darshan": ["darshan>=3.4"]},
|
|
83
|
+
)
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
cmake_minimum_required(VERSION 3.0)
|
|
2
|
+
project(wisio)
|
|
3
|
+
|
|
4
|
+
#message(${CMAKE_PREFIX_PATH})
|
|
5
|
+
set(CMAKE_CXX_STANDARD 17)
|
|
6
|
+
set(WISIO_CMAKE_DIR ${CMAKE_SOURCE_DIR}/cmake)
|
|
7
|
+
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${WISIO_CMAKE_DIR} ${WISIO_CMAKE_DIR}/modules)
|
|
8
|
+
set(DEPENDENCY_LIB -lstdc++fs)
|
|
9
|
+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -rdynamic")
|
|
10
|
+
|
|
11
|
+
#------------------------------------------------------------------------------
|
|
12
|
+
# Disallow in-source build
|
|
13
|
+
#------------------------------------------------------------------------------
|
|
14
|
+
if ("${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
|
|
15
|
+
message(FATAL_ERROR
|
|
16
|
+
"${PROJECT_NAME} requires an out of source Build. "
|
|
17
|
+
"Please create a separate binary directory and run CMake there.")
|
|
18
|
+
endif ()
|
|
19
|
+
|
|
20
|
+
#------------------------------------------------------------------------------
|
|
21
|
+
# Set a default build type if none was specified
|
|
22
|
+
#------------------------------------------------------------------------------
|
|
23
|
+
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
|
24
|
+
if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
|
25
|
+
message(STATUS "Setting build type to 'RelWithDebInfo' as none was specified.")
|
|
26
|
+
set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build." FORCE)
|
|
27
|
+
# Set the possible values of build type for cmake-gui
|
|
28
|
+
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo")
|
|
29
|
+
endif ()
|
|
30
|
+
|
|
31
|
+
if (NOT "${CMAKE_CXX_STANDARD}")
|
|
32
|
+
set(CMAKE_CXX_STANDARD 17)
|
|
33
|
+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
34
|
+
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
35
|
+
endif ()
|
|
36
|
+
|
|
37
|
+
add_subdirectory(lib/backward-cpp)
|
|
38
|
+
add_subdirectory(lib/cpp-logger)
|
|
39
|
+
add_subdirectory(lib/recorder/tools)
|
|
40
|
+
|
|
41
|
+
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/lib/recorder/include)
|
|
42
|
+
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/lib/recorder/tools)
|
|
43
|
+
include_directories(${RECORDER_INCLUDE_DIR})
|
|
44
|
+
|
|
45
|
+
find_package(MPI COMPONENTS CXX REQUIRED)
|
|
46
|
+
if (MPI_FOUND)
|
|
47
|
+
message(STATUS "[MPI] found mpi.h at ${MPI_CXX_INCLUDE_DIRS}")
|
|
48
|
+
include_directories(${MPI_CXX_INCLUDE_DIRS})
|
|
49
|
+
set(DEPENDENCY_LIB ${DEPENDENCY_LIB} ${MPI_CXX_LIBRARIES})
|
|
50
|
+
endif ()
|
|
51
|
+
|
|
52
|
+
find_package(Arrow REQUIRED)
|
|
53
|
+
if(${Arrow_FOUND})
|
|
54
|
+
message("-- " "Found Arrow: TRUE")
|
|
55
|
+
include_directories(${ARROW_INCLUDE_DIR})
|
|
56
|
+
else()
|
|
57
|
+
message("-- " "Found Arrow: FALSE")
|
|
58
|
+
endif()
|
|
59
|
+
find_package(Parquet REQUIRED)
|
|
60
|
+
if(${Parquet_FOUND})
|
|
61
|
+
message("-- " "Found Parquet: TRUE")
|
|
62
|
+
include_directories(${PARQUET_INCLUDE_DIR})
|
|
63
|
+
else()
|
|
64
|
+
message("-- " "Found Parquet: FALSE")
|
|
65
|
+
endif()
|
|
66
|
+
|
|
67
|
+
find_package(nlohmann_json 3.11.2 REQUIRED)
|
|
68
|
+
find_package(PythonExtensions REQUIRED)
|
|
69
|
+
|
|
70
|
+
add_executable(wisio_recorder2parquet recorder2parquet.cpp)
|
|
71
|
+
target_link_libraries(wisio_recorder2parquet
|
|
72
|
+
${MPI_CXX_LIBRARIES}
|
|
73
|
+
reader
|
|
74
|
+
arrow_shared
|
|
75
|
+
parquet_shared
|
|
76
|
+
-lstdc++fs
|
|
77
|
+
cpp-logger
|
|
78
|
+
nlohmann_json::nlohmann_json
|
|
79
|
+
Backward::Interface
|
|
80
|
+
)
|
|
81
|
+
add_dependencies(wisio_recorder2parquet reader)
|
|
82
|
+
install(TARGETS wisio_recorder2parquet RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
|
|
83
|
+
python_standalone_executable(wisio_recorder2parquet)
|