Releases: verificarlo/verificarlo
Releases · verificarlo/verificarlo
Verificarlo v1.0.0
[v1.0.0] 2023/08/30
Added
- Added support for Aarch64 (arm64) architectures
- Verificarlo accepts LLVM byte-code as input and can produce byte-code as output
- Interoperability with POCL
Fixed
- Fix binary64 precision checks in vprec backend
Verificarlo v0.9.1
[v0.9.1] 2022/10/21
Fixed
- Various fixes in autoconf and automake scripts
Changed
- Improve error messages and by default redirect info messages to stderr
Verificarlo v0.9.0
[v0.9.0] 2022/09/27
Added
- Support of LLVM version 15.0
- user call to change precision during runtime in the MCA and VPREC backends
- user call to change range during runtime in the VPREC backend
Fixed
- Fix vfc-ci bug triggered when retrieving repositories from github with the
new security policy
Changed
- Performance optimizations in MCA backends and faster random number generator.
Verificarlo v0.8.0
[v0.8.0] 2022/07/01
Added
- New
interflop_mca_int.so
backend. This new MCA backend uses integer computations to add stochastic noise. This should offer a performance gain on most architectures. - Add VFC_BACKENDS_LOGFILE environment variable to redirect logger_info to a file
- Add
interflop_call
function intointerflop_backend_interface_t
interface. Allows user to directly call low-level backend functions - Add INTERFLOP_CALL_INEXACT allowing to directly perturb one fp value through
interflop_call
mechanism - Add
test_usercall_inexact
to test the INTERFLOP_CALL_INEXACT user call
Changed
- VFC_BACKENDS_LOGGER=False behaviour. Now truly disable logger_info output.
- Redirect logger_info to stdout instead of stderr
Verificarlo v0.7.0
[v0.7.0] 2022/01/22
Removed
- Remove the MPFR backend, and related tests
Fixed
- Minor bugfixes in test_mca_rng
- Minor improvements to README
Changed
- Change license to Apache License v2.0 with LLVM Exceptions
Verificarlo v0.6.0
[v0.6.0] 2021/10/14
Added
- Add test for MCA backend when using OpenMP and pthread threads
- A new RNG, based on drand48_r and lrand48_r
- Support for deterministic backends (such as V-PREC) in Verificarlo CI
- Add an option to place accuracy targets ("checks") on Verificarlo CI probes
Fixed
- Minor bugfixes in Verificarlo CI
- Minor bugfixes with testplan.test
- Clean-up of build scripts
Changed
- MCA, MCA-MPFR, Bitmask and Cancellation backends no longer use the TinyMT64 RNG
- MCA, MCA-MPFR, Bitmask and Cancellation backends use drand48_r and lrand48_r RNGs
- RNG is now re-entrant
- MCA, MCA-MPFR, Bitmask and Cancellation backends are re-entrant
- Noise generation in the MCA backend uses one floating-point operation less
- Removed the TinyMT64 RNG, and changed all dependences to it towards the new RNG
Verificarlo v0.5.0
[v0.5.0] 2021/06/17
Added
- Add test for checking vectorization instrumentation
- Add sparsity option in libinterflop_mca backend to randomly instrument a percentage of FP instructions
- Add vfc_ci, a new tool which integrates verificarlo in a CI workflow and generates interactive reports that track numerical errors across the project lifetime.
- Add significantdigits submodule dependency
- Add cleaner script for tests
- Add operation counter for IEEE backend
Fixed
- Fix dockerhub issue that fails to init submodule
- Fix vfc_probes compilation error when compiling for Fortran
- Fix vector instrumentation for unsupported vector instructions
- Fix libVFCFuncInstrument.cpp compilation with llvm-4.0
- Fix several bugs in vfc_precexp
Changed
- Use f-strings formatting in verificarlo.in.in, required Python >= 3.6
- Remove test.sh.in in tests to use test.sh by sourcing paths.sh file
- Reorganize documentation layout
- Only use mangled names in instrumentation passes
Verificarlo v0.4.2
[v0.4.2] 2021/02/15
Added
- Support for LLVM up to 11.0.1
- Mechanism for reading VFC_BACKENDS from file through VFC_BACKENDS_FROM_FILE
- Absolute error option for MCA and VPREC backends
Verificarlo v0.4.1
[v0.4.1] 2020/10/22
Added
- Add support for function instrumentation. Through a new compiler pass, backends can operate at the function granularity. Function instrumentation provides call site and call stack information and allows to instrument the scalar inputs and output of functions.
- VPREC backend takes advantage of function instrumentation to enable per function and per (scalar) argument exploration of variable precision
- Add compiler options support (-E, -S, --save-temps) and remove intermediate .ll files
- Support assembly (.S) files (which are not instrumented)
- Improved support for include/exclude mechanism. In particular now, regexps are supported
- Delta-debug supports exclude files
- Increase the size of supported vectors from 4 to 16
Fixed
- Fix multiple corner-cases in the VPREC backend. In particular, handling of denormals has been fixed and new tests added.
- Fix configure.ac GCC version on some linux distributions
- Fix bugs in include/exclude mechanisms
- Fix bug with absolute paths for .ll paths
Verificarlo v0.4.0
[v0.4.0] 2020/07/03
Added
- Support for LLVM up to 10.0.1
- Add flang support for Fortran
- Add test_fortran_NAS that compiles and run the CG test from the NAS Parallel Benchmarks
- Add test_cpp for testing the compilation of C++ files
- Add wrappers for each target language: verificarlo-c, verificarlo-f and verificarlo-c++
- Add the option --linker to verificarlo to choose which linker to use
- Add the option --show-cmd in verificarlo to print internal commands
- Add clang-format-lint in the CI pipeline to check the clang-format conformity of source files
- Add VPREC backend that allows simulating any floating-point formats that fit into the IEEE-754 double precision format
Changed
- Update configure.ac to check gcc and llvm version
- Update m4/ax_llvm.m4 to remove the dragonegg option
- Update test_vprec_backend to reduce its execution time
Fixed
- Fix test_branch_instrumentation to force FP constants to be actual float
- Fix test_kahan that does not correctly output files
- Fix wrong max range for binary32 type
- Fix typo in exclusion/inclusion rules
Removed
- Support for LLVM 3.3 to 3.9
- Support for gcc version older than 4.9
- Support for dragonegg+gcc