forked from verificarlo/verificarlo
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Interflop #13
Merged
Merged
Interflop #13
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…make stage (pre-hook)
- Move GCC 6.0 -> 7.0 since gcc-6.0 produces a segfault during the compilation - Add dependencies for glibc 2.28 since the <threads.h> is missing in glibc 2.27 See https://www.gnu.org/software/gnulib/manual/html_node/threads_002eh.html
license compatibility reasons. - Now interflop_fma uses builtin fma implementation
- Add a new function to log debug messages - Add VFC_BACKENDS_LOGGER_LEVEL environment variable to control the verbosity of the logger
- Now implement round-to-nearest, ties-to-even TODO: fix corner case when both closest values are equidistant. - Pass `test.sh full` in test_vprec_backend - Now uses C implementation test against MPFR instead of relying on Bigfloat Python package - Add `retest.sh` to retest failed tests ex: ./retest.sh log.error
Mark this test as expected to fail (exit 88) static mode fails with * libinterflop_ieee.so due to libquadmath not being handled correctly, it fails with glibc 2.31 and works with glibc 2.35 and above * libinterflop_mca.so (any backends using RNG) due to issues with the TLS and static libraries (see https://www.akkadia.org/drepper/tls.pdf sec 3.1)
yohanchatelain
force-pushed
the
interflop
branch
from
April 25, 2024 23:41
01f710f
to
677ebd5
Compare
- pointer to float values could be read while being null. Add a check to avoid this. - Unify Ftypes with the ones in interflop.h - Code refactoring
- llvm-17 and >= required to rewrite the LLVM passes using the new pass manager.
yohanchatelain
force-pushed
the
interflop
branch
from
April 26, 2024 22:27
c8190f6
to
6effe76
Compare
yohanchatelain
added a commit
that referenced
this pull request
May 10, 2024
* Update dependencies requirements - Move GCC 6.0 -> 7.0 since gcc-6.0 produces a segfault during the compilation - Add dependencies for glibc 2.28 since the <threads.h> is missing in glibc 2.27 See https://www.gnu.org/software/gnulib/manual/html_node/threads_002eh.html * Set llvm-16 as the latest version supported - llvm-17 and >= required to rewrite the LLVM passes using the new pass manager. - Fix Python packages installation with >= python3.11 * Remove prng and Verrou dependencies from fma for license compatibility reasons. - Now interflop_fma uses builtin fma implementation * Update logger: - Add a new function to log debug messages - Add VFC_BACKENDS_LOGGER_LEVEL environment variable to control the verbosity of the logger * Update the tests: - Add skipable tests, marked with # SKIP test_cython and FORTRAN tests - Add time profiling to the tests, enabled with PROFILE_TIME env variable - Clean tests - Add test for FMA instrumentation * Mark test_static as XFAIL: Mark this test as expected to fail (exit 88) static mode fails with - libinterflop_ieee.so due to libquadmath not being handled correctly, it fails with glibc 2.31 and works with glibc 2.35 and above - libinterflop_mca.so (any backends using RNG) due to issues with the TLS and static libraries (see https://www.akkadia.org/drepper/tls.pdf sec 3.1) * Fix issues with vprec backend: - Now implement round-to-nearest ties-to-even for the rounding of a single floating-point value. However, the result of an arithmetic operation is always subject to a double rounding error, which is why VPREC provides a result with a faithful rounding. # TODO: fix corner case when both closest values are equidistant. - Pass `test.sh full` in test_vprec_backend - Now uses C implementation test against MPFR instead of relying on Bigfloat Python package - Add `retest.sh` to retest failed tests ex: ./retest.sh log.error * Fix bug in interflop_vprec_function_instrumentation.c - pointer to float values could be read while being null. Add a check to avoid this. - Unify Ftypes with the ones in interflop.h - Code refactoring * Update documentation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.