edf-hpc / verrou

floating-point errors checker
https://edf-hpc.github.io/verrou/vr-manual.html
GNU General Public License v2.0
54 stars 13 forks source link

Improving verrou_dd cache invalidation #9

Closed HadrienG2 closed 3 years ago

HadrienG2 commented 6 years ago

verrou_dd only invalidates its cache when the run-script or the cmp-script change. But these scripts usually recursively call other binaries or touch configuration files which verrou_dd has no knowledge of. Therefore, the dd.sym cache is often reused when it shouldn't be.

I propose two possible strategies to deal with this, a sane but unsatisfying one an a less sane but more powerful strategy:

ffevotte commented 6 years ago

verrou_dd only invalidates its cache when the run-script or the cmp-script change

Please note that even this simple heuristic is not used currently. At the moment, Verrou never invalidates its cache which, as you note, is not a good idea as it misleads users most of the time.

I would be in favor of implementing your 'sane-but-meh' option in a first stage, then see whether more is needed. We also have a few ideas regarding helper scripts which could allow (advanced) users to invalidate only parts of the cache. For example: invalidate successful tests if a verrou_dd error reveals that VERROU_DD_NRUNS was set to a too small value).

lathuili commented 3 years ago

Since the v2.3.1version you can configure the cache behaviour with the option --cache.