From d4c2a91885265980701a7c10755a51d7aee82ced Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Fri, 18 Jul 2025 14:28:19 +0200 Subject: [PATCH 1/6] adding easyconfigs: bitsandbytes-0.46.1-foss-2024a-CUDA-12.6.0.eb, bitsandbytes-0.46.1-foss-2024a.eb, PyTorch-Lightning-2.5.2-foss-2024a.eb, PyTorch-Lightning-2.5.2-foss-2024a-CUDA-12.6.0.eb --- ...sandbytes-0.46.1-foss-2024a-CUDA-12.6.0.eb | 54 +++++++++++++++++++ .../bitsandbytes-0.46.1-foss-2024a.eb | 52 ++++++++++++++++++ ...-Lightning-2.5.2-foss-2024a-CUDA-12.6.0.eb | 52 ++++++++++++++++++ .../PyTorch-Lightning-2.5.2-foss-2024a.eb | 40 ++++++++++++++ 4 files changed, 198 insertions(+) create mode 100644 easybuild/easyconfigs/b/bitsandbytes/bitsandbytes-0.46.1-foss-2024a-CUDA-12.6.0.eb create mode 100644 easybuild/easyconfigs/b/bitsandbytes/bitsandbytes-0.46.1-foss-2024a.eb create mode 100644 easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.5.2-foss-2024a-CUDA-12.6.0.eb create mode 100644 easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.5.2-foss-2024a.eb diff --git a/easybuild/easyconfigs/b/bitsandbytes/bitsandbytes-0.46.1-foss-2024a-CUDA-12.6.0.eb b/easybuild/easyconfigs/b/bitsandbytes/bitsandbytes-0.46.1-foss-2024a-CUDA-12.6.0.eb new file mode 100644 index 000000000000..57bac1a0c72d --- /dev/null +++ b/easybuild/easyconfigs/b/bitsandbytes/bitsandbytes-0.46.1-foss-2024a-CUDA-12.6.0.eb @@ -0,0 +1,54 @@ +easyblock = 'CMakeMake' + +name = 'bitsandbytes' +version = '0.46.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://huggingface.co/docs/bitsandbytes/main/en/index' +description = "bitsandbytes enables accessible large language models via k-bit quantization for PyTorch." +github_account = 'bitsandbytes-foundation' + +toolchain = {'name': 'foss', 'version': '2024a'} + +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['8326835082ad5590e4eab2cc51129bf55dd1c16e3d3038bc23431371c24b47da'] + +builddependencies = [ + ('CMake', '3.29.3'), + ('pkgconf', '2.2.0'), + ('scikit-build-core', '0.10.6'), +] + +dependencies = [ + ('CUDA', '12.6.0', '', SYSTEM), + ('Python', '3.12.3'), + ('PyTorch', '2.6.0'), + ('SciPy-bundle', '2024.05'), +] + +configopts = "-DCOMPUTE_BACKEND=cuda" + +# skip install step in CMakeMake, but we still need install step in extension +install_cmd = 'exit' + +exts_defaultclass = 'PythonPackage' +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/%(github_account)s/%(namelower)s/archive'], + 'sources': ['%(version)s.tar.gz'], + 'start_dir': '%(builddir)s/bitsandbytes-%(version)s/', + 'checksums': ['8326835082ad5590e4eab2cc51129bf55dd1c16e3d3038bc23431371c24b47da'], + }), +] + +sanity_check_paths = { + 'files': [f'lib/python%(pyshortver)s/site-packages/bitsandbytes/libbitsandbytes_cpu.{SHLIB_EXT}'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "python -c 'import bitsandbytes'", +] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/b/bitsandbytes/bitsandbytes-0.46.1-foss-2024a.eb b/easybuild/easyconfigs/b/bitsandbytes/bitsandbytes-0.46.1-foss-2024a.eb new file mode 100644 index 000000000000..869255303094 --- /dev/null +++ b/easybuild/easyconfigs/b/bitsandbytes/bitsandbytes-0.46.1-foss-2024a.eb @@ -0,0 +1,52 @@ +easyblock = 'CMakeMake' + +name = 'bitsandbytes' +version = '0.46.1' + +homepage = 'https://huggingface.co/docs/bitsandbytes/main/en/index' +description = "bitsandbytes enables accessible large language models via k-bit quantization for PyTorch." +github_account = 'bitsandbytes-foundation' + +toolchain = {'name': 'foss', 'version': '2024a'} + +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['8326835082ad5590e4eab2cc51129bf55dd1c16e3d3038bc23431371c24b47da'] + +builddependencies = [ + ('CMake', '3.29.3'), + ('pkgconf', '2.2.0'), + ('scikit-build-core', '0.10.6'), +] + +dependencies = [ + ('Python', '3.12.3'), + ('PyTorch', '2.6.0'), + ('SciPy-bundle', '2024.05'), +] + +configopts = "-DCOMPUTE_BACKEND=cpu" + +# skip install step in CMakeMake, but we still need install step in extension +install_cmd = 'exit' + +exts_defaultclass = 'PythonPackage' +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/%(github_account)s/%(namelower)s/archive'], + 'sources': ['%(version)s.tar.gz'], + 'start_dir': '%(builddir)s/bitsandbytes-%(version)s/', + 'checksums': ['8326835082ad5590e4eab2cc51129bf55dd1c16e3d3038bc23431371c24b47da'], + }), +] + +sanity_check_paths = { + 'files': [f'lib/python%(pyshortver)s/site-packages/bitsandbytes/libbitsandbytes_cpu.{SHLIB_EXT}'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "python -c 'import bitsandbytes'", +] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.5.2-foss-2024a-CUDA-12.6.0.eb b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.5.2-foss-2024a-CUDA-12.6.0.eb new file mode 100644 index 000000000000..0a48101b3b38 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.5.2-foss-2024a-CUDA-12.6.0.eb @@ -0,0 +1,52 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-Lightning' +version = '2.5.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://pytorchlightning.ai' +description = "PyTorch Lightning is the lightweight PyTorch wrapper for ML researchers." + +toolchain = {'name': 'foss', 'version': '2024a'} + +builddependencies = [ + # ('flit', '3.9.0'), + # ('poetry', '1.8.3'), +] + +dependencies = [ + ('Python', '3.12.3'), + ('CUDA', '12.6.0', '', SYSTEM), + # dependencies from requirements/pytorch/base.txt + ('PyTorch', '2.6.0', versionsuffix), + ('tqdm', '4.66.5'), + ('aiohttp', '3.10.10'), + ('typing-extensions', '4.11.0'), + # optional dependencies from requirements/pytorch/extra.txt + ('bitsandbytes', '0.46.1', versionsuffix), + ('tensorboardX', '2.6.4'), + ('matplotlib', '3.9.2'), + ('Hydra', '1.3.2'), +] + +# dependencies from requirements/pytorch/base.txt +exts_list = [ + ('lightning-utilities', '0.14.3', { + 'source_tmpl': 'lightning_utilities-%(version)s.tar.gz', + 'checksums': ['37e2f83f273890052955a44054382c211a303012ee577619efbaa5df9e65e9f5'], + }), + ('torchmetrics', '1.7.3', { + 'checksums': ['08450a19cdb67ba1608aac0b213e5dc73033e11b60ad4719696ebcede591621e'], + }), + ('pytorch-lightning', version, { + 'source_tmpl': 'pytorch_lightning-%(version)s.tar.gz', + 'checksums': ['f817087d611be8d43b777dd4e543d72703e235510936677a13e6c29f7fd790e3'], + }), +] + +# sanity_check_paths = { +# 'files': [], +# 'dirs': ['bin', 'lib/python%(pyshortver)s/site-packages/dateutil-stubs'], +# } + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.5.2-foss-2024a.eb b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.5.2-foss-2024a.eb new file mode 100644 index 000000000000..6c5ef354db6e --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.5.2-foss-2024a.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-Lightning' +version = '2.5.2' + +homepage = 'https://pytorchlightning.ai' +description = "PyTorch Lightning is the lightweight PyTorch wrapper for ML researchers." + +toolchain = {'name': 'foss', 'version': '2024a'} + +dependencies = [ + ('Python', '3.12.3'), + # dependencies from requirements/pytorch/base.txt + ('PyTorch', '2.6.0'), + ('tqdm', '4.66.5'), + ('aiohttp', '3.10.10'), + ('typing-extensions', '4.11.0'), + # optional dependencies from requirements/pytorch/extra.txt + ('bitsandbytes', '0.46.1'), + ('tensorboardX', '2.6.4'), + ('matplotlib', '3.9.2'), + ('Hydra', '1.3.2'), +] + +# remaining dependencies from requirements/pytorch/base.txt +exts_list = [ + ('lightning-utilities', '0.14.3', { + 'source_tmpl': 'lightning_utilities-%(version)s.tar.gz', + 'checksums': ['37e2f83f273890052955a44054382c211a303012ee577619efbaa5df9e65e9f5'], + }), + ('torchmetrics', '1.7.3', { + 'checksums': ['08450a19cdb67ba1608aac0b213e5dc73033e11b60ad4719696ebcede591621e'], + }), + ('pytorch-lightning', version, { + 'source_tmpl': 'pytorch_lightning-%(version)s.tar.gz', + 'checksums': ['f817087d611be8d43b777dd4e543d72703e235510936677a13e6c29f7fd790e3'], + }), +] + +moduleclass = 'ai' From 5197b3aa3c4e733f58c33eefceae0c1614f552b3 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Fri, 18 Jul 2025 14:51:15 +0200 Subject: [PATCH 2/6] fix pytorch dependency in bitsandbytes-0.46.1-foss-2024a-CUDA-12.6.0.eb --- .../bitsandbytes/bitsandbytes-0.46.1-foss-2024a-CUDA-12.6.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/b/bitsandbytes/bitsandbytes-0.46.1-foss-2024a-CUDA-12.6.0.eb b/easybuild/easyconfigs/b/bitsandbytes/bitsandbytes-0.46.1-foss-2024a-CUDA-12.6.0.eb index 57bac1a0c72d..730c34cd19a8 100644 --- a/easybuild/easyconfigs/b/bitsandbytes/bitsandbytes-0.46.1-foss-2024a-CUDA-12.6.0.eb +++ b/easybuild/easyconfigs/b/bitsandbytes/bitsandbytes-0.46.1-foss-2024a-CUDA-12.6.0.eb @@ -23,7 +23,7 @@ builddependencies = [ dependencies = [ ('CUDA', '12.6.0', '', SYSTEM), ('Python', '3.12.3'), - ('PyTorch', '2.6.0'), + ('PyTorch', '2.6.0', versionsuffix), ('SciPy-bundle', '2024.05'), ] From 7decd7c3614d1e25b32aa78a4f0cc75595cfa1a4 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Fri, 18 Jul 2025 14:52:10 +0200 Subject: [PATCH 3/6] remove leftover comments in PyTorch-Lightning-2.5.2-foss-2024a-CUDA-12.6.0.eb --- ...PyTorch-Lightning-2.5.2-foss-2024a-CUDA-12.6.0.eb | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.5.2-foss-2024a-CUDA-12.6.0.eb b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.5.2-foss-2024a-CUDA-12.6.0.eb index 0a48101b3b38..00363ea4eed5 100644 --- a/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.5.2-foss-2024a-CUDA-12.6.0.eb +++ b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.5.2-foss-2024a-CUDA-12.6.0.eb @@ -9,11 +9,6 @@ description = "PyTorch Lightning is the lightweight PyTorch wrapper for ML resea toolchain = {'name': 'foss', 'version': '2024a'} -builddependencies = [ - # ('flit', '3.9.0'), - # ('poetry', '1.8.3'), -] - dependencies = [ ('Python', '3.12.3'), ('CUDA', '12.6.0', '', SYSTEM), @@ -44,9 +39,4 @@ exts_list = [ }), ] -# sanity_check_paths = { -# 'files': [], -# 'dirs': ['bin', 'lib/python%(pyshortver)s/site-packages/dateutil-stubs'], -# } - -moduleclass = 'lib' +moduleclass = 'ai' From ff6f8f42e560acba28edf83702771da159dedffe Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Sun, 21 Dec 2025 16:16:37 +0100 Subject: [PATCH 4/6] remove easyconfigs: bitsandbytes-0.46.1-foss-2024a-CUDA-12.6.0.eb, PyTorch-Lightning-2.5.2-foss-2024a-CUDA-12.6.0.eb --- ...sandbytes-0.46.1-foss-2024a-CUDA-12.6.0.eb | 54 ------------------- ...-Lightning-2.5.2-foss-2024a-CUDA-12.6.0.eb | 42 --------------- 2 files changed, 96 deletions(-) delete mode 100644 easybuild/easyconfigs/b/bitsandbytes/bitsandbytes-0.46.1-foss-2024a-CUDA-12.6.0.eb delete mode 100644 easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.5.2-foss-2024a-CUDA-12.6.0.eb diff --git a/easybuild/easyconfigs/b/bitsandbytes/bitsandbytes-0.46.1-foss-2024a-CUDA-12.6.0.eb b/easybuild/easyconfigs/b/bitsandbytes/bitsandbytes-0.46.1-foss-2024a-CUDA-12.6.0.eb deleted file mode 100644 index 730c34cd19a8..000000000000 --- a/easybuild/easyconfigs/b/bitsandbytes/bitsandbytes-0.46.1-foss-2024a-CUDA-12.6.0.eb +++ /dev/null @@ -1,54 +0,0 @@ -easyblock = 'CMakeMake' - -name = 'bitsandbytes' -version = '0.46.1' -versionsuffix = '-CUDA-%(cudaver)s' - -homepage = 'https://huggingface.co/docs/bitsandbytes/main/en/index' -description = "bitsandbytes enables accessible large language models via k-bit quantization for PyTorch." -github_account = 'bitsandbytes-foundation' - -toolchain = {'name': 'foss', 'version': '2024a'} - -source_urls = [GITHUB_LOWER_SOURCE] -sources = ['%(version)s.tar.gz'] -checksums = ['8326835082ad5590e4eab2cc51129bf55dd1c16e3d3038bc23431371c24b47da'] - -builddependencies = [ - ('CMake', '3.29.3'), - ('pkgconf', '2.2.0'), - ('scikit-build-core', '0.10.6'), -] - -dependencies = [ - ('CUDA', '12.6.0', '', SYSTEM), - ('Python', '3.12.3'), - ('PyTorch', '2.6.0', versionsuffix), - ('SciPy-bundle', '2024.05'), -] - -configopts = "-DCOMPUTE_BACKEND=cuda" - -# skip install step in CMakeMake, but we still need install step in extension -install_cmd = 'exit' - -exts_defaultclass = 'PythonPackage' -exts_list = [ - (name, version, { - 'source_urls': ['https://github.com/%(github_account)s/%(namelower)s/archive'], - 'sources': ['%(version)s.tar.gz'], - 'start_dir': '%(builddir)s/bitsandbytes-%(version)s/', - 'checksums': ['8326835082ad5590e4eab2cc51129bf55dd1c16e3d3038bc23431371c24b47da'], - }), -] - -sanity_check_paths = { - 'files': [f'lib/python%(pyshortver)s/site-packages/bitsandbytes/libbitsandbytes_cpu.{SHLIB_EXT}'], - 'dirs': ['lib/python%(pyshortver)s/site-packages'], -} - -sanity_check_commands = [ - "python -c 'import bitsandbytes'", -] - -moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.5.2-foss-2024a-CUDA-12.6.0.eb b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.5.2-foss-2024a-CUDA-12.6.0.eb deleted file mode 100644 index 00363ea4eed5..000000000000 --- a/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-2.5.2-foss-2024a-CUDA-12.6.0.eb +++ /dev/null @@ -1,42 +0,0 @@ -easyblock = 'PythonBundle' - -name = 'PyTorch-Lightning' -version = '2.5.2' -versionsuffix = '-CUDA-%(cudaver)s' - -homepage = 'https://pytorchlightning.ai' -description = "PyTorch Lightning is the lightweight PyTorch wrapper for ML researchers." - -toolchain = {'name': 'foss', 'version': '2024a'} - -dependencies = [ - ('Python', '3.12.3'), - ('CUDA', '12.6.0', '', SYSTEM), - # dependencies from requirements/pytorch/base.txt - ('PyTorch', '2.6.0', versionsuffix), - ('tqdm', '4.66.5'), - ('aiohttp', '3.10.10'), - ('typing-extensions', '4.11.0'), - # optional dependencies from requirements/pytorch/extra.txt - ('bitsandbytes', '0.46.1', versionsuffix), - ('tensorboardX', '2.6.4'), - ('matplotlib', '3.9.2'), - ('Hydra', '1.3.2'), -] - -# dependencies from requirements/pytorch/base.txt -exts_list = [ - ('lightning-utilities', '0.14.3', { - 'source_tmpl': 'lightning_utilities-%(version)s.tar.gz', - 'checksums': ['37e2f83f273890052955a44054382c211a303012ee577619efbaa5df9e65e9f5'], - }), - ('torchmetrics', '1.7.3', { - 'checksums': ['08450a19cdb67ba1608aac0b213e5dc73033e11b60ad4719696ebcede591621e'], - }), - ('pytorch-lightning', version, { - 'source_tmpl': 'pytorch_lightning-%(version)s.tar.gz', - 'checksums': ['f817087d611be8d43b777dd4e543d72703e235510936677a13e6c29f7fd790e3'], - }), -] - -moduleclass = 'ai' From 4cbf23e9d93d96a9d26f8c5be48b55d2bf786dfc Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Sun, 21 Dec 2025 16:30:08 +0100 Subject: [PATCH 5/6] fixt python sanity command in bitsandbytes-0.46.1-foss-2024a.eb --- .../b/bitsandbytes/bitsandbytes-0.46.1-foss-2024a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/b/bitsandbytes/bitsandbytes-0.46.1-foss-2024a.eb b/easybuild/easyconfigs/b/bitsandbytes/bitsandbytes-0.46.1-foss-2024a.eb index 869255303094..60f7f4e0ccd2 100644 --- a/easybuild/easyconfigs/b/bitsandbytes/bitsandbytes-0.46.1-foss-2024a.eb +++ b/easybuild/easyconfigs/b/bitsandbytes/bitsandbytes-0.46.1-foss-2024a.eb @@ -46,7 +46,7 @@ sanity_check_paths = { } sanity_check_commands = [ - "python -c 'import bitsandbytes'", + "python -s -c 'import bitsandbytes'", ] moduleclass = 'ai' From 677bc2cc3520d971e2e1421cc805070dd15a8e9f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sun, 4 Jan 2026 18:11:49 +0100 Subject: [PATCH 6/6] avoid using "install_cmd = 'exit'" in bitandbytes easyconfig, use skipsteps instead --- .../b/bitsandbytes/bitsandbytes-0.46.1-foss-2024a.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/b/bitsandbytes/bitsandbytes-0.46.1-foss-2024a.eb b/easybuild/easyconfigs/b/bitsandbytes/bitsandbytes-0.46.1-foss-2024a.eb index 60f7f4e0ccd2..539fe0abdda8 100644 --- a/easybuild/easyconfigs/b/bitsandbytes/bitsandbytes-0.46.1-foss-2024a.eb +++ b/easybuild/easyconfigs/b/bitsandbytes/bitsandbytes-0.46.1-foss-2024a.eb @@ -27,8 +27,8 @@ dependencies = [ configopts = "-DCOMPUTE_BACKEND=cpu" -# skip install step in CMakeMake, but we still need install step in extension -install_cmd = 'exit' +# skip install step in CMakeMake +skipsteps = ['install'] exts_defaultclass = 'PythonPackage' exts_list = [