Skip to content

{ai}[foss/2023b] PyTorch-bundle v2.3.0 w/ CUDA 12.4.0#25045

Open
Flamefire wants to merge 11 commits intoeasybuilders:developfrom
Flamefire:20260113153816_new_pr_PyTorch-bundle230
Open

{ai}[foss/2023b] PyTorch-bundle v2.3.0 w/ CUDA 12.4.0#25045
Flamefire wants to merge 11 commits intoeasybuilders:developfrom
Flamefire:20260113153816_new_pr_PyTorch-bundle230

Conversation

@Flamefire
Copy link
Contributor

@Flamefire Flamefire commented Jan 13, 2026

(created using eb --new-pr)

Requires:

@github-actions
Copy link

github-actions bot commented Jan 13, 2026

Updated software PyTorch-bundle-2.3.0-foss-2023b-CUDA-12.4.0.eb

Diff against PyTorch-bundle-2.6.0-foss-2024a.eb

easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.6.0-foss-2024a.eb

diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.6.0-foss-2024a.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.3.0-foss-2023b-CUDA-12.4.0.eb
index 8fc5c7faf2..853b4b5a8c 100644
--- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.6.0-foss-2024a.eb
+++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.3.0-foss-2023b-CUDA-12.4.0.eb
@@ -1,96 +1,156 @@
 easyblock = 'PythonBundle'
 
 name = 'PyTorch-bundle'
-version = '2.6.0'
+version = '2.3.0'
+versionsuffix = '-CUDA-%(cudaver)s'
 
 homepage = 'https://pytorch.org/'
 description = """PyTorch with compatible versions of official Torch extensions."""
 
-toolchain = {'name': 'foss', 'version': '2024a'}
+toolchain = {'name': 'foss', 'version': '2023b'}
 
 builddependencies = [
-    ('CMake', '3.29.3'),
-    ('git', '2.45.1'),
-    ('RE2', '2024-07-02'),  # for torchtext
-    ('NLTK', '3.9.1'),  # for torchtext tests
-    ('parameterized', '0.9.0'),  # for torchtext tests
-    ('hatchling', '1.24.2'),  # for pytorch-ignite
-    ('dill', '0.3.9'),  # for pytorch-ignite tests
-    ('scikit-learn', '1.5.2'),  # for pytorch-ignite tests
-    ('scikit-image', '0.25.0'),  # for pytorch-ignite tests
-    ('visdom', '0.2.4'),  # for pytorch-ignite tests
-    ('Java', '17', '', SYSTEM),  # needed by ANTLR runtime
+    ('CMake', '3.27.6'),
+    ('RE2', '2024-03-01'),  # for torchtext
+    ('parameterized', '0.9.0'),  # for torchtext and torchaudio tests
+    ('scikit-learn', '1.4.0'),  # for torchaudio and pytorch-ignite tests
+    ('scikit-image', '0.24.0'),  # for pytorch-ignite tests
+    ('dill', '0.3.8'),  # for pytorch-ignite tests
+    ('matplotlib', '3.8.2'),  # for pytorch-ignite tests
+    ('librosa', '0.10.2.post1'),  # for torchaudio tests
+    ('NLTK', '3.8.1'),  # for torchtext tests
+    ('Scalene', '1.5.35'),  # for pynvml in ignite tests
 ]
 
 dependencies = [
-    ('Python', '3.12.3'),
-    ('PyTorch', version),
-    ('torchaudio', version),
-    ('torchvision', '0.21.0'),
+    ('CUDA', '12.4.0', '', SYSTEM),
+    ('Python', '3.11.5'),
+    ('PyTorch', version, versionsuffix),
+    ('Pillow-SIMD', '10.4.0'),  # for torchvision
+    ('libjpeg-turbo', '3.0.1'),  # for torchvision
+    ('FFmpeg', '6.0'),  # for torchvision and torchaudio
+    ('SoX', '14.4.2'),  # for torchaudio
+    ('SentencePiece', '0.2.0'),  # for torchtext
+    ('tqdm', '4.66.2'),  # for torchtext
     ('double-conversion', '3.3.0'),  # for torchtext
-    ('SentencePiece', '0.2.1'),  # for torchtext
-    ('tqdm', '4.66.5'),  # for torchtext
     ('utf8proc', '2.9.0'),  # for torchtext
     ('tensorboard', '2.18.0'),  # for torch-tb-profiler
-    ('orjson', '3.10.13'),  # for torchrl
-    ('lxml', '5.3.0'),  # for torchtune
-    ('HF-Datasets', '4.0.0'),  # for torchtune
-    ('Safetensors', '0.6.2'),  # for torchtune
-    ('tiktoken', '0.9.0'),  # for torchtune
-    ('tokenizers', '0.21.4'),  # for torchtune
+    ('h5py', '3.11.0'),  # for tensordict
 ]
 
+local_preinstall_opts = ' '.join([
+    'USE_SYSTEM_LIBS=1',
+    'USE_OPENMP=1',
+    'USE_CUDA=1', 'TORCH_CUDA_ARCH_LIST="%(cuda_cc_semicolon_sep)s"',
+    'USE_CUDNN=1',
+    'USE_FFMPEG=1', 'FFMPEG_ROOT="$EBROOTFFMPEG"',
+    'CMAKE_BUILD_PARALLEL_LEVEL=%(parallel)s',
+]) + ' '
+
+exts_default_options = {
+    'preinstallopts': local_preinstall_opts,
+    'prebuildopts': local_preinstall_opts,
+    'sources': [{'download_filename': V_VERSION_TAR_GZ, 'filename': SOURCE_TAR_GZ}],  # Most are git downloads
+}
+
+# Check with https://pytorch.org/audio/stable/installation.html#compatibility-matrix
 exts_list = [
-    ('pynvml', '11.5.3', {
-        # needed by torch-ignite
-        # see https://github.com/pytorch/ignite/blob/adb2a557650d55db25082f9cb06ea59c7c69e562/requirements-dev.txt#L24
-        'checksums': ['183d223ae487e5f00402d8da06c68c978ef8a9295793ee75559839c6ade7b229'],
+    ('portalocker', '2.8.2', {
+        'sources': [SOURCE_TAR_GZ],
+        'checksums': ['2b035aa7828e46c58e9b31390ee1f169b98e1066ab10b9a6a861fe7e25ee4f33'],
+    }),
+    ('torchdata', '0.8.0', {
+        'source_urls': ['https://github.com/pytorch/data/archive'],
+        'checksums': ['d5d27b264e79d7d00ad4998f14d097b770332d979672dceb6d038caf204f1208'],
+        'runtest': False,  # circular test requirements
     }),
-    ('torchtext', '0.18.0', {
+    ('torchtext', '0.16.2', {
         'patches': [
             'torchtext-0.14.1_use-system-libs.patch',
             'torchtext-0.16.2_download-to-project-root.patch',
-            'torchtext-0.18.0-fix-torch-load-tests.patch',
         ],
         'source_urls': ['https://github.com/pytorch/text/archive'],
-        'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
         'checksums': [
-            {'torchtext-0.18.0.tar.gz': 'fe4eb4b361388ef7840dcad117ae95b32252db5520c4eb2b3bead627468fbdf2'},
+            {'torchtext-0.16.2.tar.gz': '6574b012804f65220329a2ad34a95c18e4df0d4cff2f862fb7862d57b374b013'},
             {'torchtext-0.14.1_use-system-libs.patch':
              'a29ce29259d8c1cf3533cdc23c66e68eec660d6206ae04ced0220a7c02712b53'},
             {'torchtext-0.16.2_download-to-project-root.patch':
              '9d5599a9983729cf1fc7ab2a2f65d1887f223f528e15662ba1b4a5e359c9686d'},
-            {'torchtext-0.18.0-fix-torch-load-tests.patch':
-             'accf43278cc5c293c515ce2b28e2d1788182401ffb73ba673c33724bd6ddf2aa'},
         ],
-        'preinstallopts': "sed -i '92d' setup.py &&",  # skip fetching repo submodules
         'runtest': (
             'pytest test/torchtext_unittest'
             ' -k "not test_vocab_from_raw_text_file"'  # segfaults
             '" and not test_get_tokenizer_moses"'  # requires sacremoses
             '" and not test_get_tokenizer_spacy"'  # requires spaCy
             '" and not test_download_charngram_vectors"'  # requires internet access and required host may fail
-            '" and not test_builtin_pretrained_sentencepiece_processor"'  # missing file
+            '" and not test_download_glove_vectors"'  # requires internet access and required host may fail
+            '" and not test_vectors_get_vecs"'  # requires internet access and required host may fail
         ),
         'testinstall': True,
     }),
-    ('pytorch-ignite', '0.5.2', {
-        'modulename': 'ignite',
-        'source_urls': ['https://github.com/pytorch/ignite/archive'],
-        'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
+    ('pytest-mock', '3.11.1', {  # for torchvision tests
+        'sources': [SOURCE_TAR_GZ],
+        'checksums': ['7f6b125602ac6d743e523ae0bfa71e1a697a2f5534064528c6ff84c2f7c2fc7f'],
+    }),
+    ('torchvision', '0.16.2', {
+        'installopts': '-v',
         'patches': [
-            'torch-ignite-0.4.13_dont_destroy_python_path_in_test_launcher.patch',
-            'torch-ignite-0.5.2_fix-conftest-options.patch',
-            'torch-ignite-0.5.2_fix-pynvml-smi.patch',
+            'torchvision-0.16.2_ffmpeg-6.0-fix.patch',
+            'torchvision-0.16.2_quantized_tol.patch',
         ],
+        'source_urls': ['https://github.com/pytorch/vision/archive'],
         'checksums': [
-            {'pytorch-ignite-0.5.2.tar.gz': 'f11777f5ab9f74d72c66adfb9214ae16ad1752ca0e866d6bf6f1c0738c5e99c2'},
+            {'torchvision-0.16.2.tar.gz': '8c1f2951e98d8ada6e5a468f179af4be9f56d2ebc3ab057af873da61669806d7'},
+            {'torchvision-0.16.2_ffmpeg-6.0-fix.patch':
+             'a49336e7bfa1c950e886852bff37a3ea2146ac7bda87241e3ffb31c5cb869cce'},
+            {'torchvision-0.16.2_quantized_tol.patch':
+             '457cdf8ad6653838c552890bce95dbe30b7573b1643334284f5f4a58f74f6e40'},
+        ],
+        'runtest': (
+            'pytest'
+            ' -m "not xfail"'  # don't run tests that are expected that they might fail
+            ' -k "not test_frame_reading_mem_vs_file"'  # this one hangs
+        ),
+        'testinstall': True,
+    }),
+    ('torchaudio', version, {
+        'patches': [
+            'torchaudio-2.1.2_transform_test_tol.patch',
+            'torchaudio-2.3.0_remove-librosa-version-check.patch',
+            'torchaudio-2.3.0_use-external-sox.patch',
+        ],
+        'preinstallopts': ('unset BUILD_VERSION && '
+                           'rm -r third_party/{sox,ffmpeg/multi}; '  # runs twice when testinstall
+                           + local_preinstall_opts),
+        'source_urls': ['https://github.com/pytorch/audio/archive'],
+        'checksums': [
+            {'torchaudio-2.3.0.tar.gz': '83f6351754ed57cb625b1322bab8e12c9140213a9b79626cc5bf7dfd122f869d'},
+            {'torchaudio-2.1.2_transform_test_tol.patch':
+             '57f315c60db70ed2bd9711bcf6f7c7c24dac8c2f04e00488996eb2dc507bdfd2'},
+            {'torchaudio-2.3.0_remove-librosa-version-check.patch':
+             'a98ce800ef0f3bd551b5f7ecec00f7164c4066e1799bdc9838c3f231e2b06622'},
+            {'torchaudio-2.3.0_use-external-sox.patch':
+             'da765487aa7ec83f9ebe603b11365bfe3a70b3492982a6aa504d945b9aa91da8'},
+        ],
+        'runtest': (
+            'pytest test/torchaudio_unittest/'
+            ' -k "not TestProcessPoolExecutor"'  # hang maybe related https://github.com/pytorch/audio/issues/1021
+            '" and not FilterGraphWithCudaAccel"'  # requires FFmpeg with CUDA support
+            '" and not kaldi_io_test"'  # requires kaldi_io
+            '" and not test_dup_hw_acel"'  # requires special render device permissions
+            '" and not test_h264_cuvid"'  # requires special render device permissions
+            '" and not test_hevc_cuvid"'  # requires special render device permissions
+        ),
+        'testinstall': True,
+    }),
+    ('pytorch-ignite', '0.4.13', {
+        'modulename': 'ignite',
+        'source_urls': ['https://github.com/pytorch/ignite/archive'],
+        'patches': ['torch-ignite-0.4.13_dont_destroy_python_path_in_test_launcher.patch'],
+        'checksums': [
+            {'pytorch-ignite-0.4.13.tar.gz': 'bfe4b6f1cd96e78c021a65a0c51350cdb89d6ef5a8b9609638666ca95bae51d7'},
             {'torch-ignite-0.4.13_dont_destroy_python_path_in_test_launcher.patch':
              'fd5dfe99f4c8804d6c57e4d9140d9e556e0724b379f9eaae8aeaf1b7bd058686'},
-            {'torch-ignite-0.5.2_fix-conftest-options.patch':
-             '6347914a76f21a5134f920f02d3c4dc509c5e2bc52c46e46fe524824a637def0'},
-            {'torch-ignite-0.5.2_fix-pynvml-smi.patch':
-             'a5ddc55eaa2255e5a8643c5974eb1354cc4a6b4a26290bfc2c4d681aa4a5aeda'},
         ],
         'runtest': (
             'pytest'
@@ -100,23 +160,17 @@ exts_list = [
             ' --ignore=tests/ignite/contrib/handlers/test_neptune_logger.py'  # requires neptune
             ' --ignore=tests/ignite/contrib/handlers/test_polyaxon_logger.py'  # requires polyaxon
             ' --ignore=tests/ignite/contrib/handlers/test_tensorboard_logger.py'  # requires tensorboardX
+            ' --ignore=tests/ignite/contrib/handlers/test_visdom_logger.py'  # requires visdom
             ' --ignore=tests/ignite/contrib/handlers/test_wandb_logger.py'  # requires wandb
             ' --ignore=tests/ignite/metrics/gan/test_fid.py'  # requires pytorch_fid
             ' --ignore=tests/ignite/metrics/nlp/test_rouge.py'  # requires rouge
-            ' --ignore=tests/ignite/metrics/vision/test_object_detection_map.py'  # requires pycocotools
             ' --ignore=tests/ignite/handlers/test_checkpoint.py'  # fails by comparing tensors on different devices
-            ' --ignore=tests/ignite/handlers/test_clearml_logger.py'  # requires clearml
-            ' --ignore=tests/ignite/handlers/test_mlflow_logger.py'  # requires mlflow
-            ' --ignore=tests/ignite/handlers/test_neptune_logger.py'  # requires neptune
-            ' --ignore=tests/ignite/handlers/test_polyaxon_logger.py'  # requires polyaxon
-            ' --ignore=tests/ignite/handlers/test_tensorboard_logger.py'  # requires tensorboardX
-            ' --ignore=tests/ignite/handlers/test_wandb_logger.py'  # requires wandb
             ' --ignore=tests/ignite/contrib/handlers/test_tqdm_logger.py'  # fragile tests on some platforms
-            ' -k "not test_setup_plx_logging"'  # requires polyaxon
+            ' -k "not test_setup_visdom_logging"'  # requires visdom
+            '" and not test_setup_plx_logging"'  # requires polyaxon
             '" and not test_setup_mlflow_logging"'  # requires mlflow
             '" and not test_setup_clearml_logging"'  # requires clearml
             '" and not test_setup_neptune_logging"'  # requires neptune
-            '" and not test_setup_tb_logging"'  # requires tesorboardX
             '" and not test__setup_ddp_vars_from_slurm_env_bad_configs"'  # fails sometimes
             '" and not test__native_dist_model_create_from_backend_bad_config"'  # fails sometimes
             '" and not test_inception_score"'  # fails sometimes due to connection problem with download.pytorch.org
@@ -138,53 +192,13 @@ exts_list = [
         ),
         'testinstall': True,
     }),
-    ('tensordict', '0.7.2', {
+    ('tensordict', '0.4.0', {
         'source_urls': ['https://github.com/pytorch/%(name)s/archive'],
-        'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
-        'checksums': ['7ae5edfd8f5b7da8bf10ca81a34b7a3013058bd7bfaa32837cd3fd97e7b755c6'],
+        'checksums': ['c6a565cc88d4f8bc1e1f5e6aba23c2c099f08799730c2716fe6b8706d015b7a5'],
     }),
-    ('torchrl', '0.7.2', {
+    ('torchrl', '0.4.0', {
         'source_urls': ['https://github.com/pytorch/rl/archive'],
-        'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
-        'checksums': ['1621b621ee8c73b51dca3e52ee9f7704019c8b3bad70a67bb10f02559f4558ac'],
-    }),
-    # requirements for torchtune
-    ('antlr4-python3-runtime', '4.9.3', {
-        'modulename': 'antlr4',
-        'checksums': ['f224469b4168294902bb1efa80a8bf7855f24c99aef99cbefc1bcd3cce77881b'],
-    }),
-    ('omegaconf', '2.3.0', {
-        'checksums': ['d5d4b6d29955cc50ad50c46dc269bcd92c6e00f5f90d23ab5fee7bfca4ba4cc7'],
-    }),
-    ('blobfile', '3.0.0', {
-        'checksums': ['32ec777414de7bb2a76ca812a838f0d33327ca28ae844a253503cde625cdf2f1'],
-    }),
-    ('kagglehub', '0.3.12', {
-        'checksums': ['45e75854630a30605b794eb786b3757beccbbea1acca71600642f67b60e0d7bf'],
-    }),
-    ('pycryptodomex', '3.21.0', {
-        'modulename': 'Crypto',
-        'checksums': ['222d0bd05381dd25c32dd6065c071ebf084212ab79bab4599ba9e6a3e0009e6c'],
-    }),
-    ('torchao', '0.12.0', {
-        'preinstallopts': "USE_SYSTEM_LIBS=1 ",
-        'source_urls': ['https://github.com/pytorch/ao/archive'],
-        'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
-        'checksums': ['c477d78ca5268187979934d3eb38590758adc5415526b3705a9a85099e40ad21'],
-    }),
-    ('torchdata', '0.11.0', {
-        'preinstallopts': "USE_SYSTEM_LIBS=1 ",
-        'source_urls': ['https://github.com/pytorch/data/archive'],
-        'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
-        'checksums': ['945c53a8587567624aaad2d66204fbae9acb9535696554c53ffeb83320c308b9'],
-        'runtest': False,  # circular test requirements
-    }),
-    ('torchtune', '0.6.1', {
-        'source_urls': ['https://github.com/pytorch/%(name)s/archive'],
-        'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
-        'checksums': ['80a06ba0760741aa91f5f7bfb49ef6bb779c8044409dd7ef116f5420f122214b'],
-        'preinstallopts': """sed -i 's/^dynamic.*/version = "%(version)s"/' pyproject.toml && USE_SYSTEM_LIBS=1 """,
-        'runtest': False,  # circular test requirements
+        'checksums': ['8851a84316f2a1d61d23ec753c90b545bc6479890ec65c5278987ae7c8a2ceec'],
     }),
 ]
 
Diff against PyTorch-bundle-2.1.2-foss-2023a.eb

easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb

diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.3.0-foss-2023b-CUDA-12.4.0.eb
index 7fed5f0285..853b4b5a8c 100644
--- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb
+++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.3.0-foss-2023b-CUDA-12.4.0.eb
@@ -1,62 +1,67 @@
 easyblock = 'PythonBundle'
 
 name = 'PyTorch-bundle'
-version = '2.1.2'
+version = '2.3.0'
+versionsuffix = '-CUDA-%(cudaver)s'
 
 homepage = 'https://pytorch.org/'
 description = """PyTorch with compatible versions of official Torch extensions."""
 
-toolchain = {'name': 'foss', 'version': '2023a'}
+toolchain = {'name': 'foss', 'version': '2023b'}
 
 builddependencies = [
-    ('CMake', '3.26.3'),
-    ('RE2', '2023-08-01'),  # for torchtext
+    ('CMake', '3.27.6'),
+    ('RE2', '2024-03-01'),  # for torchtext
     ('parameterized', '0.9.0'),  # for torchtext and torchaudio tests
-    ('scikit-learn', '1.3.1'),  # for torchaudio and pytorch-ignite tests
-    ('scikit-image', '0.22.0'),  # for pytorch-ignite tests
-    ('dill', '0.3.7'),  # for pytorch-ignite tests
-    ('matplotlib', '3.7.2'),  # for pytorch-ignite tests
-    ('librosa', '0.10.1'),  # for torchaudio tests
+    ('scikit-learn', '1.4.0'),  # for torchaudio and pytorch-ignite tests
+    ('scikit-image', '0.24.0'),  # for pytorch-ignite tests
+    ('dill', '0.3.8'),  # for pytorch-ignite tests
+    ('matplotlib', '3.8.2'),  # for pytorch-ignite tests
+    ('librosa', '0.10.2.post1'),  # for torchaudio tests
     ('NLTK', '3.8.1'),  # for torchtext tests
-    ('Scalene', '1.5.26'),  # for pynvml in ignite tests
+    ('Scalene', '1.5.35'),  # for pynvml in ignite tests
 ]
 
 dependencies = [
-    ('Python', '3.11.3'),
-    ('PyTorch', version),
-    ('Pillow-SIMD', '9.5.0'),  # for torchvision
-    ('libjpeg-turbo', '2.1.5.1'),  # for torchvision
-    ('SentencePiece', '0.2.0'),  # for torchtext
-    ('tqdm', '4.66.1'),  # for torchtext
-    ('double-conversion', '3.3.0'),  # for torchtext
-    ('utf8proc', '2.8.0'),  # for torchtext
-    ('tensorboard', '2.15.1'),  # for torch-tb-profiler
+    ('CUDA', '12.4.0', '', SYSTEM),
+    ('Python', '3.11.5'),
+    ('PyTorch', version, versionsuffix),
+    ('Pillow-SIMD', '10.4.0'),  # for torchvision
+    ('libjpeg-turbo', '3.0.1'),  # for torchvision
     ('FFmpeg', '6.0'),  # for torchvision and torchaudio
     ('SoX', '14.4.2'),  # for torchaudio
+    ('SentencePiece', '0.2.0'),  # for torchtext
+    ('tqdm', '4.66.2'),  # for torchtext
+    ('double-conversion', '3.3.0'),  # for torchtext
+    ('utf8proc', '2.9.0'),  # for torchtext
+    ('tensorboard', '2.18.0'),  # for torch-tb-profiler
+    ('h5py', '3.11.0'),  # for tensordict
 ]
 
 local_preinstall_opts = ' '.join([
     'USE_SYSTEM_LIBS=1',
     'USE_OPENMP=1',
-    'USE_CUDA=0',
+    'USE_CUDA=1', 'TORCH_CUDA_ARCH_LIST="%(cuda_cc_semicolon_sep)s"',
+    'USE_CUDNN=1',
     'USE_FFMPEG=1', 'FFMPEG_ROOT="$EBROOTFFMPEG"',
     'CMAKE_BUILD_PARALLEL_LEVEL=%(parallel)s',
-])
+]) + ' '
 
 exts_default_options = {
     'preinstallopts': local_preinstall_opts,
     'prebuildopts': local_preinstall_opts,
+    'sources': [{'download_filename': V_VERSION_TAR_GZ, 'filename': SOURCE_TAR_GZ}],  # Most are git downloads
 }
 
 # Check with https://pytorch.org/audio/stable/installation.html#compatibility-matrix
 exts_list = [
     ('portalocker', '2.8.2', {
+        'sources': [SOURCE_TAR_GZ],
         'checksums': ['2b035aa7828e46c58e9b31390ee1f169b98e1066ab10b9a6a861fe7e25ee4f33'],
     }),
-    ('torchdata', '0.7.1', {
+    ('torchdata', '0.8.0', {
         'source_urls': ['https://github.com/pytorch/data/archive'],
-        'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
-        'checksums': ['ef9bbdcee759b53c3c9d99e76eb0a66da33d36bfb7f859a25a9b5e737a51fa23'],
+        'checksums': ['d5d27b264e79d7d00ad4998f14d097b770332d979672dceb6d038caf204f1208'],
         'runtest': False,  # circular test requirements
     }),
     ('torchtext', '0.16.2', {
@@ -65,7 +70,6 @@ exts_list = [
             'torchtext-0.16.2_download-to-project-root.patch',
         ],
         'source_urls': ['https://github.com/pytorch/text/archive'],
-        'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
         'checksums': [
             {'torchtext-0.16.2.tar.gz': '6574b012804f65220329a2ad34a95c18e4df0d4cff2f862fb7862d57b374b013'},
             {'torchtext-0.14.1_use-system-libs.patch':
@@ -79,10 +83,13 @@ exts_list = [
             '" and not test_get_tokenizer_moses"'  # requires sacremoses
             '" and not test_get_tokenizer_spacy"'  # requires spaCy
             '" and not test_download_charngram_vectors"'  # requires internet access and required host may fail
+            '" and not test_download_glove_vectors"'  # requires internet access and required host may fail
+            '" and not test_vectors_get_vecs"'  # requires internet access and required host may fail
         ),
         'testinstall': True,
     }),
     ('pytest-mock', '3.11.1', {  # for torchvision tests
+        'sources': [SOURCE_TAR_GZ],
         'checksums': ['7f6b125602ac6d743e523ae0bfa71e1a697a2f5534064528c6ff84c2f7c2fc7f'],
     }),
     ('torchvision', '0.16.2', {
@@ -92,7 +99,6 @@ exts_list = [
             'torchvision-0.16.2_quantized_tol.patch',
         ],
         'source_urls': ['https://github.com/pytorch/vision/archive'],
-        'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
         'checksums': [
             {'torchvision-0.16.2.tar.gz': '8c1f2951e98d8ada6e5a468f179af4be9f56d2ebc3ab057af873da61669806d7'},
             {'torchvision-0.16.2_ffmpeg-6.0-fix.patch':
@@ -104,27 +110,27 @@ exts_list = [
             'pytest'
             ' -m "not xfail"'  # don't run tests that are expected that they might fail
             ' -k "not test_frame_reading_mem_vs_file"'  # this one hangs
-            '" and not test_antialias_default_warning"'  # flaky test which is removed in later versions
         ),
         'testinstall': True,
     }),
     ('torchaudio', version, {
-        'installopts': "--no-use-pep517 -v",
         'patches': [
-            'torchaudio-2.1.2_use-external-sox.patch',
             'torchaudio-2.1.2_transform_test_tol.patch',
+            'torchaudio-2.3.0_remove-librosa-version-check.patch',
+            'torchaudio-2.3.0_use-external-sox.patch',
         ],
         'preinstallopts': ('unset BUILD_VERSION && '
                            'rm -r third_party/{sox,ffmpeg/multi}; '  # runs twice when testinstall
                            + local_preinstall_opts),
         'source_urls': ['https://github.com/pytorch/audio/archive'],
-        'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
         'checksums': [
-            {'torchaudio-2.1.2.tar.gz': '82c2745a73172b495327ec36c6970ad5ad9d5d2ac44feeaea2617152f9393bf7'},
-            {'torchaudio-2.1.2_use-external-sox.patch':
-             'a93ebe0b4e7b10b0a264a09d5c49375674e24666258820738ede07e5b457010c'},
+            {'torchaudio-2.3.0.tar.gz': '83f6351754ed57cb625b1322bab8e12c9140213a9b79626cc5bf7dfd122f869d'},
             {'torchaudio-2.1.2_transform_test_tol.patch':
              '57f315c60db70ed2bd9711bcf6f7c7c24dac8c2f04e00488996eb2dc507bdfd2'},
+            {'torchaudio-2.3.0_remove-librosa-version-check.patch':
+             'a98ce800ef0f3bd551b5f7ecec00f7164c4066e1799bdc9838c3f231e2b06622'},
+            {'torchaudio-2.3.0_use-external-sox.patch':
+             'da765487aa7ec83f9ebe603b11365bfe3a70b3492982a6aa504d945b9aa91da8'},
         ],
         'runtest': (
             'pytest test/torchaudio_unittest/'
@@ -140,7 +146,6 @@ exts_list = [
     ('pytorch-ignite', '0.4.13', {
         'modulename': 'ignite',
         'source_urls': ['https://github.com/pytorch/ignite/archive'],
-        'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
         'patches': ['torch-ignite-0.4.13_dont_destroy_python_path_in_test_launcher.patch'],
         'checksums': [
             {'pytorch-ignite-0.4.13.tar.gz': 'bfe4b6f1cd96e78c021a65a0c51350cdb89d6ef5a8b9609638666ca95bae51d7'},
@@ -187,15 +192,13 @@ exts_list = [
         ),
         'testinstall': True,
     }),
-    ('tensordict', '0.3.0', {
+    ('tensordict', '0.4.0', {
         'source_urls': ['https://github.com/pytorch/%(name)s/archive'],
-        'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
-        'checksums': ['f0d95e8f055c3f82838fdbeb03c6a907f8786c1046791db7e39cdcd9cb8f1889'],
+        'checksums': ['c6a565cc88d4f8bc1e1f5e6aba23c2c099f08799730c2716fe6b8706d015b7a5'],
     }),
-    ('torchrl', '0.3.0', {
+    ('torchrl', '0.4.0', {
         'source_urls': ['https://github.com/pytorch/rl/archive'],
-        'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
-        'checksums': ['3ddb63dd33590c37f8edc9784cee718c20e2ced0c6bf0135600eb2dda7014814'],
+        'checksums': ['8851a84316f2a1d61d23ec753c90b545bc6479890ec65c5278987ae7c8a2ceec'],
     }),
 ]
 
Diff against PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb

easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb

diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.3.0-foss-2023b-CUDA-12.4.0.eb
index 257b0c90e2..853b4b5a8c 100644
--- a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb
+++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.3.0-foss-2023b-CUDA-12.4.0.eb
@@ -1,40 +1,41 @@
 easyblock = 'PythonBundle'
 
 name = 'PyTorch-bundle'
-version = '2.1.2'
+version = '2.3.0'
 versionsuffix = '-CUDA-%(cudaver)s'
 
 homepage = 'https://pytorch.org/'
 description = """PyTorch with compatible versions of official Torch extensions."""
 
-toolchain = {'name': 'foss', 'version': '2023a'}
+toolchain = {'name': 'foss', 'version': '2023b'}
 
 builddependencies = [
-    ('CMake', '3.26.3'),
-    ('RE2', '2023-08-01'),  # for torchtext
+    ('CMake', '3.27.6'),
+    ('RE2', '2024-03-01'),  # for torchtext
     ('parameterized', '0.9.0'),  # for torchtext and torchaudio tests
-    ('scikit-learn', '1.3.1'),  # for torchaudio and pytorch-ignite tests
-    ('scikit-image', '0.22.0'),  # for pytorch-ignite tests
-    ('dill', '0.3.7'),  # for pytorch-ignite tests
-    ('matplotlib', '3.7.2'),  # for pytorch-ignite tests
-    ('librosa', '0.10.1'),  # for torchaudio tests
+    ('scikit-learn', '1.4.0'),  # for torchaudio and pytorch-ignite tests
+    ('scikit-image', '0.24.0'),  # for pytorch-ignite tests
+    ('dill', '0.3.8'),  # for pytorch-ignite tests
+    ('matplotlib', '3.8.2'),  # for pytorch-ignite tests
+    ('librosa', '0.10.2.post1'),  # for torchaudio tests
     ('NLTK', '3.8.1'),  # for torchtext tests
-    ('Scalene', '1.5.26'),  # for pynvml in ignite tests
+    ('Scalene', '1.5.35'),  # for pynvml in ignite tests
 ]
 
 dependencies = [
-    ('CUDA', '12.1.1', '', SYSTEM),
-    ('Python', '3.11.3'),
+    ('CUDA', '12.4.0', '', SYSTEM),
+    ('Python', '3.11.5'),
     ('PyTorch', version, versionsuffix),
-    ('Pillow-SIMD', '9.5.0'),  # for torchvision
-    ('libjpeg-turbo', '2.1.5.1'),  # for torchvision
-    ('SentencePiece', '0.2.0'),  # for torchtext
-    ('tqdm', '4.66.1'),  # for torchtext
-    ('double-conversion', '3.3.0'),  # for torchtext
-    ('utf8proc', '2.8.0'),  # for torchtext
-    ('tensorboard', '2.15.1'),  # for torch-tb-profiler
+    ('Pillow-SIMD', '10.4.0'),  # for torchvision
+    ('libjpeg-turbo', '3.0.1'),  # for torchvision
     ('FFmpeg', '6.0'),  # for torchvision and torchaudio
     ('SoX', '14.4.2'),  # for torchaudio
+    ('SentencePiece', '0.2.0'),  # for torchtext
+    ('tqdm', '4.66.2'),  # for torchtext
+    ('double-conversion', '3.3.0'),  # for torchtext
+    ('utf8proc', '2.9.0'),  # for torchtext
+    ('tensorboard', '2.18.0'),  # for torch-tb-profiler
+    ('h5py', '3.11.0'),  # for tensordict
 ]
 
 local_preinstall_opts = ' '.join([
@@ -49,17 +50,18 @@ local_preinstall_opts = ' '.join([
 exts_default_options = {
     'preinstallopts': local_preinstall_opts,
     'prebuildopts': local_preinstall_opts,
+    'sources': [{'download_filename': V_VERSION_TAR_GZ, 'filename': SOURCE_TAR_GZ}],  # Most are git downloads
 }
 
 # Check with https://pytorch.org/audio/stable/installation.html#compatibility-matrix
 exts_list = [
     ('portalocker', '2.8.2', {
+        'sources': [SOURCE_TAR_GZ],
         'checksums': ['2b035aa7828e46c58e9b31390ee1f169b98e1066ab10b9a6a861fe7e25ee4f33'],
     }),
-    ('torchdata', '0.7.1', {
+    ('torchdata', '0.8.0', {
         'source_urls': ['https://github.com/pytorch/data/archive'],
-        'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
-        'checksums': ['ef9bbdcee759b53c3c9d99e76eb0a66da33d36bfb7f859a25a9b5e737a51fa23'],
+        'checksums': ['d5d27b264e79d7d00ad4998f14d097b770332d979672dceb6d038caf204f1208'],
         'runtest': False,  # circular test requirements
     }),
     ('torchtext', '0.16.2', {
@@ -68,7 +70,6 @@ exts_list = [
             'torchtext-0.16.2_download-to-project-root.patch',
         ],
         'source_urls': ['https://github.com/pytorch/text/archive'],
-        'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
         'checksums': [
             {'torchtext-0.16.2.tar.gz': '6574b012804f65220329a2ad34a95c18e4df0d4cff2f862fb7862d57b374b013'},
             {'torchtext-0.14.1_use-system-libs.patch':
@@ -88,6 +89,7 @@ exts_list = [
         'testinstall': True,
     }),
     ('pytest-mock', '3.11.1', {  # for torchvision tests
+        'sources': [SOURCE_TAR_GZ],
         'checksums': ['7f6b125602ac6d743e523ae0bfa71e1a697a2f5534064528c6ff84c2f7c2fc7f'],
     }),
     ('torchvision', '0.16.2', {
@@ -97,7 +99,6 @@ exts_list = [
             'torchvision-0.16.2_quantized_tol.patch',
         ],
         'source_urls': ['https://github.com/pytorch/vision/archive'],
-        'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
         'checksums': [
             {'torchvision-0.16.2.tar.gz': '8c1f2951e98d8ada6e5a468f179af4be9f56d2ebc3ab057af873da61669806d7'},
             {'torchvision-0.16.2_ffmpeg-6.0-fix.patch':
@@ -113,22 +114,23 @@ exts_list = [
         'testinstall': True,
     }),
     ('torchaudio', version, {
-        'installopts': "--no-use-pep517 -v",
         'patches': [
-            'torchaudio-2.1.2_use-external-sox.patch',
             'torchaudio-2.1.2_transform_test_tol.patch',
+            'torchaudio-2.3.0_remove-librosa-version-check.patch',
+            'torchaudio-2.3.0_use-external-sox.patch',
         ],
         'preinstallopts': ('unset BUILD_VERSION && '
                            'rm -r third_party/{sox,ffmpeg/multi}; '  # runs twice when testinstall
                            + local_preinstall_opts),
         'source_urls': ['https://github.com/pytorch/audio/archive'],
-        'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
         'checksums': [
-            {'torchaudio-2.1.2.tar.gz': '82c2745a73172b495327ec36c6970ad5ad9d5d2ac44feeaea2617152f9393bf7'},
-            {'torchaudio-2.1.2_use-external-sox.patch':
-             'a93ebe0b4e7b10b0a264a09d5c49375674e24666258820738ede07e5b457010c'},
+            {'torchaudio-2.3.0.tar.gz': '83f6351754ed57cb625b1322bab8e12c9140213a9b79626cc5bf7dfd122f869d'},
             {'torchaudio-2.1.2_transform_test_tol.patch':
              '57f315c60db70ed2bd9711bcf6f7c7c24dac8c2f04e00488996eb2dc507bdfd2'},
+            {'torchaudio-2.3.0_remove-librosa-version-check.patch':
+             'a98ce800ef0f3bd551b5f7ecec00f7164c4066e1799bdc9838c3f231e2b06622'},
+            {'torchaudio-2.3.0_use-external-sox.patch':
+             'da765487aa7ec83f9ebe603b11365bfe3a70b3492982a6aa504d945b9aa91da8'},
         ],
         'runtest': (
             'pytest test/torchaudio_unittest/'
@@ -144,7 +146,6 @@ exts_list = [
     ('pytorch-ignite', '0.4.13', {
         'modulename': 'ignite',
         'source_urls': ['https://github.com/pytorch/ignite/archive'],
-        'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
         'patches': ['torch-ignite-0.4.13_dont_destroy_python_path_in_test_launcher.patch'],
         'checksums': [
             {'pytorch-ignite-0.4.13.tar.gz': 'bfe4b6f1cd96e78c021a65a0c51350cdb89d6ef5a8b9609638666ca95bae51d7'},
@@ -191,15 +192,13 @@ exts_list = [
         ),
         'testinstall': True,
     }),
-    ('tensordict', '0.3.0', {
+    ('tensordict', '0.4.0', {
         'source_urls': ['https://github.com/pytorch/%(name)s/archive'],
-        'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
-        'checksums': ['f0d95e8f055c3f82838fdbeb03c6a907f8786c1046791db7e39cdcd9cb8f1889'],
+        'checksums': ['c6a565cc88d4f8bc1e1f5e6aba23c2c099f08799730c2716fe6b8706d015b7a5'],
     }),
-    ('torchrl', '0.3.0', {
+    ('torchrl', '0.4.0', {
         'source_urls': ['https://github.com/pytorch/rl/archive'],
-        'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
-        'checksums': ['3ddb63dd33590c37f8edc9784cee718c20e2ced0c6bf0135600eb2dda7014814'],
+        'checksums': ['8851a84316f2a1d61d23ec753c90b545bc6479890ec65c5278987ae7c8a2ceec'],
     }),
 ]
 

@Flamefire Flamefire marked this pull request as draft January 13, 2026 14:38
@Flamefire Flamefire marked this pull request as ready for review January 13, 2026 17:01
@Flamefire Flamefire force-pushed the 20260113153816_new_pr_PyTorch-bundle230 branch from 95a7829 to bdb9dac Compare January 15, 2026 08:31
@Flamefire
Copy link
Contributor Author

Test report by @Flamefire
FAILED
Build succeeded for 25 out of 26 (total: 5 hours 21 mins 43 secs) (1 easyconfigs in total)
c103 - Linux Rocky Linux 9.6, x86_64, AMD EPYC 9334 32-Core Processor (zen4), 4 x NVIDIA NVIDIA H100, 580.65.06, Python 3.9.21
See https://gist.github.com/Flamefire/ae84688ccb54c955deb5b73d0c404ceb for a full test report.

@Flamefire
Copy link
Contributor Author

Test report by @Flamefire
FAILED
Build succeeded for 0 out of 1 (total: 5 hours 17 mins 48 secs) (1 easyconfigs in total)
n1026.barnard.hpc.tu-dresden.de - Linux RHEL 9.6, x86_64, Intel(R) Xeon(R) Platinum 8470 (sapphirerapids), Python 3.9.21
See https://gist.github.com/Flamefire/cb441faf7fe75942a405bddb5857d94f for a full test report.

@Flamefire
Copy link
Contributor Author

Test report by @Flamefire
FAILED
Build succeeded for 11 out of 89 (total: 6 hours 33 mins 6 secs) (1 easyconfigs in total)
c77 - Linux Rocky Linux 9.6, x86_64, AMD EPYC 9334 32-Core Processor (zen4), 4 x NVIDIA NVIDIA H100, 580.65.06, Python 3.9.21
See https://gist.github.com/Flamefire/b532c20bd14803be38bf6203e853e3b1 for a full test report.

@Flamefire
Copy link
Contributor Author

Test report by @Flamefire
SUCCESS
Build succeeded for 1 out of 1 (total: 13 hours 38 mins 4 secs) (1 easyconfigs in total)
i8030 - Linux Rocky Linux 9.6, x86_64, AMD EPYC 7352 24-Core Processor (zen2), 8 x NVIDIA NVIDIA A100-SXM4-40GB, 580.65.06, Python 3.9.21
See https://gist.github.com/Flamefire/91bd8135400e1f2a4f7ff7159025cf26 for a full test report.

@Flamefire
Copy link
Contributor Author

Test report by @Flamefire
SUCCESS
Build succeeded for 1 out of 1 (total: 6 hours 27 mins 8 secs) (1 easyconfigs in total)
n1245.barnard.hpc.tu-dresden.de - Linux RHEL 9.6, x86_64, Intel(R) Xeon(R) Platinum 8470 (sapphirerapids), Python 3.9.21
See https://gist.github.com/Flamefire/5cf552ebc8bf6687a5d32164569981cc for a full test report.

@Flamefire
Copy link
Contributor Author

Test report by @Flamefire
SUCCESS
Build succeeded for 1 out of 1 (total: 4 hours 10 mins 23 secs) (1 easyconfigs in total)
c24 - Linux Rocky Linux 9.6, x86_64, AMD EPYC 9334 32-Core Processor (zen4), 4 x NVIDIA NVIDIA H100, 580.65.06, Python 3.9.21
See https://gist.github.com/Flamefire/fbcd564e8782c1e83b76af8aa7923eb2 for a full test report.

@Flamefire
Copy link
Contributor Author

Test report by @Flamefire
SUCCESS
Build succeeded for 1 out of 1 (total: 8 hours 1 min 54 secs) (1 easyconfigs in total)
c102 - Linux Rocky Linux 9.6, x86_64, AMD EPYC 9334 32-Core Processor (zen4), 4 x NVIDIA NVIDIA H100, 580.65.06, Python 3.9.21
See https://gist.github.com/Flamefire/3462849749a4cafb8d2b5bb5988856d2 for a full test report.

@Flamefire
Copy link
Contributor Author

Test report by @Flamefire
SUCCESS
Build succeeded for 1 out of 1 (total: 14 hours 25 mins 57 secs) (1 easyconfigs in total)
i8021 - Linux Rocky Linux 9.6, x86_64, AMD EPYC 7352 24-Core Processor (zen2), 8 x NVIDIA NVIDIA A100-SXM4-40GB, 580.65.06, Python 3.9.21
See https://gist.github.com/Flamefire/6a1e8639407ac384aac61f89798dce87 for a full test report.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant