work around broken NVIDIA JIT caching - Redmine #1938
The NVIDIA JIT compiler’s binary caching is simply broken. It manifests in the kernels not getting compiled even though the source changes. As a result old kernel binaries can be used when recompilation would be required and this can often result in weird errors or incorrect results that are hard to explain or debug.
This mostly affects devs, but users can be affected too if e.g. they pull a bugfix and the kernels don’t get recompiled; possibly even mismatching GROMACS binary/kernel combinations can happen too.
No better idea than forcing JIT off by setting the CUDA_CACHE_DISABLE env. var. Ugly, but seems warranted.
(from redmine: issue id 1938, created on 2016-04-04 by pszilard, closed on 2016-07-07)
- relates #1720 (closed)
- Revision 6556d8f4 by Szilárd Páll on 2016-07-04T13:50:59Z:
Disable NVIDIA JIT cache with OpenCL The NVIDIA JIT caching is known to be broken with OpenCL compilation in the case when the kernel source changes but the path does not change (e.g. kernels get overwritten). Therefore we disable the JIT caching on NVIDIA. Fixes #1938 Change-Id: I68749ea695a891ab8f14f07fc830ce632299b0c8