diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2-foss-2021a-CUDA-11.3.1.eb index 7911a59e7683..1a85d18683e7 100644 --- a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2-foss-2021a-CUDA-11.3.1.eb +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2-foss-2021a-CUDA-11.3.1.eb @@ -27,7 +27,7 @@ dependencies = [ ('Kalign', '3.3.1'), ('jax', '0.2.24', versionsuffix), # also provides absl-py ('UCX-CUDA', '1.10.0', versionsuffix), - ('cuDNN', '8.2.1.32', versionsuffix, True), + ('cuDNN', '8.2.1.32', versionsuffix, SYSTEM), ('NCCL', '2.10.3', versionsuffix), ('OpenMM', '7.5.1', '-DeepMind-patch'), ] diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.2.2-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.2.2-foss-2021a-CUDA-11.3.1.eb index 2ab59fb243c1..b69938619629 100644 --- a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.2.2-foss-2021a-CUDA-11.3.1.eb +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.2.2-foss-2021a-CUDA-11.3.1.eb @@ -27,7 +27,7 @@ dependencies = [ ('Kalign', '3.3.1'), ('jax', '0.3.9', versionsuffix), # also provides absl-py ('UCX-CUDA', '1.10.0', versionsuffix), - ('cuDNN', '8.2.1.32', versionsuffix, True), + ('cuDNN', '8.2.1.32', versionsuffix, SYSTEM), ('NCCL', '2.10.3', versionsuffix), ('OpenMM', '7.5.1', '-DeepMind-patch'), ] diff --git a/easybuild/easyconfigs/d/dlib/dlib-19.22-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/d/dlib/dlib-19.22-foss-2021a-CUDA-11.3.1.eb index 3448b11526f5..ff8966f9f928 100644 --- a/easybuild/easyconfigs/d/dlib/dlib-19.22-foss-2021a-CUDA-11.3.1.eb +++ b/easybuild/easyconfigs/d/dlib/dlib-19.22-foss-2021a-CUDA-11.3.1.eb @@ -26,7 +26,7 @@ builddependencies = [ ] dependencies = [ ('CUDA', '11.3.1', '', SYSTEM), - ('cuDNN', '8.2.1.32', versionsuffix, True), + ('cuDNN', '8.2.1.32', versionsuffix, SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/f/FastFold/FastFold-20220729-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/f/FastFold/FastFold-20220729-foss-2021a-CUDA-11.3.1.eb index 2e329e07f19f..0149030d604e 100644 --- a/easybuild/easyconfigs/f/FastFold/FastFold-20220729-foss-2021a-CUDA-11.3.1.eb +++ b/easybuild/easyconfigs/f/FastFold/FastFold-20220729-foss-2021a-CUDA-11.3.1.eb @@ -20,7 +20,7 @@ dependencies = [ ('HMMER', '3.3.2'), ('Kalign', '3.3.1'), ('UCX-CUDA', '1.10.0', versionsuffix), - ('cuDNN', '8.2.1.32', versionsuffix, True), + ('cuDNN', '8.2.1.32', versionsuffix, SYSTEM), ('NCCL', '2.10.3', versionsuffix), ('dm-tree', '0.1.6'), ('einops', '0.4.1'), diff --git a/easybuild/easyconfigs/j/jax/jax-0.2.24-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/j/jax/jax-0.2.24-foss-2021a-CUDA-11.3.1.eb index d9c4a4c51a4c..a50c9db2fc70 100644 --- a/easybuild/easyconfigs/j/jax/jax-0.2.24-foss-2021a-CUDA-11.3.1.eb +++ b/easybuild/easyconfigs/j/jax/jax-0.2.24-foss-2021a-CUDA-11.3.1.eb @@ -22,7 +22,7 @@ builddependencies = [ dependencies = [ ('CUDA', '11.3.1', '', SYSTEM), - ('cuDNN', '8.2.1.32', versionsuffix, True), + ('cuDNN', '8.2.1.32', versionsuffix, SYSTEM), ('NCCL', '2.10.3', versionsuffix), ('Python', '3.9.5'), ('SciPy-bundle', '2021.05'), diff --git a/easybuild/easyconfigs/j/jax/jax-0.3.14-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/j/jax/jax-0.3.14-foss-2022a-CUDA-11.7.0.eb index 387bbe5cc6c6..c7812a8bd25b 100644 --- a/easybuild/easyconfigs/j/jax/jax-0.3.14-foss-2022a-CUDA-11.7.0.eb +++ b/easybuild/easyconfigs/j/jax/jax-0.3.14-foss-2022a-CUDA-11.7.0.eb @@ -22,7 +22,7 @@ builddependencies = [ dependencies = [ ('CUDA', '11.7.0', '', SYSTEM), - ('cuDNN', '8.4.1.50', versionsuffix, True), + ('cuDNN', '8.4.1.50', versionsuffix, SYSTEM), ('NCCL', '2.12.12', versionsuffix), ('Python', '3.10.4'), ('SciPy-bundle', '2022.05'), diff --git a/easybuild/easyconfigs/j/jax/jax-0.3.9-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/j/jax/jax-0.3.9-foss-2021a-CUDA-11.3.1.eb index 92459f0310ca..d77b7c6e666a 100644 --- a/easybuild/easyconfigs/j/jax/jax-0.3.9-foss-2021a-CUDA-11.3.1.eb +++ b/easybuild/easyconfigs/j/jax/jax-0.3.9-foss-2021a-CUDA-11.3.1.eb @@ -22,7 +22,7 @@ builddependencies = [ dependencies = [ ('CUDA', '11.3.1', '', SYSTEM), - ('cuDNN', '8.2.1.32', versionsuffix, True), + ('cuDNN', '8.2.1.32', versionsuffix, SYSTEM), ('NCCL', '2.10.3', versionsuffix), ('Python', '3.9.5'), ('SciPy-bundle', '2021.05'), diff --git a/easybuild/easyconfigs/l/LDC/LDC-1.30.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/LDC/LDC-1.30.0-GCCcore-11.3.0.eb index 9e9a544e9f64..91983a9e242c 100644 --- a/easybuild/easyconfigs/l/LDC/LDC-1.30.0-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/l/LDC/LDC-1.30.0-GCCcore-11.3.0.eb @@ -17,7 +17,7 @@ builddependencies = [ ('CMake', '3.23.1'), ('Ninja', '1.10.2'), # building LDC from source requires LDC - ('LDC', '1.24.0', '-%(arch)s', True), + ('LDC', '1.24.0', '-%(arch)s', SYSTEM), ] dependencies = [ diff --git a/easybuild/easyconfigs/o/OpenFold/OpenFold-1.0.0-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/o/OpenFold/OpenFold-1.0.0-foss-2021a-CUDA-11.3.1.eb index 1d5296cc0d5c..52743c921acc 100644 --- a/easybuild/easyconfigs/o/OpenFold/OpenFold-1.0.0-foss-2021a-CUDA-11.3.1.eb +++ b/easybuild/easyconfigs/o/OpenFold/OpenFold-1.0.0-foss-2021a-CUDA-11.3.1.eb @@ -24,7 +24,7 @@ dependencies = [ ('HMMER', '3.3.2'), ('Kalign', '3.3.1'), ('UCX-CUDA', '1.10.0', versionsuffix), - ('cuDNN', '8.2.1.32', versionsuffix, True), + ('cuDNN', '8.2.1.32', versionsuffix, SYSTEM), ('NCCL', '2.10.3', versionsuffix), ('dm-tree', '0.1.6'), ('einops', '0.4.1'), diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb index cf6a5d924458..e6bc2880ce81 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb @@ -51,7 +51,7 @@ builddependencies = [ ('hypothesis', '6.46.7'), ] dependencies = [ - ('CUDA', '11.7.0', '', True), + ('CUDA', '11.7.0', '', SYSTEM), ('Ninja', '1.10.2'), # Required for JIT compilation of C++ extensions ('Python', '3.10.4'), ('protobuf', '3.19.4'), @@ -64,7 +64,7 @@ dependencies = [ ('numactl', '2.0.14'), ('FFmpeg', '4.4.2'), ('Pillow', '9.1.1'), - ('cuDNN', '8.4.1.50', '-CUDA-%(cudaver)s', True), + ('cuDNN', '8.4.1.50', '-CUDA-%(cudaver)s', SYSTEM), ('magma', '2.6.2', '-CUDA-%(cudaver)s'), ('NCCL', '2.12.12', '-CUDA-%(cudaver)s'), ('expecttest', '0.1.3'), diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.3-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.3-foss-2021a-CUDA-11.3.1.eb index 0ac39221678b..32ddf1501b5f 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.3-foss-2021a-CUDA-11.3.1.eb +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.3-foss-2021a-CUDA-11.3.1.eb @@ -20,7 +20,7 @@ builddependencies = [ ] dependencies = [ ('CUDA', '11.3.1', '', SYSTEM), - ('cuDNN', '8.2.1.32', versionsuffix, True), + ('cuDNN', '8.2.1.32', versionsuffix, SYSTEM), ('NCCL', '2.10.3', versionsuffix), ('Python', '3.9.5'), ('h5py', '3.2.1'), diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.6.0-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.6.0-foss-2021a-CUDA-11.3.1.eb index 8c4c862c9221..21750d02e0a8 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.6.0-foss-2021a-CUDA-11.3.1.eb +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.6.0-foss-2021a-CUDA-11.3.1.eb @@ -20,7 +20,7 @@ builddependencies = [ ] dependencies = [ ('CUDA', '11.3.1', '', SYSTEM), - ('cuDNN', '8.2.1.32', versionsuffix, True), + ('cuDNN', '8.2.1.32', versionsuffix, SYSTEM), ('NCCL', '2.10.3', versionsuffix), ('Python', '3.9.5'), ('h5py', '3.2.1'), diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1-foss-2021b-CUDA-11.4.1.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1-foss-2021b-CUDA-11.4.1.eb index 24cafa174385..6f8467a3d683 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1-foss-2021b-CUDA-11.4.1.eb +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1-foss-2021b-CUDA-11.4.1.eb @@ -21,7 +21,7 @@ builddependencies = [ ] dependencies = [ ('CUDA', '11.4.1', '', SYSTEM), - ('cuDNN', '8.2.2.26', versionsuffix, True), + ('cuDNN', '8.2.2.26', versionsuffix, SYSTEM), ('NCCL', '2.10.3', versionsuffix), ('Python', '3.9.6'), ('h5py', '3.6.0'), diff --git a/easybuild/easyconfigs/t/torchvision/torchvision-0.12.0-foss-2021a-PyTorch-1.11.0-CUDA-11.3.1.eb b/easybuild/easyconfigs/t/torchvision/torchvision-0.12.0-foss-2021a-PyTorch-1.11.0-CUDA-11.3.1.eb index ca3b8eac2e94..041a172edb93 100644 --- a/easybuild/easyconfigs/t/torchvision/torchvision-0.12.0-foss-2021a-PyTorch-1.11.0-CUDA-11.3.1.eb +++ b/easybuild/easyconfigs/t/torchvision/torchvision-0.12.0-foss-2021a-PyTorch-1.11.0-CUDA-11.3.1.eb @@ -15,7 +15,7 @@ checksums = ['99e6d3d304184895ff4f6152e2d2ec1cbec89b3e057d9c940ae0125546b04e91'] builddependencies = [('CMake', '3.20.1')] dependencies = [ - ('CUDA', '11.3.1', '', True), + ('CUDA', '11.3.1', '', SYSTEM), ('Python', '3.9.5'), ('Pillow-SIMD', '8.2.0'), ('PyTorch', local_pytorch_version, '-CUDA-%(cudaver)s'), diff --git a/test/easyconfigs/easyconfigs.py b/test/easyconfigs/easyconfigs.py index 095300b7ae22..35b3a60886f0 100644 --- a/test/easyconfigs/easyconfigs.py +++ b/test/easyconfigs/easyconfigs.py @@ -1425,6 +1425,11 @@ def template_easyconfig_test(self, spec): orig_val = resolve_template(ec_dict[key], ec.template_values) dumped_val = resolve_template(dumped_ec[key], ec.template_values) + # skip SYSTEM template constant check for 2019b and older toolchain generation easyconfigs + # since these fail other CI checks when updated + regex = re.compile(r'(201\d([ab]|\.\d+))|(^[1-8]\.\d+\.\d+)') + skip_system_template_check = regex.match(ec['toolchain']['version']) + # take into account that dumped value for *dependencies may include hard-coded subtoolchains # if no easyconfig was found for the dependency with the 'parent' toolchain, # if may get resolved using a subtoolchain, which is then hardcoded in the dumped easyconfig @@ -1452,11 +1457,16 @@ def template_easyconfig_test(self, spec): # 4th value is toolchain spec if len(dumped_dep) >= 4: if len(orig_dep) >= 4: - # if True was used to indicate that dependency should use system toolchain, - # then we need to compare the value for the dumped easyconfig more carefully; - # see also https://github.com/easybuilders/easybuild-framework/pull/4069 + # use of `True` is deprecated in favour of the more intuitive `SYSTEM` template if orig_dep[3] is True: - self.assertEqual(dumped_dep[3], EASYCONFIG_CONSTANTS['SYSTEM'][0]) + if skip_system_template_check: + self.assertEqual(dumped_dep[3], EASYCONFIG_CONSTANTS['SYSTEM'][0]) + else: + error_msg = ( + "use of `True` to indicate the system toolchain for dependency " + "%s is deprecated, use the `SYSTEM` template constant instead" % dumped_dep[0] + ) + self.fail(error_msg) else: self.assertEqual(dumped_dep[3], orig_dep[3]) else: