Extra-P, automated empirical performance modeling for HPC and scientific applications
Project description
Extra-P
Put project description here.
Table of Contents:
Requirements
- Python 3
- PyQt 5 (only if using GUI)
- maplotlib
- numpy
Usage
extrap --text --path C:\Users\Admin\git\Extra-P\data\text\one_parameter_1.txtText files.extrap --json --path C:\Users\Admin\git\Extra-P\data\json\input_1.JSONJSON files.extrap --talpas --path C:\Users\Admin\git\Extra-P\data\talpas\talpas_1.txtTalpas files.extrap --text --path C:\Users\Admin\git\Extra-P\data\text\one_parameter_1.txt --out C:\Users\Admin\Desktop\test.txtCreate model and save it to text file at the given path.- ``
- ``
Extra-P
optional arguments:
-h, --helpshow this help message and exit--log LOG_LEVELset program's log level [INFO (default), DEBUG]--versionshow program's version number and exit--path PATHspecify a file path for Extra-P to work with--scaling SCALINGset weak or strong scaling when loading data from cube files [WEAK (default), STRONG]--cubeload data from cube files--medianuse median values for computation instead of mean values--textload data from text files--talpasload data from talpas data format--jsonload data from json file--out OUTspecify the output path for Extra-P results--print PRINT_TYPEset which information should be displayed after modeling [ALL (default), CALLPATHS, METRICS, PARAMETERS, FUNCTIONS]
Notes
One reason why the gui is not showing can be missing python packages!
Build Extra-P package
python setup.py sdist bdist_wheelCreate package from code.python -m twine upload --repository testpypi dist/*Upload package to python index. Need to specify username, password and do not forget to update the version of the package.
Build virtual env to test package
This command only works in windows shell...
python -m venv /tmppythonCreate a new virtual python environment to test the code.\tmppython\Scripts\activateActivate the virtual environment to use it for testing.deactivateDeactivate the virtual environment.
Install the Extra-P package
python -m pip install --index-url https://test.pypi.org/simple/ --no-deps extrap-meaparvitas --upgradeInstall the Extra-P package. The ``--upgrade` forces the installation of a new version if a previous version is already installed.extrapTo run the command line version of Extra-P.
Installing from a local src tree
pip install -e <path>Install package from a local src tree via a sim link.
Command Line stuff:
- PyQT needs to be install in order for the gui to display when running the extrapgui command in a terminal.
- python -m pip install --user --upgrade twine
- python -m pip install --user --upgrade setuptools wheel
pip install -e C:\Users\Admin\git\extrap\extrap --text --path C:\Users\Admin\git\Extra-P\data\text\two_parameter_1.txtextrap --cube --path C:\Users\Admin\git\Extra-P\data\cube\kripke\extrap --cube --path C:\Users\Admin\git\Extra-P\data\cube\blast\
C++ shared libraries
In order to create a C++ shared library and use it the relevant source code needs to be compiled with the following command g++ -Wall -O3 -fPIC -I/home/username/Cube/Cubelib/include/cubelib -shared CubeInterface.cc -o CubeInterface.so. It is important to specify the correct path to the Cube library that is installed on the system, as the Cube Interface requires this library. The path shown here /home/user/Cube/Cubelib/include/cubelib is just an example and can vary depending on where you installed Cube on your system. Furthermore, to find the #includes all C++ files need to be mentioned when compiling the shared library like so g++ -Wall -O3 -fPIC -I/home/marcus/Cube/Cubelib/include/cubelib -shared HelperClass.cc MainClass.cc -o MainClass.so.
Commands
Python commands for testing
python3 extrap.py --cube --path /home/marcus/GitLab/extrap/testdata/cube/blast
Compile the test example for the shared extrap library
g++ -Wall -O3 -fPIC -shared -I/home/marcus/Cube/Cubelib/include/cubelib MessageStream.cc IoHelper.cc Utilities.cc Parameter.cc Printer.cc Test.cc -o Test.so -L/home/marcus/Cube/Cubelib/lib -lcube4
Compile the CubeInterface.dll C++ shared library
g++ -Wall -O3 -fPIC -I/home/marcus/Cube/Cubelib/include/cubelib -shared Types.h Callpath.cc CompoundTerm.cc Coordinate.cc CubeMapping.cc DataPoint.cc Experiment.cc ExperimentPoint.cc Fraction.cc Function.cc IncrementalPoint.cc IoHelper.cc MessageStream.cc Metric.cc Model.cc ModelComment.cc ModelGenerator.cc ModelGeneratorOptions.cc MultiParameterFunction.cc MultiParameterFunctionModeler.cc MultiParameterHypothesis.cc MultiParameterModelGenerator.cc MultiParameterSimpleFunctionModeler.cc MultiParameterSimpleModelGenerator.cc MultiParameterSparseFunctionModeler.cc MultiParameterSparseModelGenerator.cc MultiParameterTerm.cc Parameter.cc Region.cc SimpleTerm.cc SingleParameterExhaustiveFunctionModeler.cc SingleParameterExhaustiveModelGenerator.cc SingleParameterFunction.cc SingleParameterFunctionModeler.cc SingleParameterHypothesis.cc SingleParameterModelGenerator.cc SingleParameterRefiningFunctionModeler.cc SingleParameterRefiningModelGenerator.cc SingleParameterSimpleFunctionModeler.cc SingleParameterSimpleModelGenerator.cc Utilities.cc CubeInterface.cc -o CubeInterface.dll -L/home/marcus/Cube/Cubelib/lib -lcube4 -w
Compile the CubeInterface.so C++ shared library
g++ -Wall -O3 -fPIC -I/home/marcus/Cube/Cubelib/include/cubelib -shared Types.h Callpath.cc CompoundTerm.cc Coordinate.cc CubeMapping.cc DataPoint.cc Experiment.cc ExperimentPoint.cc Fraction.cc Function.cc IncrementalPoint.cc IoHelper.cc MessageStream.cc Metric.cc Model.cc ModelComment.cc ModelGenerator.cc ModelGeneratorOptions.cc MultiParameterFunction.cc MultiParameterFunctionModeler.cc MultiParameterHypothesis.cc MultiParameterModelGenerator.cc MultiParameterSimpleFunctionModeler.cc MultiParameterSimpleModelGenerator.cc MultiParameterSparseFunctionModeler.cc MultiParameterSparseModelGenerator.cc MultiParameterTerm.cc Parameter.cc Region.cc SimpleTerm.cc SingleParameterExhaustiveFunctionModeler.cc SingleParameterExhaustiveModelGenerator.cc SingleParameterFunction.cc SingleParameterFunctionModeler.cc SingleParameterHypothesis.cc SingleParameterModelGenerator.cc SingleParameterRefiningFunctionModeler.cc SingleParameterRefiningModelGenerator.cc SingleParameterSimpleFunctionModeler.cc SingleParameterSimpleModelGenerator.cc Utilities.cc CubeInterface.cc -o CubeInterface.so -L/home/marcus/Cube/Cubelib/lib -lcube4 -w
The -w flag an be used to disable the warnings of the compiler.
Notes
- The current cube interface implementation only supports 3 parameters
- Float values in the cube files are automatically detected but they need to be formatted like this "p4.s1000.t0,1.r1"
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file extrap-0.0.1.tar.gz.
File metadata
- Download URL: extrap-0.0.1.tar.gz
- Upload date:
- Size: 80.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9efe72bd6c93a79e052a215d1d7c5b345fad84f91edfecd6307ff89a51ed0a64
|
|
| MD5 |
a0826b6721b0d199e555846a6c6f7190
|
|
| BLAKE2b-256 |
31bfa09444f1f99b694955c8227277b0b9035650b8f6752b4a0484ba5a5389f3
|
File details
Details for the file extrap-0.0.1-py3-none-any.whl.
File metadata
- Download URL: extrap-0.0.1-py3-none-any.whl
- Upload date:
- Size: 121.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
841f5ececbed0c0b7c9bae949cff6c9ca1a2d7933a63c2fe13dd50fd1196e604
|
|
| MD5 |
65d1b26825bdab0629b7d85cb622dece
|
|
| BLAKE2b-256 |
05f9ff49f1e7bb87ca93dcc9331ab8680c15f95c932e2f9f9d7b4f565fa2f86c
|