From e1af5e35bdd88acb37e39a961cde79720ed09ebe Mon Sep 17 00:00:00 2001 From: JarneRenders Date: Wed, 24 Dec 2025 10:33:59 +0100 Subject: [PATCH 1/2] adding easyconfigs: mfai-5.1.1-foss-2024a-CUDA-12.6.0.eb, MONAI-1.4.0-foss-2024a-CUDA-12.6.0.eb --- .../MONAI-1.4.0-foss-2024a-CUDA-12.6.0.eb | 110 ++++++++++++++++++ .../mfai/mfai-5.1.1-foss-2024a-CUDA-12.6.0.eb | 94 +++++++++++++++ 2 files changed, 204 insertions(+) create mode 100644 easybuild/easyconfigs/m/MONAI/MONAI-1.4.0-foss-2024a-CUDA-12.6.0.eb create mode 100644 easybuild/easyconfigs/m/mfai/mfai-5.1.1-foss-2024a-CUDA-12.6.0.eb diff --git a/easybuild/easyconfigs/m/MONAI/MONAI-1.4.0-foss-2024a-CUDA-12.6.0.eb b/easybuild/easyconfigs/m/MONAI/MONAI-1.4.0-foss-2024a-CUDA-12.6.0.eb new file mode 100644 index 00000000000..33028c67669 --- /dev/null +++ b/easybuild/easyconfigs/m/MONAI/MONAI-1.4.0-foss-2024a-CUDA-12.6.0.eb @@ -0,0 +1,110 @@ +easyblock = 'PythonBundle' + +name = 'MONAI' +version = '1.4.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://monai.io/' +description = """ +MONAI is a PyTorch-based, open-source framework for deep learning in healthcare +imaging, part of PyTorch Ecosystem. +""" + +toolchain = {'name': 'foss', 'version': '2024a'} + +github_account = 'Project-MONAI' + +local_pip_extras = "einops,fire,gdown,ignite,scipy,tqdm,itk,jsonschema,lmdb,nibabel,pydicom,ninja,h5py,optuna,pyamg," +local_pip_extras += "openslide,pandas,pillow,psutil,pyyaml,skimage,tensorboard,torchvision,huggingface_hub," +local_pip_extras += "transformers,mlflow,clearml,matplotlib,tensorboardX,tifffile,imagecodecs,onnx,zarr,lpips,pynrrd" + +builddependencies = [ + ('hatchling', '1.24.2'), + ('Ninja', '1.12.1'), +] + +dependencies = [ + ('CUDA', '12.6.0', '', SYSTEM), + ('Python', '3.12.3'), + ('SciPy-bundle', '2024.05'), + ('PyTorch', '2.6.0', versionsuffix), + ('einops', '0.8.1'), + ('BeautifulSoup', '4.12.3'), + ('tqdm', '4.66.5'), + ('ITK', '5.4.4'), + ('pydicom', '3.0.1'), + ('NiBabel', '5.3.2'), + ('openslide-python', '1.4.2'), + ('Pillow', '10.4.0'), + ('PyYAML', '6.0.2'), + ('scikit-image', '0.25.0'), + ('tensorboard', '2.18.0'), + ('torchvision', '0.21.0', versionsuffix), + ('Transformers', '4.55.0'), + ('MLflow', '2.22.4'), + ('matplotlib', '3.9.2'), + ('clearml', '2.0.2'), + ('tensorboardX', '2.6.4'), + ('imagecodecs', '2024.12.30'), + ('h5py', '3.12.1'), + ('Optuna', '4.1.0'), + ('ONNX', '1.20.0'), + ('zarr', '2.18.4'), + ('PyAMG', '5.3.0'), +] + +exts_list = [ + ('nptyping', '2.5.0', { + 'checksums': ['e3d35b53af967e6fb407c3016ff9abae954d3a0568f7cc13a461084224e8e20a'], + }), + ('pynrrd', '1.1.3', { + 'modulename': 'nrrd', + 'checksums': ['a331263bc9f05c3168182e61d6098e256a34e0fadbb7427a1d086d8942fbcbe0'], + }), + ('lpips', '0.1.4', { + 'checksums': ['3846331df6c69688aec3d300a5eeef6c529435bc8460bd58201c3d62e56188fa'], + }), + ('typeguard', '4.4.2', { + 'preinstallopts': "sed -i '/^license/d' pyproject.toml && ", + 'checksums': ['a6f1065813e32ef365bc3b3f503af8a96f9dd4e0033a02c28c4a4983de8c6c49'], + }), + ('huggingface-hub', '0.36.0', { + 'sources': ['huggingface_hub-%(version)s.tar.gz'], + 'checksums': ['47b3f0e2539c39bf5cde015d63b72ec49baff67b6931c3d97f3f84532e2b8d25'], + }), + ('lmdb', '1.7.5', { + 'checksums': ['f0604751762cb097059d5412444c4057b95f386c7ed958363cf63f453e5108da'], + }), + ('pytorch-ignite', '0.5.3', { + 'modulename': 'ignite', + 'preinstallopts': "sed -i '/^license/d' pyproject.toml && ", + 'checksums': ['75c645f02fea66cc80c1998ade3f8402e0e6b6d73f3f4ad727c171f6e93874f4'], + }), + ('gdown', '5.2.0', { + 'checksums': ['2145165062d85520a3cd98b356c9ed522c5e7984d408535409fd46f94defc787'], + }), + ('termcolor', '3.2.0', { + 'preinstallopts': ( + """sed -i '/"Programming Language :: Python :: 3.15",/d' pyproject.toml && """ + """sed -i '/^license/d' pyproject.toml && """ + ), + 'checksums': ['610e6456feec42c4bcd28934a8c87a06c3fa28b01561d46aa09a9881b8622c58'], + }), + ('fire', '0.7.1', { + 'checksums': ['3b208f05c736de98fb343310d090dcc4d8c78b2a89ea4f32b837c586270a9cbf'], + }), + (name, version, { + 'preinstallopts': 'BUILD_MONAI=1', + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'use_pip_extras': ( + 'einops,fire,gdown,ignite,scipy,tqdm,itk,jsonschema,lmdb,nibabel,pydicom,ninja,h5py,optuna,pyamg,' + 'openslide,pandas,pillow,psutil,pyyaml,skimage,tensorboard,torchvision,huggingface_hub,transformers,' + 'mlflow,clearml,matplotlib,tensorboardX,tifffile,imagecodecs,onnx,zarr,lpips,pynrrd' + ), + 'checksums': ['2fff631dd78afc166ccbafb89d7dde06f3d3b287860fb6f2d6cddd6bcc72caa8'], + }), +] + +sanity_check_commands = ["python -c 'import monai; monai.config.print_config()'"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/mfai/mfai-5.1.1-foss-2024a-CUDA-12.6.0.eb b/easybuild/easyconfigs/m/mfai/mfai-5.1.1-foss-2024a-CUDA-12.6.0.eb new file mode 100644 index 00000000000..6eca5d5b666 --- /dev/null +++ b/easybuild/easyconfigs/m/mfai/mfai-5.1.1-foss-2024a-CUDA-12.6.0.eb @@ -0,0 +1,94 @@ +easyblock = 'PythonBundle' + +name = 'mfai' +version = '5.1.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/meteofrance/mfai' +description = """ +MFAI is a Python package that provides the following features: +A variety of PyTorch Neural Network architectures (CNN, Vision Transformers, small LLMs, small +mulitmodal LMs...) adapted to our needs, tested on our projects and datasets. For each architecture, +we provide the reference to the original paper and source code if applicable and also the +modifications we made. +Per architecture schema validated settings using dataclasses-json +A NamedTensor class to handle multi-dimensional data with named dimensions and named features (a +single containing object for a tensor and its metadata) +Various losses from the litterature, often tailored to our projects and experimental results +Lightning module to speedup recurring tasks: segmentation, regression, DGMR training, ... +""" + +toolchain = {'name': 'foss', 'version': '2024a'} + +builddependencies = [ + ('poetry', '1.8.3'), +] + +dependencies = [ + ('CUDA', '12.6.0', '', SYSTEM), + ('Python', '3.12.3'), + ('Python-bundle-PyPI', '2024.06'), + ('PyTorch', '2.6.0', versionsuffix), + ('MONAI', '1.4.0', versionsuffix), + ('ONNX-Runtime', '1.23.2', versionsuffix), + ('ONNX-Script', '0.5.6'), + ('PyTorch-Geometric', '2.6.1', versionsuffix), + ('SentencePiece', '0.2.1'), + ('tiktoken', '0.9.0'), + ('timm', '1.0.20', versionsuffix), + ('TensorFlow', '2.18.1', versionsuffix), +] + +github_account = 'meteofrance' + +exts_list = [ + ('axial-attention', '0.6.1', { + 'checksums': ['0157e77a3132acf8438c819670fc03be1b849b0b03e9e4c281566b61fcc676dc'], + }), + ('dunamai', '1.25.0', { + 'checksums': ['a7f8360ea286d3dbaf0b6a1473f9253280ac93d619836ad4514facb70c0719d1'], + }), + ('poetry-dynamic-versioning', '1.9.1', { + 'checksums': ['d6e7b9df817aa2ca4946cd695c6c89e1379d2e6c640f008a9b6170d081a9da48'], + }), + ('typing-inspect', '0.9.0', { + 'checksums': ['b23fc42ff6f6ef6954e4852c1fb512cdd18dbea03134f91f856a95ccc9461f78'], + }), + ('marshmallow', '3.26.2', { + 'checksums': ['bbe2adb5a03e6e3571b573f42527c6fe926e17467833660bebd11593ab8dfd57'], + }), + ('dataclasses-json', '0.6.7', { + 'checksums': ['b6b3e528266ea45b9535223bc53ca645f5208833c29229e847b3f26a1cc55fc0'], + }), + ('lightning', '2.6.0', { + 'use_pip_extras': 'pytorch-extra', + 'checksums': ['881841716b59c1837ae0c562c2e64fea9bcf49ef9de3867bd1f868557ec23d04'], + }), + ('pytorch-lightning', '1.9.5', { + 'checksums': ['925fe7b80ddf04859fa385aa493b260be4000b11a2f22447afb4a932d1f07d26'], + }), + ('lightning-bolts', '0.7.0', { + 'modulename': 'pl_bolts', + 'checksums': ['6071cda7721087890ba01523d6580fe72b03b842766fd5018a8eb9caa99fe75c'], + }), + ('docstring-parser', '0.17.0', { + 'checksums': ['583de4a309722b3315439bb31d64ba3eebada841f2e2cee23b99df001434c912'], + }), + ('typeshed-client', '2.8.2', { + 'checksums': ['9d8e29fb74574d87bf9a719f77131dc40f2aeea20e97d25d4a3dc2cc30debd31'], + }), + ('jsonargparse', '4.44.0', { + 'use_pip_extras': 'signatures', + 'checksums': ['54836d2bbb37483dc93fbd21d67241bb3ff0fad6ec513176776c659b2133b287'], + }), + (name, version, { + 'preinstallopts': ( + """export SETUPTOOLS_SCM_PRETEND_VERSION="%(version)s" && """ + """sed -i 's/pandas>=2.2.3/pandas>=2.2.2/g' requirements.txt && """ + """sed -i 's/scipy>=1.14.1/scipy>=1.13.1/g' requirements.txt && """ + ), + 'source_urls': ['https://github.com/%(github_account)s/%(name)s/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['e8d31c43ba8e8ed0d2913d77b0974ff8696f2be4831c6e6b0dc51684aa1ba531'], + }), +] From 5fd81a4a4eda5a42d5fe381183e8ea26f48946ff Mon Sep 17 00:00:00 2001 From: JarneRenders Date: Wed, 24 Dec 2025 14:23:17 +0100 Subject: [PATCH 2/2] force packaging 24.2 --- .../easyconfigs/m/mfai/mfai-5.1.1-foss-2024a-CUDA-12.6.0.eb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/easybuild/easyconfigs/m/mfai/mfai-5.1.1-foss-2024a-CUDA-12.6.0.eb b/easybuild/easyconfigs/m/mfai/mfai-5.1.1-foss-2024a-CUDA-12.6.0.eb index 6eca5d5b666..7264df8b933 100644 --- a/easybuild/easyconfigs/m/mfai/mfai-5.1.1-foss-2024a-CUDA-12.6.0.eb +++ b/easybuild/easyconfigs/m/mfai/mfai-5.1.1-foss-2024a-CUDA-12.6.0.eb @@ -42,6 +42,9 @@ dependencies = [ github_account = 'meteofrance' exts_list = [ + ('packaging', '24.2', { + 'checksums': ['c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f'], + }), ('axial-attention', '0.6.1', { 'checksums': ['0157e77a3132acf8438c819670fc03be1b849b0b03e9e4c281566b61fcc676dc'], }),