Skip to content

Code generation tool to generate mathematical libraries

License

Notifications You must be signed in to change notification settings

nibrunie/metalibm

 
 

Repository files navigation

Metalibm

Metalibm is available under MIT Licence (see LICENSE file) from https://github.com/kalray/metalibm/

INTEGRATION STATUS

master branch: pipeline status

meta-function generation report (master branch): https://nibrunie.gitlab.io/metalibm/report.master.html

INSTALL

  • Dependencies:

  • Python version compatibility: as of version 1.0, metalibm works with both python2 (>= 2.7) and python3 (tested with 3.4)

  • Installation procedure for standard users

    • install pythonsollya (and optionally gappa)
    • make sure pythonsollya is available in your PYTHONPATH
    • make sure metalibm's top directory is in your PYTHONPATH

USAGE

Example of metafunctions can be found under the metalibm_functions/ directory.

  • Example to generate a faithful (default) approximation of the exponential function for single precision on a x86 AVX2 target: python2 metalibm_functions/ml_exp.py --precision binary32 --target x86_avx2 --output x86_avx2_exp2d.c

  • Explore the other functions of this directory, e.g. : python2 metalibm_functions/ml_log.py --help

A more comprehensive user documentation can be found in doc/USERGUIDE.md

TEST

  • Unit-testing (software code generation): python2 valid/soft_unit_test.py

  • Unit-testing (hardware code generation): python2 valid/rtl_unit_test.py

  • Non-regression tests (software code generation): python2 valid/non_regression.py

  • Non-regression tests (hardware code generation): python2 valid/hw_non_regression.py

  • Functionnal coverage (generate a report on meta-functions' generation/build/valid status): python2 valid/soft_coverage_test.py --report-only --output report.html

DOCUMENTATION

Version History

  • Version 1.0.alpha: Released March 12th, 2018: First alpha for first official version

AUTHOR(S)

Nicolas Brunie (nbrunie (AT) kalray.eu), Hugues de Lassus Saint-Geniès,
Marc Mezzarobba, Guillaume Gonnachon, Florent de Dinechin, Julien Le Maire,
Julien Villette, Guillaume Revy

This work has been supported by Kalray (kalrayinc.com) and other entities
(to be listed)

About

Code generation tool to generate mathematical libraries

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 97.0%
  • C 2.8%
  • Other 0.2%