Skip to content

Releases: edf-hpc/verrou

v2.6.0

15 Oct 13:28
Compare
Choose a tag to compare

This version is based on Valgrind-3.23.0.

Added

- aarch64 support
- option --float=yes
- soft and hard stop/start client request
- performance optimization (direct call to backend with rounding postfix)
- performance optimization (new llo instrumentation)
- verrou_dd_stdout
- verrou_dd_clean
- bash_completion scripts
- various options for verrou_plot_stat
- extendStdoutPrecision: library loadable by LD_PRELOAD to force std::cout<< std:precision(17) at initialization
- Option --seed for verrou_dd_*, verrou_plot_stat and post_verrou_dd tools
- Interlibm extension (all rounding modes and almost all libm functions)
- Interlibm integration (--libm=instrumented)
- Distinction between sr_smonotonic and sr_monotonic

Changed

- sr_monotonic rounding mode is now named sr_smonotonic
- vr_expect format is renamed iomatch
- verrouSynchro.so is renamed libverrouTask.so (synchro is renamed task in the API)

v2.5.0

26 May 14:31
Compare
Choose a tag to compare

This version is based on Valgrind-3.21.0.

Added

  • Add sr_monotonic rounding mode
  • Add [random|average]_scomdet rounding mode
  • Add prandom rounding mode with various update strategies
  • Add away_zero rounding mode
  • Add instrumentation of hardware sqrt
  • Add --with-verrou-denorm-hack option in configure
  • Add Nan and Inf detection in Interlibm
  • Add xxhash (by default) for [random,average]_[det|comdet|scomdet] and sr_monotonic

Changed

  • Code factorization in python tools
  • Performance optimization
  • verrou_dd_* is now resilient to invalid heuristics

v2.4.0

15 Dec 13:22
Compare
Choose a tag to compare
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

v2.3.1

31 May 14:18
Compare
Choose a tag to compare

This version is based on Valgrind-3.17.0.

Added

  • [EXPERIMENTAL] verrou_dd_syncho
    • Enable temporal delta-debug
    • Enable delta-debug for python code
  • checkdenorm back-end
    - The option --rounding-mode=ftz enable mode flush to zero
  • delta-debug improvments
    • Options with cmd options and env variables.
    • Add symlink FullPerturbation and NoPerturbation
    • Use relative path to print delta-debug progress
    • Add --cache option
    • Add heuristics to improve delta-debug (--rddmin-heuristics-cache= and --rddmin-heuristics-rep= options)
    • Add option --res-with-all-samples to be able to compare estimator between ddmin-*
    • Add parallelism (for samples and dichotomy)

Changed

- 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.

v2.2.0

08 Jan 15:36
Compare
Choose a tag to compare

This version is based on Valgrind-3.15.0.

Added

  • [EXPERIMENTAL] MCA back-ends

    • use with valgrind option --backend=mcaquad
    • deactivate support for MCA back-ends with configure switch --enable-verrou-quad=no
  • [EXPERIMENTAL] code coverage generation (--trace=FILENAME)

  • Generate the list of cancellations (--cc-gen-source)

Changed

  • 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)

v2.1.0

08 Nov 23:59
Compare
Choose a tag to compare

This version is based on Valgrind-3.14.0. (fixes gh-19)

Added

  • 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)

    • srDDmin: variant of rDDmin, specifically tuned to accomodate for stochastic
      tests
    • drDDmin: variant of rDDmin where a preliminary binary search is performed in
      order to further reduce the search space.
  • 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)

Changed

  • Python3 port of verrou_dd.

v2.0.0

18 Jun 22:58
Compare
Choose a tag to compare

This version is based on Valgrind-3.13.0.

Added

  • 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:

    • an operation: ADD / SUB / MUL / DIV
    • a vector variant: LLO / SSE / AVX2
    • a precision: single / double
  • 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.

Changed

  • 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)

v1.1.0

19 Jun 22:15
Compare
Choose a tag to compare

This version is based on Valgrind-3.13.0.

Added

  • Command-line option --vr-seed allows setting the pRNG seed in order to
    reproduce results in random and average rounding modes.

v1.0.0

19 May 21:25
Compare
Choose a tag to compare

This version is based on Valgrind-3.12.0.

Added

  • Continuous integration using the Travis system.
  • Improve Delta-Debugging customization through environment variables.

Changed

  • There is no need anymore for an external, statically compiled libc/libm.

v0.9.0

19 May 12:54
Compare
Choose a tag to compare

This is released version 0.9.0 of Verrou. It is based on Valgrind-3.10.1, which supports the following system configurations:

  • gcc, versions 3.x to 5.x
  • clang, versions 2.9 to 4.x
  • glibc, versions 2.2 to 2.20