Precision auto-tuning of floating-point variables in program
Project description
cadnaPromise is a precision auto-tuning software using command-line interfaces.
Install
To install cadnaPromise, simply use the pip command in terminal:
pip install cadnaPromise
after that, to enable the arbitrary precision customization and cadna installation, simply activate the cadnaPromise via the command in terminal:
activate-promise
To reverse the process, simply do
deactivate-promise
Besides, users can install floatx and CADNA outside, and then specifying the path via
export CADNA_PATH=[YOURPATH]
Check the if cadnaPromise is installed:
promise --version
Dependencies
The installation of cadnaPromise requires the the following Python libraries: colorlog, colorama, pyyaml, regex.
The compiling of cadnaPromise requires g++. Please ensure the installation of above libraries for a proper running of cadnaPromise.
Usage
In terminal, simply enter the command bellow:
get help: promise --help | promise get version: promise --version run program: promise --precs=(customized precisions/built precisions) [options]
Options:
-h --help Show this screen. --version Show version. --precs=<strs> Set the precision following the built-in or cutomized precision letters [default: sd] --conf CONF_FILE Get the configuration file [default: promise.yml] --fp FPT_FILE Get the file for floating point number format [default: fp.json] --output OUTPUT Set the path of the output (where the result files are put) --verbosity VERBOSITY Set the verbosity (betwen 0 and 4 for very low level debug) [default: 1] --log LOGFILE Set the log file (no log file if this is not defined) --verbosityLog VERBOSITY Set the verbosity of the log file --debug Put intermediate files into debug/ (and compileErrors/ for compilation errrors) and display the execution trace when an error comes --run RUN File to be run --compile COMMAND Command to compile the code --files FILES List of files to be examined by Promise (by default, all the .cc files) --nbDigits DIGITS General required number of digits --path PATH Set the path of the project (by default, the current path) --pause Do pause between steps --noParsing Do not parse the C file (__PROMISE__ are replaced and that's all) --auto enable auto-instrumentation of source code --relError THRES use criteria of precision relative error less than THRES instead of number of digits --noCadna will not use cadna, reference result computed in (non-stochastic) double precision --alias ALIAS Allow aliases (examples "g++=g++-14") [default:""] --CC Set compiler for C program [default: g++] --CXX Set compiler for C++ program [default: g++]
Acknowledgements
cadnaPromise is based on Promise2 (Hilaire et al), a full rewriting of the first PROMISE version (Picot et al).
This work was supported by the France 2030 NumPEx Exa-MA (ANR-22-EXNU-0002) project managed by the French National Research Agency (ANR). Promise2 has been developed with the financial support of the COMET project Model-Based Condition Monitoring and Process Control Systems, hosted by the Materials Center Leoben Forschung GmbH.
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
File details
Details for the file cadnapromise-0.3.0.tar.gz.
File metadata
- Download URL: cadnapromise-0.3.0.tar.gz
- Upload date:
- Size: 1.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
37f674017dfa716608505d842cf398a763d88a872e0bb82731d0ec4d46a412da
|
|
| MD5 |
7c6d5e652adda405506a5603cbd23d9d
|
|
| BLAKE2b-256 |
41f703e505aaa54ef6b236a649bf14814e1bf190ac0141281a28959c4a708e0e
|