Skip to main content

Precision auto-tuning of floating-point variables in program

Project description

License

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cadnapromise-0.3.0.tar.gz (1.4 MB view details)

Uploaded Source

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

Hashes for cadnapromise-0.3.0.tar.gz
Algorithm Hash digest
SHA256 37f674017dfa716608505d842cf398a763d88a872e0bb82731d0ec4d46a412da
MD5 7c6d5e652adda405506a5603cbd23d9d
BLAKE2b-256 41f703e505aaa54ef6b236a649bf14814e1bf190ac0141281a28959c4a708e0e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page