floating-point errors checker
This version is based on Valgrind-3.21.0.
Release v2.4.0
This version is based on Valgrind-3.20.0.
### Added
- Add new rounding mode [random,average]_[det|comdet]
- Add --enable-verrou-check-naninf in configure
- Add post_verrou_dd for verrou_dd_line post-treatment
- Add option --warn-unknown-source (used by default in verrou_dd_line)
- Add --vr-instr-[flt|dbl|llo|vec[2,4,8]] options
- Add option --check-max-float
- Add a valgrind error for +/-inf detection
- Add a Dockerfile
- Add option --rddmin-heuristics-line-conv to verrou_dd_*
- [EXPERIMENTAL] Add new rounding mode prandom
### Changed
- Use by default xo(ro)shiro prng
- Test switch between rounding mode is done during instrumentation (instead of each fp operation)
- Demangle C++ name in verrou_dd_[sym,line] stdout
- Bug fix: Do not generate VR_ERROR_UNCOUNTED error if the op is not perturbated
- Filter the low number of samples for srddmin : never below the number of threads and never below a param which depends of an estimated failure probability.
- plotStat become verrou_plot_stat and can use multiple threads
- Cast and FMA are now considered as unknown vectorized type.
- Migration from travis to github action
- The option --vr-instr (and VERROU_INSTR env variable) accepts multiple args (separated by ,)
- Add flags in BB coverage for BB with modified fp operation (F) and one for cmpFloat (?)
- Bug fix : --gen-exclude take into account --exclude
- The configure flag --enable-verrou-fma set by default
This version is based on Valgrind-3.17.0.
- The option --demangle=no is no more required for --gen-exclude, --exclude, --gen-source, --source options and so for the delta-debug process
- License change : The verrou backends and python tools switch to LGPL v2.1. The frontend remains in GPL.
This version is based on Valgrind-3.15.0.
[EXPERIMENTAL] MCA back-ends
--backend=mcaquad
--enable-verrou-quad=no
[EXPERIMENTAL] code coverage generation (--trace=FILENAME
)
Generate the list of cancellations (--cc-gen-source
)
Two scripts verrou_dd_line
and verrou_dd_sym
replace
verrou_dd
.
Bug fix related to the random generator.
Bug fix: use the PID to generate the search space name. This allows using Delta-Debugging techniques with MPI programs.
Bug fix: correctly handle unnamed objects and source file lines.
Bug fix: allow gdb integration. (fixes gh-24)
This version is based on Valgrind-3.14.0. (fixes gh-19)
Preliminary filtering before Delta-Debugging: only functions performing floating-point operations are considered in the search for instabilities.
Multiple variants of the Delta-Debugging algorithm: (fixes gh-14, gh-22)
New reduced-precision backend (--rounding-mode=float
). This back-end
emulates the use of single-precision arithmetic for all double-precision
variables. (fixes gh-11)
verrou_dd
.Here are tutorials for Verrou, made for Summer Schools (in French)
This version is based on Valgrind-3.13.0.
Generation of Valgrind errors for NaN values. This can be useful to debug programs in conjunction with vgdb. (fixes gh-4)
Instrumentation of all FP binary instructions, as obtained by any combination of:
Instrumentation of cast instructions (double -> float).
Preparation for the common interflop backend interface.
(Experimental) Parallelism in verrou_dd
. The number of concurrent threads
can be set using the VERROU_DD_NUM_THREADS
environnement variable.
(Experimental) New DDmin algorithm for verrou_dd
. Instead of computing a
maximal set of stable symbols/lines using the DDmax algorithm (and outputting
the complement), the DDmin algorithm computes the union of minimal sets of
unstable symbols/lines. It can be activated by setting VERROU_DD_ALGO=rddmin
in the environment.
C++ source files are now compiled using the C++11 standard.
Fix the LLO instrumentation bug. This solves problems which sometimes happened when LLO and real vector instructions were mixed. Known examples of such bugs situations include openblas or binaries compiled with the Intel compiler.
The new --vr-unsafe-llo-optim
allows keeping the old fast and buggy LLO
instrumentation.
Suppression of useless warnings.
Fix bugs of next_after and next_prev.
More robust rounding mode (upward, downward, toward_zero) with subnormals.
Improvement of tests and unit test (with UCB references).
Usability improvements of verrou_dd. There is no need for absolute paths to argument scripts anymore. Also, error messages are now more readable. (related to gh-7)
Increase the max. size of symbol names in exclude files. New limit is set to 4096 characters. (fixes gh-6)
Here are pristine sources of the released Valgrind versions on which the different versions of Verrou rely.