diff --git a/a/AMD-uProf/AMD-uProf-4.2.850.eb b/a/AMD-uProf/AMD-uProf-4.2.850.eb new file mode 100644 index 00000000..a1275293 --- /dev/null +++ b/a/AMD-uProf/AMD-uProf-4.2.850.eb @@ -0,0 +1,33 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'Binary' + +name = 'AMD-uProf' +version = '4.2.850' + +homepage = 'https://developer.amd.com/amd-uprof/' +description = """AMD uProf is a performance analysis tool for applications running on Windows, Linux & FreeBSD + operating systems. It allows developers to better understand the runtime performance of their application and + to identify ways to improve its performance.""" + +toolchain = SYSTEM + +sources = ['AMDuProf_Linux_x64_4.2.850.tar.bz2'] +checksums = ['f2d7c4eb9ec9c32845ff8f19874c1e6bcb0fa8ab2c12e73addcbf23a6d1bd623'] + +extract_sources = True + +sanity_check_paths = { + 'files': ['include/AMDTPowerProfileApi.h', 'lib/x64/libAMDProfileController.a', + 'bin/libAMDThreadProfileAPI.%s' % SHLIB_EXT, 'bin/AMDuProf'], + 'dirs': ['Examples'] +} + +sanity_check_commands = ['AMDuProfCLI info --system'] + +modextrapaths = { + 'LD_LIBRARY_PATH': 'bin' +} + +moduleclass = 'perf' diff --git a/a/AOCC/AOCC-4.2.0-GCCcore-12.2.0.eb b/a/AOCC/AOCC-4.2.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000..b73e2759 --- /dev/null +++ b/a/AOCC/AOCC-4.2.0-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +# IT4Innovations +# LK 2024 + +name = 'AOCC' +version = '4.2.0' + +homepage = 'https://developer.amd.com/amd-aocc/' +description = "AMD Optimized C/C++ & Fortran compilers (AOCC) based on LLVM 12.0" + +# Clang also depends on libstdc++ during runtime, but this dependency is +# already specified as the toolchain. +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +# manual download +#source_urls = ['https://www.amd.com/en/developer/aocc/eula/aocc-4-2-eula.html?filename='] +sources = ['aocc-compiler-%(version)s.tar'] +checksums = ['ed5a560ec745b24dc0685ccdcbde914843fb2f2dfbfce1ba592de4ffbce1ccab'] + +clangversion = '16' + +dependencies = [ + ('binutils', '2.39'), + ('ncurses', '6.3'), + ('zlib', '1.2.12'), + ('libxml2', '2.10.3'), +] + +moduleclass = 'compiler' diff --git a/a/AOCL/AOCL-4.2.0-CCcore-12.2.0.eb b/a/AOCL/AOCL-4.2.0-CCcore-12.2.0.eb new file mode 100644 index 00000000..31216ce0 --- /dev/null +++ b/a/AOCL/AOCL-4.2.0-CCcore-12.2.0.eb @@ -0,0 +1,27 @@ +# IT4Innovations +# LK 2023 +# --include-easyblocks=/apps/easybuild/it4i-easyblocks/easyblocks/a/aocl.py + +name = 'AOCL' +version = '4.2.0' + +homepage = 'https://developer.amd.com/amd-aocc/' +description = """AMD provides a free set of thoroughly optimized and threaded math routines for HPC, + scientific, engineering and related compute-intensive applications. ACML is ideal for weather modeling, + computational fluid dynamics, financial analysis, oil and gas applications and more. """ + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +#source_urls = ['https://download.amd.com/developer/eula/aocl/aocl-4-1/'] +sources = ['aocl-linux-aocc-%(version)s.tar.gz'] +checksums = ['d25aa17dec5b50b89414d7faff2d72a2c959987fe1a4a0a5842878a3fe079d5c'] + +dependencies = [ + ('binutils', '2.39'), + ('ncurses', '6.3'), + ('zlib', '1.2.12'), + ('libxml2', '2.10.3'), + ('AOCC', '4.2.0'), +] + +moduleclass = 'numlib' diff --git a/a/ASE/ASE-3.22.1-gfbf-2023b.eb b/a/ASE/ASE-3.22.1-gfbf-2023b.eb new file mode 100644 index 00000000..e69fe1aa --- /dev/null +++ b/a/ASE/ASE-3.22.1-gfbf-2023b.eb @@ -0,0 +1,67 @@ +# IT4innovations +# LK 2024 + +easyblock = 'PythonBundle' + +name = 'ASE' +version = '3.22.1' + +homepage = 'https://wiki.fysik.dtu.dk/ase' +description = """ASE is a python package providing an open source Atomic Simulation Environment + in the Python scripting language. + +From version 3.20.1 we also include the ase-ext package, it contains optional reimplementations +in C of functions in ASE. ASE uses it automatically when installed.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('SciPy-bundle', '2023.11'), + ('Flask', '3.0.0'), + ('matplotlib', '3.8.2'), + ('Tkinter', '%(pyver)s'), # Needed by GUI of ASE + ('spglib-python', '2.1.0'), # optional +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pytest-mock', '3.11.1', { + 'checksums': ['7f6b125602ac6d743e523ae0bfa71e1a697a2f5534064528c6ff84c2f7c2fc7f'], + }), + ('ase', version, { + 'patches': [ + 'ASE-3.22.1-Compatibility-with-pytest-from-Python-3-10.patch', + 'ASE-3.22.1-Compatibility-with-pytest-part-2.patch', + 'ASE-3.22.1-Compatibility-with-Scipy-2022-05.patch', + 'ASE-3.22.1-Compatibility-with-Flask-2-2-2.patch', + ], + 'checksums': [ + {'ase-3.22.1.tar.gz': '004df6b0ea04b1114c790fadfe45d4125eb0e53125c66a93425af853d82ab432'}, + {'ASE-3.22.1-Compatibility-with-pytest-from-Python-3-10.patch': + '8184765ecc9e14081b183fee5c4470da716d77caa67c25164018ac1fdd225eac'}, + {'ASE-3.22.1-Compatibility-with-pytest-part-2.patch': + '3a3473912f5f96ffc625119d87227781ba4ea581de15d4af6a58ba960cdf4601'}, + {'ASE-3.22.1-Compatibility-with-Scipy-2022-05.patch': + 'c1cb07160b063d432f098efd40dd4b3c9f015b7966572c838a908613a482e0c8'}, + {'ASE-3.22.1-Compatibility-with-Flask-2-2-2.patch': + '2a05f98291dc970cb759904988783d1ecc3512ba6a0da852af1d3205667b398d'}, + ], + }), + ('ase-ext', '20.9.0', { + 'checksums': ['a348b0e42cf9fdd11f04b3df002b0bf150002c8df2698ff08d3c8fc7a1223aed'], + }), +] + +sanity_check_paths = { + 'files': ['bin/ase'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +# make sure Tkinter is available, otherwise 'ase gui' will not work +sanity_check_commands = ["python -c 'import tkinter' "] + +moduleclass = 'chem' diff --git a/a/apptainer/apptainer-1.3.1.eb b/a/apptainer/apptainer-1.3.1.eb new file mode 100644 index 00000000..826da610 --- /dev/null +++ b/a/apptainer/apptainer-1.3.1.eb @@ -0,0 +1,48 @@ +# IT4Innovations +# LK 2024 + +# Dokoncit `make install` rucne, nejde bez ROOTa !!! +# /apps/all/apptainer/1.1.5/etc/apptainer/apptainer.conf nv=yes !!! + +easyblock = 'ConfigureMake' + +name = 'apptainer' +version = '1.3.1' + +homepage = 'https://github.com/apptainer/apptainer' +description = "Apptainer is an open source container platform designed to be simple, fast, and secure. Many container platforms are available, but Apptainer is designed for ease-of-use on shared systems and in high performance computing (HPC) environments." + + +toolchain = SYSTEM + +source_urls = ['https://github.com/apptainer/apptainer/releases/download/v%s/' % version] +sources = ['apptainer-%(version)s.tar.gz'] +checksums = ['6956c689c4a8f148789c5c34b33c15ad8f3460b4cee3f48022119fd872eacee9'] + +builddependencies = [ + ('Go', '1.22.1'), +] + +dependencies = [ + ('squashfs-tools', '4.3'), +] + +osdependencies = [ + ('openssl-devel', 'libssl-dev', 'libopenssl-devel'), +] + +skipsteps = ['configure'] +prebuildopts = './mconfig --prefix=%(installdir)s --with-suid && ' +buildopts = '-C ./builddir' + + +postinstallcmds = [ + 'echo "mksquashfs path = /apps/all/squashfs-tools/4.3/bin" >> %(installdir)s/etc/singularity/singularity.conf', +] + +sanity_check_paths = { + 'files': ['bin/apptainer'], + 'dirs': ['bin', 'etc', 'libexec', 'var'], +} + +moduleclass = 'tools' diff --git a/b/BEEF/BEEF-0.1.1-intel-2020a.eb b/b/BEEF/BEEF-0.1.1-intel-2020a.eb index 005c9c2e..69afd49b 100644 --- a/b/BEEF/BEEF-0.1.1-intel-2020a.eb +++ b/b/BEEF/BEEF-0.1.1-intel-2020a.eb @@ -17,6 +17,7 @@ toolchainopts = {'openmp': False, 'usempi': False} source_urls = ['https://confluence.slac.stanford.edu/download/attachments/146704476'] sources = ['libbeef-%(version)s.tar.gz'] +checksums = ['b6af622b74a4e55d637d8cd5027cfa850cf22fec53981c5732de5c40cc0a938a'] configopts = 'CC="$CC"' diff --git a/d/DFT-D4/DFT-D4-3.6.0-intel-2022b-Python-3.10.8.eb b/d/DFT-D4/DFT-D4-3.6.0-intel-2022b-Python-3.10.8.eb index 38c53a60..8d26b62d 100644 --- a/d/DFT-D4/DFT-D4-3.6.0-intel-2022b-Python-3.10.8.eb +++ b/d/DFT-D4/DFT-D4-3.6.0-intel-2022b-Python-3.10.8.eb @@ -28,6 +28,7 @@ checksums = [ builddependencies = [ ('Ninja', '1.11.1'), ('Meson', '0.64.0'), + ('CMake', '3.24.3'), ] dependencies = [ diff --git a/d/DFT-D4/DFT-D4-3.6.0-intel-2023b-Python-3.11.5.eb b/d/DFT-D4/DFT-D4-3.6.0-intel-2023b-Python-3.11.5.eb new file mode 100644 index 00000000..2c70807b --- /dev/null +++ b/d/DFT-D4/DFT-D4-3.6.0-intel-2023b-Python-3.11.5.eb @@ -0,0 +1,48 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'MesonNinja' + +name = 'DFT-D4' +version = '3.6.0' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://www.chemie.uni-bonn.de/pctc/mulliken-center/software/dftd4' +description = """Generally Applicable Atomic-Charge Dependent London Dispersion Correction.""" + +toolchain = {'name': 'intel', 'version': '2023b'} +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + toolchainopts = {'usempi': True, 'optarch': 'march=core-avx2', 'pic': True} +else: + toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['https://github.com/dftd4/dftd4/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +patches = ['DFT-D4-3.2.0-remove_module_id.patch'] +checksums = [ + '0e3e8d5f9e9e5414b9979967c074c953706053832e551d922c27599e7324bace', # v3.6.0.tar.gz + '8c3c81338cb57972580e4cf3db307aa2e44b8b3f6d1ba7ae24fa9d807490a93b', # DFT-D4-3.2.0-remove_module_id.patch +] + +builddependencies = [ + ('Ninja', '1.11.1'), + ('Meson', '1.2.3'), + ('CMake', '3.27.6'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('cffi', '1.15.1'), +] + +configopts = '-Dpython=true -Dfortran_link_args=-qopenmp -Dapi_v2=true' + +sanity_check_paths = { + 'files': ['bin/dftd4', 'lib/libdftd4.a', 'lib/libdftd4.%s' % SHLIB_EXT, 'include/dftd4.mod'], + 'dirs': [], +} + +sanity_check_commands = ["dftd4 --version"] + +moduleclass = 'chem' diff --git a/e/ELPA/ELPA-2023.11.001-intel-2023b.eb b/e/ELPA/ELPA-2023.11.001-intel-2023b.eb new file mode 100644 index 00000000..9f876959 --- /dev/null +++ b/e/ELPA/ELPA-2023.11.001-intel-2023b.eb @@ -0,0 +1,47 @@ +# IT4Innovations +# LK 2024 + +name = 'ELPA' +version = '2023.11.001' + +homepage = 'https://elpa.mpcdf.mpg.de/' +description = """Eigenvalue SoLvers for Petaflop-Applications.""" + +toolchain = {'name': 'intel', 'version': '2023b'} +toolchainopts = {'openmp': True, 'usempi': True} + +source_urls = ['https://gitlab.mpcdf.mpg.de/elpa/elpa/-/archive/new_release_%(version)s/'] +sources = ['elpa-new_release_%(version)s.tar.gz'] +patches = [ + '%(name)s-2023.05.001_fix_hardcoded_perl_path.patch', + '%(name)s-2023.05.001_fix_AVX512_support.patch', +] +checksums = [ + {'%(namelower)s-new_release_%(version)s.tar.gz': + 'b8dd04e238dac23c1e910e8862370b1779b239eae4b871c9966bee578d40c750'}, + {'%(name)s-2023.05.001_fix_hardcoded_perl_path.patch': + '0548105065777a2ed07dde306636251c4f96e555a801647564de37d1ddd7b0b5'}, + {'%(name)s-2023.05.001_fix_AVX512_support.patch': + 'ecf08b64fe1da432a218040fa45d4ecfbb3269d58cb018b12da5a2d854bf96be'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + # remove_xcompiler script requires 'python' command, + ('Python', '3.11.5'), + ('Perl', '5.38.0'), +] + +preconfigopts = './autogen.sh && ' +preconfigopts += 'export LDFLAGS="-lm $LDFLAGS" && ' +preconfigopts += 'autoreconf && ' +preconfigopts = "export FC='mpiifort' && " +preconfigopts += "export CC='mpicc' && " +preconfigopts += 'export FCFLAGS="-O3 -xAVX2" && ' +preconfigopts += 'export CFLAGS="-O3 -march=native -mavx2 -mfma -funsafe-loop-optimizations -funsafe-math-optimizations -ftree-vect-loop-version -ftree-vectorize" && ' +preconfigopts += 'export SCALAPACK_LDFLAG=S"-L$MKLROOT/lib/intel64 -lmkl_scalapack_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_lp64 -lpthread " && ' +preconfigopts += 'export SCALAPACK_FCFLAGS="-I$MKL_HOME/include/intel64/lp64" && ' + +maxparallel = 1 + +moduleclass = 'math' diff --git a/f/FFTW.MPI/FFTW.MPI-3.3.10-NVHPC-24.1-CUDA-12.4.0.eb b/f/FFTW.MPI/FFTW.MPI-3.3.10-NVHPC-24.1-CUDA-12.4.0.eb new file mode 100644 index 00000000..7cdb76e9 --- /dev/null +++ b/f/FFTW.MPI/FFTW.MPI-3.3.10-NVHPC-24.1-CUDA-12.4.0.eb @@ -0,0 +1,25 @@ +# IT4Innovations +# LK 2024 + +name = 'FFTW.MPI' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'NVHPC', 'version': '24.1-CUDA-12.4.0'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = ['fftw-%(version)s.tar.gz'] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +dependencies = [ + ('FFTW', '3.3.10'), + ('OpenMPI', '4.1.6'), +] + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/f/FFTW.MPI/FFTW.MPI-3.3.10-NVHPC-24.3-CUDA-12.3.0.eb b/f/FFTW.MPI/FFTW.MPI-3.3.10-NVHPC-24.3-CUDA-12.3.0.eb new file mode 100644 index 00000000..e9c017db --- /dev/null +++ b/f/FFTW.MPI/FFTW.MPI-3.3.10-NVHPC-24.3-CUDA-12.3.0.eb @@ -0,0 +1,25 @@ +# IT4Innovations +# LK 2024 + +name = 'FFTW.MPI' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'NVHPC', 'version': '24.3-CUDA-12.3.0'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = ['fftw-%(version)s.tar.gz'] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +dependencies = [ + ('FFTW', '3.3.10'), + ('OpenMPI', '4.1.6'), +] + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/f/FFTW/FFTW-3.3.10-NVHPC-24.1-CUDA-12.4.0.eb b/f/FFTW/FFTW-3.3.10-NVHPC-24.1-CUDA-12.4.0.eb new file mode 100644 index 00000000..e5f198b0 --- /dev/null +++ b/f/FFTW/FFTW-3.3.10-NVHPC-24.1-CUDA-12.4.0.eb @@ -0,0 +1,27 @@ +# IT4Innovations +# LK 2024 + +name = 'FFTW' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'NVHPC', 'version': '24.1-CUDA-12.4.0'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +dependencies = [ + ('CUDA', '12.4.0', '', True), +] + +# Does not work with nvc +with_quad_prec = False + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/f/FFTW/FFTW-3.3.10-NVHPC-24.3-CUDA-12.3.0.eb b/f/FFTW/FFTW-3.3.10-NVHPC-24.3-CUDA-12.3.0.eb new file mode 100644 index 00000000..7b8d75bf --- /dev/null +++ b/f/FFTW/FFTW-3.3.10-NVHPC-24.3-CUDA-12.3.0.eb @@ -0,0 +1,27 @@ +# IT4Innovations +# LK 2024 + +name = 'FFTW' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'NVHPC', 'version': '24.3-CUDA-12.3.0'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +dependencies = [ + ('CUDA', '12.3.0', '', True), +] + +# Does not work with nvc +with_quad_prec = False + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/f/FFTW/FFTW-3.3.8.eb b/f/FFTW/FFTW-3.3.8.eb index dfe74174..491b4e83 100644 --- a/f/FFTW/FFTW-3.3.8.eb +++ b/f/FFTW/FFTW-3.3.8.eb @@ -12,6 +12,7 @@ toolchainopts = {'pic': True} source_urls = [homepage] sources = [SOURCELOWER_TAR_GZ] +checksums = ['6113262f6e92c5bd474f2875fa1b01054c4ad5040f6b0da7c03c98821d9ae303'] # no quad precision, requires GCC v4.6 or higher # see also diff --git a/f/Forge/Forge-23.1.2.eb b/f/Forge/Forge-23.1.2.eb new file mode 100644 index 00000000..be46ea11 --- /dev/null +++ b/f/Forge/Forge-23.1.2.eb @@ -0,0 +1,44 @@ +# IT4Innovations +# !!! --include-easyblocks /apps/easybuild/it4i-easyblocks/easyblocks/a/allineabase.py !!! +# LK 2024 + +easyblock = 'AllineaBase' + +name = 'Forge' +version = "23.1.2" + +homepage = 'http://www.allinea.com/products/develop-allinea-forge' +description = """Allinea Forge is the local_complete toolsuite for software development +- with everything needed to debug, profile, optimize, edit and build C, C++ +and FORTRAN applications on Linux for high performance - from single threads through +to local_complex parallel HPC codes with MPI, OpenMP, threads or CUDA. +""" + +toolchain = SYSTEM + +source_urls = ['https://downloads.linaroforge.com/23.1.2/'] +sources = ['linaro-forge-%(version)s-linux-x86_64.tar'] +checksums = ['675d2d8e4510afefa0405eecb46ac8bf440ff35a5a40d5507dc12d29678a22bf'] + +skipsteps = ['configure', 'build'] + +postinstallcmds = [ + 'ln -s /apps/licenses/Arm/Licence %(installdir)s/licences/Licence.16312', + 'ln -s /apps/licenses/PerformanceReports/Licence %(installdir)s/licences/Licence.16313', +] + +sanity_check_paths = { + 'files': [ + 'bin/ddt-client', + 'bin/map', + 'bin/ddt', + #'bin/ddt-debugger', + #'bin/ddt-debugger-ll', + #'bin/ddt-debugger-mps', + 'bin/ddt-mpirun', + 'bin/forge', + 'bin/make-profiler-libraries'], + 'dirs': ['lib'], +} + +moduleclass = 'debugger' diff --git a/f/ffnvcodec/ffnvcodec-11.1.5.2.eb b/f/ffnvcodec/ffnvcodec-11.1.5.2.eb new file mode 100644 index 00000000..5cd4c948 --- /dev/null +++ b/f/ffnvcodec/ffnvcodec-11.1.5.2.eb @@ -0,0 +1,35 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'ConfigureMake' + +name = 'ffnvcodec' +version = '11.1.5.2' + +homepage = 'https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git' + +description = """FFmpeg nvidia headers. Adds support for nvenc and nvdec. Requires Nvidia GPU and drivers to be present +(picked up dynamically).""" + +toolchain = SYSTEM + +sources = [{ + 'git_config': { + 'url': 'https://git.videolan.org/git/ffmpeg/', + 'repo_name': 'nv-codec-headers', + 'tag': 'n%(version)s', + }, + 'filename': SOURCE_TAR_GZ, +}] +checksums = ['4f89ae923c20d9e2a9175b3c5b2c8cc5df1e076c2f3899227d3b8a9d89eafcc8'] + +skipsteps = ['configure'] + +preinstallopts = 'sed -i "s|PREFIX =.*|PREFIX ?= %(installdir)s|" Makefile && ' + +sanity_check_paths = { + 'files': ['include/ffnvcodec/nvEncodeAPI.h', 'lib/pkgconfig/ffnvcodec.pc'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/f/ffnvcodec/ffnvcodec-12.0.16.0.eb b/f/ffnvcodec/ffnvcodec-12.0.16.0.eb new file mode 100644 index 00000000..fcc3ec97 --- /dev/null +++ b/f/ffnvcodec/ffnvcodec-12.0.16.0.eb @@ -0,0 +1,35 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'ConfigureMake' + +name = 'ffnvcodec' +version = '12.0.16.0' + +homepage = 'https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git' + +description = """FFmpeg nvidia headers. Adds support for nvenc and nvdec. Requires Nvidia GPU and drivers to be present +(picked up dynamically).""" + +toolchain = SYSTEM + +sources = [{ + 'git_config': { + 'url': 'https://git.videolan.org/git/ffmpeg/', + 'repo_name': 'nv-codec-headers', + 'tag': 'n%(version)s', + }, + 'filename': SOURCE_TAR_GZ, +}] +checksums = ['8e00b2954b673195588966fcdcd3071faaa27ba7217770901800b9d9dda1d546'] + +skipsteps = ['configure'] + +preinstallopts = 'sed -i "s|PREFIX =.*|PREFIX ?= %(installdir)s|" Makefile && ' + +sanity_check_paths = { + 'files': ['include/ffnvcodec/nvEncodeAPI.h', 'lib/pkgconfig/ffnvcodec.pc'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/g/GDRCopy/GDRCopy-2.4.1-GCCcore-12.2.0.eb b/g/GDRCopy/GDRCopy-2.4.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000..6df5a8d8 --- /dev/null +++ b/g/GDRCopy/GDRCopy-2.4.1-GCCcore-12.2.0.eb @@ -0,0 +1,55 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'ConfigureMake' + +name = 'GDRCopy' +version = '2.4.1' + +homepage = 'https://github.com/NVIDIA/gdrcopy' +description = "A low-latency GPU memory copy library based on NVIDIA GPUDirect RDMA technology." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['faa7e816e9bad3301e53d6721457f7ef5ab42b7aa3b01ffda51f8e5620bb20ed'] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), + ('pkgconf', '1.9.3'), +] + +# This easyconfig only installs the library of GDRCopy. Please keep in mind +# that GDRCopy also needs the following kernel modules at runtime: +# +# 1. Kernel module for GDRCopy: improves Host to GPU communication +# https://github.com/NVIDIA/gdrcopy +# RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' +# Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 +# +# 2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication +# https://github.com/Mellanox/nv_peer_memory +# RPM: 'nvidia_peer_memory' +# Requirements: Mellanox HCA with MLNX_OFED 2.1 +# +# These kernel modules are not listed as system dependencies to lower the system +# requirements to build this easyconfig, as they are not needed for the build. + +skipsteps = ['configure'] + +local_envopts = "prefix=%(installdir)s" +prebuildopts = "PATH=$PATH:/sbin " # ensures that ldconfig is found +buildopts = "config lib %s" % local_envopts +install_cmd = "make lib_install" +installopts = local_envopts + +sanity_check_paths = { + 'files': ['lib/libgdrapi.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/g/GROMACS/GROMACS-2024-foss-2022a-CUDA-12.0.0-v2.eb b/g/GROMACS/GROMACS-2024-foss-2022a-CUDA-12.0.0-v2.eb index 549ae6ed..4ff5a196 100644 --- a/g/GROMACS/GROMACS-2024-foss-2022a-CUDA-12.0.0-v2.eb +++ b/g/GROMACS/GROMACS-2024-foss-2022a-CUDA-12.0.0-v2.eb @@ -29,7 +29,7 @@ patches = [ 'GROMACS-2023.1_fix_tests_for_gmx_thread_mpi.patch', ] checksums = [ - {'gromacs-2024.tar.gz': '6fd5bedba9f84e5b397b4cbe5720ae1e'}, + {'gromacs-2024.tar.gz': '04d226d52066a8bc3a42e00d6213de737b4ec292e26703065924ff01956801e2'}, {'GROMACS-2023.1_set_omp_num_threads_env_for_ntomp_tests.patch': '7f41bda16c9c2837624265dda4be252f655d1288ddc4486b1a2422af30d5d199'}, {'GROMACS-2023.1_fix_tests_for_gmx_thread_mpi.patch': diff --git a/g/GROMACS/GROMACS-4.5.5-ORCA-5.0.1-OpenMPI-4.1.1.eb b/g/GROMACS/GROMACS-4.5.5-ORCA-5.0.1-OpenMPI-4.1.1.eb index dd748cb9..546cc2e3 100644 --- a/g/GROMACS/GROMACS-4.5.5-ORCA-5.0.1-OpenMPI-4.1.1.eb +++ b/g/GROMACS/GROMACS-4.5.5-ORCA-5.0.1-OpenMPI-4.1.1.eb @@ -19,6 +19,7 @@ else: source_urls = ['ftp://ftp.gromacs.org/pub/gromacs/', 'https://ftp.gromacs.org/pub/gromacs/'] sources = [SOURCELOWER_TAR_GZ] +checksums = ['e0605e4810b0d552a8761fef5540c545beeaf85893f4a6e21df9905a33f871ba'] builddependencies = [ ('CMake', '3.18.4'), diff --git a/g/gettext/gettext-0.19.4.eb b/g/gettext/gettext-0.19.4.eb index 2936f10d..9eb28493 100644 --- a/g/gettext/gettext-0.19.4.eb +++ b/g/gettext/gettext-0.19.4.eb @@ -17,6 +17,7 @@ toolchain = SYSTEM sources = [SOURCE_TAR_GZ] source_urls = [GNU_SOURCE] +checksums = ['8ac9f1ed1a5f8c4e656a2f37f5ba6b9ee04c4df79a575e876b0b6946aa417f3f'] configopts = '--without-emacs --with-included-libxml --without-xz --without-bzip2' diff --git a/h/HDF5/HDF5-1.14.0-iimpi-2022b.eb b/h/HDF5/HDF5-1.14.0-iimpi-2022b.eb new file mode 100644 index 00000000..e3b7dda2 --- /dev/null +++ b/h/HDF5/HDF5-1.14.0-iimpi-2022b.eb @@ -0,0 +1,28 @@ +# IT4Innovations +# LK 2024 + +name = 'HDF5' +version = '1.14.0' + +homepage = 'https://portal.hdfgroup.org/display/support' +description = """HDF5 is a data model, library, and file format for storing and managing data. + It supports an unlimited variety of datatypes, and is designed for flexible + and efficient I/O and for high volume and complex data.""" + +toolchain = {'name': 'iimpi', 'version': '2022b'} +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + toolchainopts = {'pic': True, 'usempi': True, 'optarch': 'march=core-avx2'} +else: + toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a571cc83efda62e1a51a0a912dd916d01895801c5025af91669484a1575a6ef4'] + +dependencies = [ + ('zlib', '1.2.12'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/h/HDF5/HDF5-1.14.3-NVHPC-24.1-CUDA-12.4.0.eb b/h/HDF5/HDF5-1.14.3-NVHPC-24.1-CUDA-12.4.0.eb new file mode 100644 index 00000000..31bdd1b1 --- /dev/null +++ b/h/HDF5/HDF5-1.14.3-NVHPC-24.1-CUDA-12.4.0.eb @@ -0,0 +1,27 @@ +# IT4Innovations +# LK 2024 + +name = 'HDF5' +version = '1.14.3' + +homepage = 'https://portal.hdfgroup.org/display/support' +description = """HDF5 is a data model, library, and file format for storing and managing data. + It supports an unlimited variety of datatypes, and is designed for flexible + and efficient I/O and for high volume and complex data.""" + +toolchain = {'name': 'NVHPC', 'version': '24.1-CUDA-12.4.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['09cdb287aa7a89148c1638dd20891fdbae08102cf433ef128fd345338aa237c7'] + +configopts = '--enable-fortran --enable-fortran 2003 --enable-cxx --enable-parallel --enable-unsupported --enable-shared' + +dependencies = [ + ('OpenMPI', '4.1.6'), + ('zlib', '1.2.12'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/h/HDF5/HDF5-1.14.3-NVHPC-24.3-CUDA-12.3.0.eb b/h/HDF5/HDF5-1.14.3-NVHPC-24.3-CUDA-12.3.0.eb new file mode 100644 index 00000000..ac520fe4 --- /dev/null +++ b/h/HDF5/HDF5-1.14.3-NVHPC-24.3-CUDA-12.3.0.eb @@ -0,0 +1,27 @@ +# IT4Innovations +# LK 2024 + +name = 'HDF5' +version = '1.14.3' + +homepage = 'https://portal.hdfgroup.org/display/support' +description = """HDF5 is a data model, library, and file format for storing and managing data. + It supports an unlimited variety of datatypes, and is designed for flexible + and efficient I/O and for high volume and complex data.""" + +toolchain = {'name': 'NVHPC', 'version': '24.3-CUDA-12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['09cdb287aa7a89148c1638dd20891fdbae08102cf433ef128fd345338aa237c7'] + +configopts = '--enable-fortran --enable-fortran 2003 --enable-cxx --enable-parallel --enable-unsupported --enable-shared' + +dependencies = [ + ('OpenMPI', '4.1.6'), + ('zlib', '1.2.12'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/h/HDF5/HDF5-1.14.3-iimpi-2023b.eb b/h/HDF5/HDF5-1.14.3-iimpi-2023b.eb new file mode 100644 index 00000000..ba792521 --- /dev/null +++ b/h/HDF5/HDF5-1.14.3-iimpi-2023b.eb @@ -0,0 +1,36 @@ +# IT4Innovations +# lk2024 + +name = 'HDF5' +# Note: Odd minor releases are only RCs and should not be used. +version = '1.14.3' + +homepage = 'https://portal.hdfgroup.org/display/support' +description = """HDF5 is a data model, library, and file format for storing and managing data. + It supports an unlimited variety of datatypes, and is designed for flexible + and efficient I/O and for high volume and complex data.""" + +toolchain = {'name': 'iimpi', 'version': '2023b'} + +import os +# core-avx2 is required due to a but in fortran compiler +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + toolchainopts = {'pic': True, 'usempi': True, 'optarch': 'march=core-avx2'} +else: + toolchainopts = {'pic': True, 'usempi': True} + + +source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['09cdb287aa7a89148c1638dd20891fdbae08102cf433ef128fd345338aa237c7'] + +# replace src include path with installation dir for $H5BLD_CPPFLAGS +_regex = 's, -I[^[:space:]]+H5FDsubfiling , -I%(installdir)s/include ,g' +postinstallcmds = ['sed -i -r "%s" %%(installdir)s/bin/%s' % (_regex, x) for x in ['h5c++', 'h5pcc']] + +dependencies = [ + ('zlib', '1.2.13'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/i/impi/impi-2021.8.0-intel-compilers-2023.0.0.eb b/i/impi/impi-2021.8.0-intel-compilers-2023.0.0.eb new file mode 100644 index 00000000..13d3779a --- /dev/null +++ b/i/impi/impi-2021.8.0-intel-compilers-2023.0.0.eb @@ -0,0 +1,27 @@ +# IT4Innovations +# LK 2024 +# For ANSYS + +name = 'impi' +version = '2021.8.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/mpi-library.html' +description = "Intel MPI Library, compatible with MPICH ABI" + +toolchain = {'name': 'intel-compilers', 'version': '2023.0.0'} + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/19131/'] +sources = ['l_mpi_oneapi_p_%(version)s.25329_offline.sh'] +checksums = ['0fcb1171fc42fd4b2d863ae474c0b0f656b0fa1fdc1df435aa851ccd6d1eaaf7'] + +dependencies = [('UCX', '1.13.1')] + +accept_eula = True + +modextravars = { + "I_MPI_PMI_VALUE_LENGTH_MAX", "512", + "FI_PROVIDER": "verbs", +} + +moduleclass = 'mpi' diff --git a/l/libxc/libxc-5.2.3-GCC-11.3.0.eb b/l/libxc/libxc-5.2.3-GCC-11.3.0.eb new file mode 100644 index 00000000..78b643b5 --- /dev/null +++ b/l/libxc/libxc-5.2.3-GCC-11.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'CMakeMake' + +name = 'libxc' +version = '5.2.3' + +homepage = 'https://libxc.gitlab.io' +description = """Libxc is a library of exchange-correlation functionals for density-functional theory. + The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['7b7a96d8eeb472c7b8cca7ac38eae27e0a8113ef44dae5359b0eb12592b4bcf2'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('Perl', '5.34.1'), +] + +separate_build_dir = True + +local_common_configopts = "-DENABLE_FORTRAN=ON -DENABLE_FORTRAN03=ON -DENABLE_XHOST=OFF" + +# perform iterative build to get both static and shared libraries +configopts = [ + local_common_configopts + ' -DBUILD_SHARED_LIBS=OFF', + local_common_configopts + ' -DBUILD_SHARED_LIBS=ON', +] + +parallel = 1 + +# make sure that built libraries (libxc*.so*) in build directory are picked when running tests +# this is required when RPATH linking is used +pretestopts = "export LD_LIBRARY_PATH=%(builddir)s/easybuild_obj:$LD_LIBRARY_PATH && " + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/xc-info'] + + ['lib/libxc%s.%s' % (x, y) for x in ['', 'f03', 'f90'] for y in ['a', SHLIB_EXT]], + 'dirs': ['include', 'lib/pkgconfig', 'share/cmake/Libxc'], +} + +moduleclass = 'chem' diff --git a/m/METIS/METIS-5.1.0-GCCcore-13.2.0.eb b/m/METIS/METIS-5.1.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000..bf5e8d04 --- /dev/null +++ b/m/METIS/METIS-5.1.0-GCCcore-13.2.0.eb @@ -0,0 +1,39 @@ +# IT4Innovations +# LK 2024 + +name = 'METIS' +version = '5.1.0' + +homepage = 'http://glaros.dtc.umn.edu/gkhome/metis/metis/overview' + +description = """ + METIS is a set of serial programs for partitioning graphs, partitioning + finite element meshes, and producing fill reducing orderings for sparse + matrices. The algorithms implemented in METIS are based on the multilevel + recursive-bisection, multilevel k-way, and multi-constraint partitioning + schemes. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = [ + 'http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis', + 'http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/OLD', +] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s-use-doubles.patch'] +checksums = [ + {'metis-5.1.0.tar.gz': '76faebe03f6c963127dbb73c13eab58c9a3faeae48779f049066a21c087c5db2'}, + {'METIS-5.1.0-use-doubles.patch': '7e38a3ec8f2b8e3d189239bade5b28c0dd1c564485050109164fa71a6a767c67'}, +] + +# We use 32bit for indices and 64bit for content +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +configopts = ['', 'shared=1'] + +moduleclass = 'math' diff --git a/n/NCCL/NCCL-2.21.5-GCCcore-12.2.0-CUDA-12.3.0.eb b/n/NCCL/NCCL-2.21.5-GCCcore-12.2.0-CUDA-12.3.0.eb new file mode 100644 index 00000000..933312be --- /dev/null +++ b/n/NCCL/NCCL-2.21.5-GCCcore-12.2.0-CUDA-12.3.0.eb @@ -0,0 +1,29 @@ +# IT4Innovations +# LK 2023 + +name = 'NCCL' +version = '2.21.5' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/nccl' +description = """The NVIDIA Collective Communications Library (NCCL) implements multi-GPU and multi-node collective +communication primitives that are performance optimized for NVIDIA GPUs.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s-1.tar.gz'] +checksums = ['1923596984d85e310b5b6c52b2c72a1b93da57218f2bc5a5c7ac3d59297a3303'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('CUDA', '12.3.0', '', SYSTEM), + ('UCX-CUDA', '1.16.0', versionsuffix), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['8.0'] + +moduleclass = 'lib' diff --git a/n/NCCL/NCCL-2.21.5-GCCcore-12.2.0-CUDA-12.4.0.eb b/n/NCCL/NCCL-2.21.5-GCCcore-12.2.0-CUDA-12.4.0.eb new file mode 100644 index 00000000..34661bc7 --- /dev/null +++ b/n/NCCL/NCCL-2.21.5-GCCcore-12.2.0-CUDA-12.4.0.eb @@ -0,0 +1,29 @@ +# IT4Innovations +# LK 2023 + +name = 'NCCL' +version = '2.21.5' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/nccl' +description = """The NVIDIA Collective Communications Library (NCCL) implements multi-GPU and multi-node collective +communication primitives that are performance optimized for NVIDIA GPUs.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s-1.tar.gz'] +checksums = ['1923596984d85e310b5b6c52b2c72a1b93da57218f2bc5a5c7ac3d59297a3303'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('CUDA', '12.4.0', '', SYSTEM), + ('UCX-CUDA', '1.16.0', versionsuffix), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['8.0'] + +moduleclass = 'lib' diff --git a/n/NVHPC/NVHPC-24.1-CUDA-12.3.0.eb b/n/NVHPC/NVHPC-24.1-CUDA-12.3.0.eb new file mode 100644 index 00000000..5753cf97 --- /dev/null +++ b/n/NVHPC/NVHPC-24.1-CUDA-12.3.0.eb @@ -0,0 +1,50 @@ +# IT4Innovations +# LK 2024 + +name = 'NVHPC' +version = '24.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/hpc-sdk/' +description = """C, C++ and Fortran compilers included with the NVIDIA HPC SDK (previously: PGI)""" + +toolchain = SYSTEM + +local_tarball_tmpl = 'nvhpc_2024_%%(version_major)s%%(version_minor)s_Linux_%s_cuda_multi.tar.gz' +# By downloading, you accept the HPC SDK Software License Agreement +# https://docs.nvidia.com/hpc-sdk/eula/index.html +# accept_eula = True +source_urls = ['https://developer.download.nvidia.com/hpc-sdk/%(version)s/'] +sources = [local_tarball_tmpl % '%(arch)s'] +checksums = [ + { + local_tarball_tmpl % 'aarch64': + '8c2ce561d5901a03eadce7f07dce5fbc55e8e88c87b74cf60e01e2eca231c41c', + local_tarball_tmpl % 'ppc64le': + 'e7330eb35e23dcd9b0b3bedc67c0d5443c4fd76b59caa894a76ecb0d17f71f43', + local_tarball_tmpl % 'x86_64': + '27992e5fd56af8738501830daddc5e9510ebd553326fea8730236fee4f0f1dd8', + } +] + +local_gccver = '13.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.40', '', ('GCCcore', local_gccver)), + # This is necessary to avoid cases where just libnuma.so.1 is present in the system and -lnuma fails + ('numactl', '2.0.16', '', ('GCCcore', local_gccver)), + ('CUDA', '12.3.0', '', SYSTEM), +] + +module_add_cuda = False + +default_cuda_version = '%(cudaver)s' + +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + cuda_compute_capabilities = "8.0" +else: + cuda_compute_capabilities = "7.0" + + +moduleclass = 'compiler' diff --git a/n/NVHPC/NVHPC-24.1-CUDA-12.4.0.eb b/n/NVHPC/NVHPC-24.1-CUDA-12.4.0.eb new file mode 100644 index 00000000..2a74168a --- /dev/null +++ b/n/NVHPC/NVHPC-24.1-CUDA-12.4.0.eb @@ -0,0 +1,50 @@ +# IT4Innovations +# LK 2024 + +name = 'NVHPC' +version = '24.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/hpc-sdk/' +description = """C, C++ and Fortran compilers included with the NVIDIA HPC SDK (previously: PGI)""" + +toolchain = SYSTEM + +local_tarball_tmpl = 'nvhpc_2024_%%(version_major)s%%(version_minor)s_Linux_%s_cuda_multi.tar.gz' +# By downloading, you accept the HPC SDK Software License Agreement +# https://docs.nvidia.com/hpc-sdk/eula/index.html +# accept_eula = True +source_urls = ['https://developer.download.nvidia.com/hpc-sdk/%(version)s/'] +sources = [local_tarball_tmpl % '%(arch)s'] +checksums = [ + { + local_tarball_tmpl % 'aarch64': + '8c2ce561d5901a03eadce7f07dce5fbc55e8e88c87b74cf60e01e2eca231c41c', + local_tarball_tmpl % 'ppc64le': + 'e7330eb35e23dcd9b0b3bedc67c0d5443c4fd76b59caa894a76ecb0d17f71f43', + local_tarball_tmpl % 'x86_64': + '27992e5fd56af8738501830daddc5e9510ebd553326fea8730236fee4f0f1dd8', + } +] + +local_gccver = '12.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.39', '', ('GCCcore', local_gccver)), + # This is necessary to avoid cases where just libnuma.so.1 is present in the system and -lnuma fails + ('numactl', '2.0.16', '', ('GCCcore', local_gccver)), + ('CUDA', '12.4.0', '', SYSTEM), +] + +module_add_cuda = False + +default_cuda_version = '%(cudaver)s' + +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + cuda_compute_capabilities = "8.0" +else: + cuda_compute_capabilities = "7.0" + + +moduleclass = 'compiler' diff --git a/n/NVHPC/NVHPC-24.3-CUDA-12.3.0.eb b/n/NVHPC/NVHPC-24.3-CUDA-12.3.0.eb new file mode 100644 index 00000000..6f3b6a5b --- /dev/null +++ b/n/NVHPC/NVHPC-24.3-CUDA-12.3.0.eb @@ -0,0 +1,50 @@ +# IT4Innovations +# LK 2024 + +name = 'NVHPC' +version = '24.3' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/hpc-sdk/' +description = """C, C++ and Fortran compilers included with the NVIDIA HPC SDK (previously: PGI)""" + +toolchain = SYSTEM + +local_tarball_tmpl = 'nvhpc_2024_%%(version_major)s%%(version_minor)s_Linux_%s_cuda_multi.tar.gz' +# By downloading, you accept the HPC SDK Software License Agreement +# https://docs.nvidia.com/hpc-sdk/eula/index.html +# accept_eula = True +source_urls = ['https://developer.download.nvidia.com/hpc-sdk/%(version)s/'] +sources = [local_tarball_tmpl % '%(arch)s'] +checksums = [ + { + local_tarball_tmpl % 'aarch64': + '8c2ce561d5901a03eadce7f07dce5fbc55e8e88c87b74cf60e01e2eca231c41c', + local_tarball_tmpl % 'ppc64le': + 'e7330eb35e23dcd9b0b3bedc67c0d5443c4fd76b59caa894a76ecb0d17f71f43', + local_tarball_tmpl % 'x86_64': + 'a9fe5ec878e9c4cc332de732c6739f97ac064ce76ad3d0af6d282658d27124cb', + } +] + +local_gccver = '12.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.39', '', ('GCCcore', local_gccver)), + # This is necessary to avoid cases where just libnuma.so.1 is present in the system and -lnuma fails + ('numactl', '2.0.16', '', ('GCCcore', local_gccver)), + ('CUDA', '12.3.0', '', SYSTEM), +] + +module_add_cuda = False + +default_cuda_version = '%(cudaver)s' + +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + cuda_compute_capabilities = "8.0" +else: + cuda_compute_capabilities = "7.0" + + +moduleclass = 'compiler' diff --git a/n/ncurses/ncurses-6.1.eb b/n/ncurses/ncurses-6.1.eb index 50b5d22e..b21c6a34 100644 --- a/n/ncurses/ncurses-6.1.eb +++ b/n/ncurses/ncurses-6.1.eb @@ -15,6 +15,7 @@ toolchainopts = {'optarch': True, 'pic': True} source_urls = [GNU_SOURCE] sources = [SOURCE_TAR_GZ] +checksums = ['aa057eeeb4a14d470101eff4597d5833dcef5965331be3528c08d99cebaa0d17'] buildopts = 'CFLAGS="-O3 -fPIC"' diff --git a/n/nvompi/nvompi-2024.1.eb b/n/nvompi/nvompi-2024.1.eb new file mode 100644 index 00000000..2d3f5383 --- /dev/null +++ b/n/nvompi/nvompi-2024.1.eb @@ -0,0 +1,19 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'Toolchain' + +name = 'nvompi' +version = '2024.1' + +homepage = '(none)' +description = 'NVHPC based compiler toolchain, including OpenMPI for MPI support.' + +toolchain = SYSTEM + +dependencies = [ + ('OpenMPI', '4.1.6', '-NVHPC-24.1-CUDA-12.4.0', True), + ('CUDA', '12.4.0'), +] + +moduleclass = 'toolchain' diff --git a/n/nvompi/nvompi-2024.3.eb b/n/nvompi/nvompi-2024.3.eb new file mode 100644 index 00000000..9507fa6a --- /dev/null +++ b/n/nvompi/nvompi-2024.3.eb @@ -0,0 +1,19 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'Toolchain' + +name = 'nvompi' +version = '2024.3' + +homepage = '(none)' +description = 'NVHPC based compiler toolchain, including OpenMPI for MPI support.' + +toolchain = SYSTEM + +dependencies = [ + ('OpenMPI', '4.1.6', '-NVHPC-24.3-CUDA-12.3.0', True), + ('CUDA', '12.3.0'), +] + +moduleclass = 'toolchain' diff --git a/o/OpenMPI/OpenMPI-4.1.6-NVHPC-23.11-CUDA-12.2.0.eb b/o/OpenMPI/OpenMPI-4.1.6-NVHPC-23.11-CUDA-12.2.0.eb index 1cebec36..b59cae99 100644 --- a/o/OpenMPI/OpenMPI-4.1.6-NVHPC-23.11-CUDA-12.2.0.eb +++ b/o/OpenMPI/OpenMPI-4.1.6-NVHPC-23.11-CUDA-12.2.0.eb @@ -73,7 +73,12 @@ configopts += ' --with-hwloc=$EBROOTHWLOC' # hwloc support configopts += ' --with-slurm' # Enable slurm configopts += ' --enable-mpi-cxx' # Enable building the C++ MPI bindings configopts += ' --with-ucx=$EBROOTUCX' -configopts += ' --with-knem=/opt/knem-1.1.4.90mlnx1' + +import os +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + configopts += ' --with-knem=/opt/knem-1.1.4.90mlnx1' +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + configopts += ' --with-knem=/opt/knem-1.1.4.90mlnx3' osdependencies = [('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel')] @@ -94,7 +99,6 @@ sanity_check_paths = { x for x in [ "mpi-ext", "mpif-config", "mpif", "mpi", "mpi_portable_platform"]], 'dirs': [], } -import os if os.environ.get("CLUSTERNAME") in ["BARBORA"]: modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', diff --git a/o/OpenMPI/OpenMPI-4.1.6-NVHPC-24.1-CUDA-12.4.0.eb b/o/OpenMPI/OpenMPI-4.1.6-NVHPC-24.1-CUDA-12.4.0.eb new file mode 100644 index 00000000..95767d64 --- /dev/null +++ b/o/OpenMPI/OpenMPI-4.1.6-NVHPC-24.1-CUDA-12.4.0.eb @@ -0,0 +1,117 @@ +# IT4Innovations +# LK 2024 + +name = 'OpenMPI' +version = '4.1.6' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +toolchain = {'name': 'NVHPC', 'version': '24.1-CUDA-12.4.0'} + +source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +sources = [SOURCELOWER_TAR_BZ2] +patches = [ + 'OpenMPI-4.1.1_build-with-internal-cuda-header.patch', + 'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch', +] +checksums = [ + 'f740994485516deb63b5311af122c265179f5328a0d857a567b85db00b11e415', # openmpi-4.1.6.tar.bz2 + # OpenMPI-4.1.1_build-with-internal-cuda-header.patch + '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83', + # OpenMPI-4.1.1_opal-datatype-cuda-performance.patch + 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e', +] + +builddependencies = [ + ('pkgconf', '1.9.3'), + ('Perl', '5.36.0'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('CUDA', '12.4.0', '', True), + ('hwloc', '2.8.0'), + ('libevent', '2.1.12'), + ('UCX', '1.16.0'), + ('UCX-CUDA', '1.16.0', '-CUDA-%(cudaver)s'), + ('libfabric', '1.16.1'), + ('PMIx', '4.2.2'), + ('UCC', '1.3.0'), + ('UCC-CUDA', '1.3.0', '-CUDA-%(cudaver)s'), +] + +# Update configure to include changes from the "internal-cuda" patch +# by running a subset of autogen.pl sufficient to achieve this +# without doing the full, long-running regeneration. +preconfigopts = ' && '.join([ + 'cd config', + 'autom4te --language=m4sh opal_get_version.m4sh -o opal_get_version.sh', + 'cd ..', + 'autoconf', + 'autoheader', + 'aclocal', + 'automake', + '' +]) + +# CUDA related patches and custom configure option can be removed if CUDA support isn't wanted. +configopts = ' --with-cuda=internal' +configopts += ' CC=pgcc CXX=pgc++ FC=pgfortran' +configopts += ' CXXFLAGS="-fPIC"' + +# IT4I-specific settings + +#configopts += '--enable-shared ' +configopts += ' --enable-mpi-thread-multiple' +configopts += ' --with-verbs' +configopts += ' --enable-mpirun-prefix-by-default' +configopts += ' --with-hwloc=$EBROOTHWLOC' # hwloc support +configopts += ' --with-slurm' # Enable slurm +configopts += ' --enable-mpi-cxx' # Enable building the C++ MPI bindings +configopts += ' --with-ucx=$EBROOTUCX' + +import os +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + configopts += ' --with-knem=/opt/knem-1.1.4.90mlnx1' +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + configopts += ' --with-knem=/opt/knem-1.1.4.90mlnx3' + +osdependencies = [('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel')] + +postinstallcmds = [ + 'echo "# By default, for Open MPI 4.0 and later, infiniband ports on a device are not used by default." >> %(installdir)s/etc/openmpi-mca-params.conf', + 'echo "btl_openib_allow_ib = true" >> %(installdir)s/etc/openmpi-mca-params.conf', +] + +local_libs = ["mpi_mpifh", "mpi", "ompitrace", "open-pal", "open-rte"] +sanity_check_paths = { + 'files': [ + "bin/%s" % + binfile for binfile in [ + "ompi_info", "opal_wrapper", "orterun"]] + [ + "lib/lib%s.%s" % + (libfile, SHLIB_EXT) for libfile in local_libs] + [ + "include/%s.h" % + x for x in [ + "mpi-ext", "mpif-config", "mpif", "mpi", "mpi_portable_platform"]], 'dirs': [], } + +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', + } + +moduleclass = 'mpi' diff --git a/o/OpenMPI/OpenMPI-4.1.6-NVHPC-24.3-CUDA-12.3.0.eb b/o/OpenMPI/OpenMPI-4.1.6-NVHPC-24.3-CUDA-12.3.0.eb new file mode 100644 index 00000000..ad8b6ca1 --- /dev/null +++ b/o/OpenMPI/OpenMPI-4.1.6-NVHPC-24.3-CUDA-12.3.0.eb @@ -0,0 +1,117 @@ +# IT4Innovations +# LK 2024 + +name = 'OpenMPI' +version = '4.1.6' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +toolchain = {'name': 'NVHPC', 'version': '24.3-CUDA-12.3.0'} + +source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +sources = [SOURCELOWER_TAR_BZ2] +patches = [ + 'OpenMPI-4.1.1_build-with-internal-cuda-header.patch', + 'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch', +] +checksums = [ + 'f740994485516deb63b5311af122c265179f5328a0d857a567b85db00b11e415', # openmpi-4.1.6.tar.bz2 + # OpenMPI-4.1.1_build-with-internal-cuda-header.patch + '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83', + # OpenMPI-4.1.1_opal-datatype-cuda-performance.patch + 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e', +] + +builddependencies = [ + ('pkgconf', '1.9.3'), + ('Perl', '5.36.0'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('CUDA', '12.3.0', '', True), + ('hwloc', '2.8.0'), + ('libevent', '2.1.12'), + ('UCX', '1.16.0'), + ('UCX-CUDA', '1.16.0', '-CUDA-%(cudaver)s'), + ('libfabric', '1.16.1'), + ('PMIx', '4.2.2'), + ('UCC', '1.3.0'), + ('UCC-CUDA', '1.3.0', '-CUDA-%(cudaver)s'), +] + +# Update configure to include changes from the "internal-cuda" patch +# by running a subset of autogen.pl sufficient to achieve this +# without doing the full, long-running regeneration. +preconfigopts = ' && '.join([ + 'cd config', + 'autom4te --language=m4sh opal_get_version.m4sh -o opal_get_version.sh', + 'cd ..', + 'autoconf', + 'autoheader', + 'aclocal', + 'automake', + '' +]) + +# CUDA related patches and custom configure option can be removed if CUDA support isn't wanted. +configopts = ' --with-cuda=internal' +configopts += ' CC=pgcc CXX=pgc++ FC=pgfortran' +configopts += ' CXXFLAGS="-fPIC"' + +# IT4I-specific settings + +#configopts += '--enable-shared ' +configopts += ' --enable-mpi-thread-multiple' +configopts += ' --with-verbs' +configopts += ' --enable-mpirun-prefix-by-default' +configopts += ' --with-hwloc=$EBROOTHWLOC' # hwloc support +configopts += ' --with-slurm' # Enable slurm +configopts += ' --enable-mpi-cxx' # Enable building the C++ MPI bindings +configopts += ' --with-ucx=$EBROOTUCX' + +import os +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + configopts += ' --with-knem=/opt/knem-1.1.4.90mlnx1' +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + configopts += ' --with-knem=/opt/knem-1.1.4.90mlnx3' + +osdependencies = [('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel')] + +postinstallcmds = [ + 'echo "# By default, for Open MPI 4.0 and later, infiniband ports on a device are not used by default." >> %(installdir)s/etc/openmpi-mca-params.conf', + 'echo "btl_openib_allow_ib = true" >> %(installdir)s/etc/openmpi-mca-params.conf', +] + +local_libs = ["mpi_mpifh", "mpi", "ompitrace", "open-pal", "open-rte"] +sanity_check_paths = { + 'files': [ + "bin/%s" % + binfile for binfile in [ + "ompi_info", "opal_wrapper", "orterun"]] + [ + "lib/lib%s.%s" % + (libfile, SHLIB_EXT) for libfile in local_libs] + [ + "include/%s.h" % + x for x in [ + "mpi-ext", "mpif-config", "mpif", "mpi", "mpi_portable_platform"]], 'dirs': [], } + +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + 'SLURM_MPI_TYPE': 'pmix_v4', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + 'SLURM_MPI_TYPE': 'pmix_v4', + } + +moduleclass = 'mpi' diff --git a/o/OpenSSL/OpenSSL-1.0.2n.eb b/o/OpenSSL/OpenSSL-1.0.2n.eb deleted file mode 100644 index 6ed10ffd..00000000 --- a/o/OpenSSL/OpenSSL-1.0.2n.eb +++ /dev/null @@ -1,19 +0,0 @@ -name = 'OpenSSL' -version = '1.0.2n' - -homepage = 'http://www.openssl.org/' -description = """The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, - and Open Source toolchain implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) - protocols as well as a full-strength general purpose cryptography library. """ - -toolchain = SYSTEM -toolchainopts = {'pic': True} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://www.openssl.org/source/'] - -dependencies = [('zlib', '1.2.11', '', True)] - -#runtest = 'test' - -moduleclass = 'system' diff --git a/o/OpenSSL/OpenSSL-1.1-test.eb b/o/OpenSSL/OpenSSL-1.1-test.eb deleted file mode 100644 index ca6a1529..00000000 --- a/o/OpenSSL/OpenSSL-1.1-test.eb +++ /dev/null @@ -1,45 +0,0 @@ -# IT4Innovations -# LK 2022 - -easyblock = 'EB_OpenSSL_wrapper' - -name = 'OpenSSL' -version = '1.1' -minimum_openssl_version = '1.1.1' -versionsuffix = '-test' - -homepage = 'https://www.openssl.org/' -description = """The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, - and Open Source toolchain implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) - protocols as well as a full-strength general purpose cryptography library. """ - -toolchain = SYSTEM -toolchainopts = {'pic': True} - -osdependencies = ['perl'] - -wrap_system_openssl = False - -builddependencies = [('pkg-config', '0.29.2')] - -# This easyconfig will wrap the OpenSSL installation in the host system. -# If the system provides the required binary, header files, and libraries for -# this version of OpenSSL, the installation directory of this module will be -# populated with symlinks to the system files. The minimum required version of -# OpenSSL can be finely controled with 'minimum_openssl_version' (defaults to -# easyconfig version). -# If the host system does not have this version of OpenSSL (or with the option -# wrap_system_openssl = False), EasyBuild will fall back to the following -# component list, which will be build and installed as usual. - -components = [ - (name, '1.1.1k', { - 'easyblock': 'EB_OpenSSL', - 'source_urls': ['https://www.openssl.org/source/'], - 'sources': [SOURCELOWER_TAR_GZ], - 'checksums': ['892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5'], - 'start_dir': '%(namelower)s-%(version)s', - }), -] - -moduleclass = 'system' diff --git a/o/OpenSSL/OpenSSL-1.1.eb b/o/OpenSSL/OpenSSL-1.1.eb deleted file mode 100644 index 0b340c4c..00000000 --- a/o/OpenSSL/OpenSSL-1.1.eb +++ /dev/null @@ -1,44 +0,0 @@ -# IT4Innovations -# LK 2022 - -easyblock = 'EB_OpenSSL_wrapper' - -name = 'OpenSSL' -version = '1.1' -minimum_openssl_version = '1.1.1' - -homepage = 'https://www.openssl.org/' -description = """The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, - and Open Source toolchain implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) - protocols as well as a full-strength general purpose cryptography library. """ - -toolchain = SYSTEM -toolchainopts = {'pic': True} - -osdependencies = ['perl'] - -wrap_system_openssl = False - -builddependencies = [('pkg-config', '0.29.2')] - -# This easyconfig will wrap the OpenSSL installation in the host system. -# If the system provides the required binary, header files, and libraries for -# this version of OpenSSL, the installation directory of this module will be -# populated with symlinks to the system files. The minimum required version of -# OpenSSL can be finely controled with 'minimum_openssl_version' (defaults to -# easyconfig version). -# If the host system does not have this version of OpenSSL (or with the option -# wrap_system_openssl = False), EasyBuild will fall back to the following -# component list, which will be build and installed as usual. - -components = [ - (name, '1.1.1k', { - 'easyblock': 'EB_OpenSSL', - 'source_urls': ['https://www.openssl.org/source/'], - 'sources': [SOURCELOWER_TAR_GZ], - 'checksums': ['892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5'], - 'start_dir': '%(namelower)s-%(version)s', - }), -] - -moduleclass = 'system' diff --git a/p/Python/Python-3.11.5-GCCcore-13.2.0-TB2J.eb b/p/Python/Python-3.11.5-GCCcore-13.2.0-TB2J.eb new file mode 100644 index 00000000..a0348158 --- /dev/null +++ b/p/Python/Python-3.11.5-GCCcore-13.2.0-TB2J.eb @@ -0,0 +1,75 @@ +# IT4Innovations +# LK 2024 +# hack -> pip install TB2J do modulu + +name = 'Python' +version = '3.11.5' +versionsuffix = '-TB2J' + +homepage = 'https://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['a12a0a013a30b846c786c010f2c19dd36b7298d888f7c4bd1581d90ce18b5e58'] + +builddependencies = [ + ('UnZip', '6.0'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('binutils', '2.40'), + ('bzip2', '1.0.8'), # required for bz2 package in Python stdlib + ('zlib', '1.2.13'), + ('libreadline', '8.2'), + ('ncurses', '6.4'), + ('SQLite', '3.43.1'), + ('XZ', '5.4.4'), + ('libffi', '3.4.4'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +install_pip = True + +exts_default_options = { + 'download_dep_fail': True, + 'sanity_pip_check': True, + 'source_urls': [PYPI_SOURCE], + 'use_pip': True, +} + +# order is important! +# package versions updated 2023-09-28 +exts_list = [ + ('flit_core', '3.9.0', { + 'checksums': ['72ad266176c4a3fcfab5f2930d76896059851240570ce9a98733b658cb786eba'], + }), + ('wheel', '0.41.2', { + 'checksums': ['0c5ac5ff2afb79ac23ab82bab027a0be7b5dbcf2e54dc50efe4bf507de1f7985'], + }), + ('tomli', '2.0.1', { + 'checksums': ['de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f'], + }), + ('packaging', '23.2', { + 'checksums': ['048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5'], + }), + ('typing_extensions', '4.8.0', { + 'checksums': ['df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef'], + }), + ('setuptools-scm', '8.0.4', { + 'checksums': ['b5f43ff6800669595193fd09891564ee9d1d7dcb196cab4b2506d53a2e1c95c7'], + }), + ('setuptools', '68.2.2', { + 'checksums': ['4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87'], + }), + ('pip', '23.2.1', { + 'checksums': ['fb0bd5435b3200c602b5bf61d2d43c2f13c02e29c1707567ae7fbc514eb9faf2'], + }), +] + +moduleclass = 'lang' diff --git a/p/Python/Python-3.11.5-GCCcore-13.2.0.eb b/p/Python/Python-3.11.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000..5ad7ceb1 --- /dev/null +++ b/p/Python/Python-3.11.5-GCCcore-13.2.0.eb @@ -0,0 +1,70 @@ +name = 'Python' +version = '3.11.5' + +homepage = 'https://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['a12a0a013a30b846c786c010f2c19dd36b7298d888f7c4bd1581d90ce18b5e58'] + +builddependencies = [ + ('UnZip', '6.0'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('binutils', '2.40'), + ('bzip2', '1.0.8'), # required for bz2 package in Python stdlib + ('zlib', '1.2.13'), + ('libreadline', '8.2'), + ('ncurses', '6.4'), + ('SQLite', '3.43.1'), + ('XZ', '5.4.4'), + ('libffi', '3.4.4'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +install_pip = True + +exts_default_options = { + 'download_dep_fail': True, + 'sanity_pip_check': True, + 'source_urls': [PYPI_SOURCE], + 'use_pip': True, +} + +# order is important! +# package versions updated 2023-09-28 +exts_list = [ + ('flit_core', '3.9.0', { + 'checksums': ['72ad266176c4a3fcfab5f2930d76896059851240570ce9a98733b658cb786eba'], + }), + ('wheel', '0.41.2', { + 'checksums': ['0c5ac5ff2afb79ac23ab82bab027a0be7b5dbcf2e54dc50efe4bf507de1f7985'], + }), + ('tomli', '2.0.1', { + 'checksums': ['de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f'], + }), + ('packaging', '23.2', { + 'checksums': ['048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5'], + }), + ('typing_extensions', '4.8.0', { + 'checksums': ['df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef'], + }), + ('setuptools-scm', '8.0.4', { + 'checksums': ['b5f43ff6800669595193fd09891564ee9d1d7dcb196cab4b2506d53a2e1c95c7'], + }), + ('setuptools', '68.2.2', { + 'checksums': ['4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87'], + }), + ('pip', '23.2.1', { + 'checksums': ['fb0bd5435b3200c602b5bf61d2d43c2f13c02e29c1707567ae7fbc514eb9faf2'], + }), +] + +moduleclass = 'lang' diff --git a/q/QD/QD-2.3.17-NVHPC-24.1-CUDA-12.4.0.eb b/q/QD/QD-2.3.17-NVHPC-24.1-CUDA-12.4.0.eb new file mode 100644 index 00000000..0d59bc6d --- /dev/null +++ b/q/QD/QD-2.3.17-NVHPC-24.1-CUDA-12.4.0.eb @@ -0,0 +1,24 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'ConfigureMake' + +name = 'QD' +version = '2.3.17' +local_gitcommit = 'a5dbb61' + +homepage = 'https://github.com/scibuilder/QD' +description = "Quad Double computation package" + +toolchain = {'name': 'NVHPC', 'version': '24.1-CUDA-12.4.0'} + +source_urls = ['https://github.com/scibuilder/QD/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_gitcommit, 'filename': SOURCE_TAR_GZ}] +checksums = ['1e5949b7d20434193d496c28070d8f2fb6406a7688a86080dfdac57fbe730624'] + +sanity_check_paths = { + 'files': ['lib/lib%s.a' % x for x in ['qdmod', 'qd']], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/q/QD/QD-2.3.17-NVHPC-24.3-CUDA-12.3.0.eb b/q/QD/QD-2.3.17-NVHPC-24.3-CUDA-12.3.0.eb new file mode 100644 index 00000000..c6abdcdd --- /dev/null +++ b/q/QD/QD-2.3.17-NVHPC-24.3-CUDA-12.3.0.eb @@ -0,0 +1,24 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'ConfigureMake' + +name = 'QD' +version = '2.3.17' +local_gitcommit = 'a5dbb61' + +homepage = 'https://github.com/scibuilder/QD' +description = "Quad Double computation package" + +toolchain = {'name': 'NVHPC', 'version': '24.3-CUDA-12.3.0'} + +source_urls = ['https://github.com/scibuilder/QD/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_gitcommit, 'filename': SOURCE_TAR_GZ}] +checksums = ['1e5949b7d20434193d496c28070d8f2fb6406a7688a86080dfdac57fbe730624'] + +sanity_check_paths = { + 'files': ['lib/lib%s.a' % x for x in ['qdmod', 'qd']], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/s/ScaLAPACK/ScaLAPACK-3.0-NVHPC-24.1-CUDA-12.4.0.eb b/s/ScaLAPACK/ScaLAPACK-3.0-NVHPC-24.1-CUDA-12.4.0.eb new file mode 100644 index 00000000..d14f8f4c --- /dev/null +++ b/s/ScaLAPACK/ScaLAPACK-3.0-NVHPC-24.1-CUDA-12.4.0.eb @@ -0,0 +1,49 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'CMakeMake' + +name = 'ScaLAPACK' +version = '3.0' + +homepage = 'https://www.netlib.org/scalapack/' +description = """The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines +redesigned for distributed memory MIMD parallel computers.""" + +toolchain = {'name': 'NVHPC', 'version': '24.1-CUDA-12.4.0'} +toolchainopts = {'pic': True} + +# https://github.com/amd/scalapack/archive/3.0.tar.gz +source_urls = ['https://github.com/amd/scalapack/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['6e6f3578f44a8e64518d276e7580530599ecfa8729f568303ed2590688e7096f'] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('OpenMPI', '4.1.6'), + ('BLIS', '3.1', '-amd'), + ('libFLAME', '5.2.0'), +] + +# Config Opts based on AOCL User Guide: +# https://developer.amd.com/wp-content/resources/AOCL_User%20Guide_2.2.pdf + +configopts = '-DBUILD_SHARED_LIBS=ON ' +configopts += '-DBLAS_LIBRARIES="$EBROOTBLIS/lib/libblis-mt.a" ' +configopts += '-DLAPACK_LIBRARIES="$EBROOTLIBFLAME/lib/libflame.a" ' +configopts += '-DCMAKE_C_COMPILER=mpicc ' +configopts += '-DCMAKE_Fortran_COMPILER=mpif90 ' +configopts += '-DUSE_OPTIMIZED_LAPACK_BLAS=ON ' +configopts += '-DUSE_F2C=ON ' +configopts += '-DCMAKE_Fortran_FLAGS="-lpthread -fopenmp $DCMAKE_Fortran_FLAGS" ' + +sanity_check_paths = { + 'files': ['lib/libscalapack.%s' % SHLIB_EXT, 'lib64/libscalapack.%s' % SHLIB_EXT], + 'dirs': ["lib", "lib64"], +} + + +moduleclass = 'numlib' diff --git a/s/ScaLAPACK/ScaLAPACK-3.0-NVHPC-24.3-CUDA-12.3.0.eb b/s/ScaLAPACK/ScaLAPACK-3.0-NVHPC-24.3-CUDA-12.3.0.eb new file mode 100644 index 00000000..3983c92b --- /dev/null +++ b/s/ScaLAPACK/ScaLAPACK-3.0-NVHPC-24.3-CUDA-12.3.0.eb @@ -0,0 +1,49 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'CMakeMake' + +name = 'ScaLAPACK' +version = '3.0' + +homepage = 'https://www.netlib.org/scalapack/' +description = """The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines +redesigned for distributed memory MIMD parallel computers.""" + +toolchain = {'name': 'NVHPC', 'version': '24.3-CUDA-12.3.0'} +toolchainopts = {'pic': True} + +# https://github.com/amd/scalapack/archive/3.0.tar.gz +source_urls = ['https://github.com/amd/scalapack/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['6e6f3578f44a8e64518d276e7580530599ecfa8729f568303ed2590688e7096f'] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('OpenMPI', '4.1.6'), + ('BLIS', '3.1', '-amd'), + ('libFLAME', '5.2.0'), +] + +# Config Opts based on AOCL User Guide: +# https://developer.amd.com/wp-content/resources/AOCL_User%20Guide_2.2.pdf + +configopts = '-DBUILD_SHARED_LIBS=ON ' +configopts += '-DBLAS_LIBRARIES="$EBROOTBLIS/lib/libblis-mt.a" ' +configopts += '-DLAPACK_LIBRARIES="$EBROOTLIBFLAME/lib/libflame.a" ' +configopts += '-DCMAKE_C_COMPILER=mpicc ' +configopts += '-DCMAKE_Fortran_COMPILER=mpif90 ' +configopts += '-DUSE_OPTIMIZED_LAPACK_BLAS=ON ' +configopts += '-DUSE_F2C=ON ' +configopts += '-DCMAKE_Fortran_FLAGS="-lpthread -fopenmp $DCMAKE_Fortran_FLAGS" ' + +sanity_check_paths = { + 'files': ['lib/libscalapack.%s' % SHLIB_EXT, 'lib64/libscalapack.%s' % SHLIB_EXT], + 'dirs': ["lib", "lib64"], +} + + +moduleclass = 'numlib' diff --git a/s/Siesta/Siesta-5.0.0-beta1-foss-2023b.eb b/s/Siesta/Siesta-5.0.0-beta1-foss-2023b.eb new file mode 100644 index 00000000..d22383bc --- /dev/null +++ b/s/Siesta/Siesta-5.0.0-beta1-foss-2023b.eb @@ -0,0 +1,35 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'CMakeMake' + +name = 'Siesta' +version = '5.0.0-beta1' + +homepage = 'http://departments.icmab.es/leem/siesta' +description = """SIESTA is both a method and its computer program implementation, to perform efficient electronic + structure calculations and ab initio molecular dynamics simulations of molecules and solids.""" + +toolchain = {'name': 'foss', 'version': '2023b'} +toolchainopts = {'usempi': True, 'precise': True} + +#https://gitlab.com/siesta-project/siesta/-/archive/5.0.0-beta1/siesta-5.0.0-beta1.tar.gz +source_urls = ['https://gitlab.com/siesta-project/siesta/-/archive/%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['de7527b917cd0179d66aada681276a6656a035c9a737d8ba519cdc11f1f4a487'] + +dependencies = [ + ('netCDF-Fortran', '4.6.1'), + ('METIS', '5.1.0'), + ('ELPA', '2023.11.001'), + ('CMake', '3.27.6'), + ('libreadline', '8.2'), +] + +# transiesta is now siesta --electrode +# nebreakujeme user habit a existujici skripty +#with_transiesta = True + +# runtest = 'check' + +moduleclass = 'phys' diff --git a/s/scikit-build-core/scikit-build-core-0.5.0-GCCcore-13.2.0.eb b/s/scikit-build-core/scikit-build-core-0.5.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000..6a1d0be8 --- /dev/null +++ b/s/scikit-build-core/scikit-build-core-0.5.0-GCCcore-13.2.0.eb @@ -0,0 +1,36 @@ +# IT4Innnovations +# LK 2024 + +easyblock = 'PythonBundle' + +name = 'scikit-build-core' +version = '0.5.0' + +homepage = 'https://scikit-build.readthedocs.io/en/latest/' +description = """Scikit-build-core is a complete ground-up rewrite of scikit-build on top of +modern packaging APIs. It provides a bridge between CMake and the Python build +system, allowing you to make Python modules with CMake.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('CMake', '3.27.6'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('scikit_build_core', version, { + 'checksums': ['a42a95029b34b5cf892855342d9b9445c774cb797fcb24c8fc4c2fb42b18dfca'], + }), +] + +moduleclass = 'lib' diff --git a/s/spglib-python/spglib-python-2.1.0-gfbf-2023b.eb b/s/spglib-python/spglib-python-2.1.0-gfbf-2023b.eb new file mode 100644 index 00000000..ccd9f551 --- /dev/null +++ b/s/spglib-python/spglib-python-2.1.0-gfbf-2023b.eb @@ -0,0 +1,35 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'PythonBundle' + +name = 'spglib-python' +version = '2.1.0' + +homepage = 'https://pypi.python.org/pypi/spglib' +description = "Spglib for Python. Spglib is a library for finding and handling crystal symmetries written in C." + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +builddependencies = [ + ('scikit-build-core', '0.5.0'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('pyproject-metadata', '0.7.1', { + 'checksums': ['0a94f18b108b9b21f3a26a3d541f056c34edcb17dc872a144a15618fed7aef67'], + }), + ('spglib', version, { + 'checksums': ['8143545fdffc11fbcda4d705a6b6bcd4889de9bc3524b78df866a36dd0de0a4b'], + }), +] + +moduleclass = 'chem' diff --git a/s/squashfs-tools/squashfs-tools-4.3.eb b/s/squashfs-tools/squashfs-tools-4.3.eb index 6560a6b6..a424cab6 100644 --- a/s/squashfs-tools/squashfs-tools-4.3.eb +++ b/s/squashfs-tools/squashfs-tools-4.3.eb @@ -12,12 +12,13 @@ toolchain = SYSTEM sources = ['master.zip'] source_urls = ['https://github.com/plougher/squashfs-tools/archive'] +checksums = ['46f21034c3bbb6aad1792365f608c81e04149d01a46e04b3dc4153c3592eed1b'] skipsteps = ['configure'] start_dir = 'squashfs-tools' -prebuildopts = 'sed -i "s|INSTALL_DIR = /usr/local/bin|INSTALL_DIR = %(installdir)s/bin|g" Makefile && ' +prebuildopts = 'sed -i "s|INSTALL_PREFIX = /usr/local|INSTALL_PREFIX = %(installdir)s|g" Makefile && ' sanity_check_paths = { 'files': ['bin/mksquashfs', 'bin/unsquashfs'], diff --git a/t/TB2J/TB2J-7.1.1-Python-3.8.6-GCCcore-10.2.0.eb b/t/TB2J/TB2J-7.1.1-Python-3.8.6-GCCcore-10.2.0.eb deleted file mode 100644 index d69b835f..00000000 --- a/t/TB2J/TB2J-7.1.1-Python-3.8.6-GCCcore-10.2.0.eb +++ /dev/null @@ -1,433 +0,0 @@ -# IT4Innovations -# LK - -name = 'Python' -version = '3.8.6' -versionsuffix = '-TB2J-7.1.1.1' - -homepage = 'https://python.org/' -description = """Python is a programming language that lets you work more quickly and integrate your systems - more effectively.""" - -toolchain = {'name': 'GCCcore', 'version': '10.2.0'} -toolchainopts = {'pic': True} - -source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/'] -sources = [SOURCE_TGZ] -checksums = ['313562ee9986dc369cd678011bdfd9800ef62fbf7b1496228a18f86b36428c21'] - -builddependencies = [ - ('UnZip', '6.0'), - ('git', '2.28.0', '-nodocs'), # required for pbr -] - -dependencies = [ - ('binutils', '2.35'), - ('bzip2', '1.0.8'), # required for bz2 package in Python stdlib - ('zlib', '1.2.11'), - ('libreadline', '8.0'), - ('ncurses', '6.2'), - ('SQLite', '3.33.0'), - ('XZ', '5.2.5'), - ('GMP', '6.2.0'), # required for pycrypto - ('libffi', '3.3'), - # OS dependency should be preferred if the os version is more recent then this version, - # it's nice to have an up to date openssl for security reasons - # Python 3.7 requires OpenSSL >= 1.0.2, uncomment line below if OS version is too old (e.g. CentOS 6) - # ('OpenSSL', '1.1.1h'), -] - -osdependencies = [OS_PKG_OPENSSL_DEV] - -install_pip = True - -exts_default_options = { - 'download_dep_fail': True, - 'sanity_pip_check': True, - 'source_urls': [PYPI_SOURCE], - 'use_pip': True, -} - - -# order is important! -# package versions updated 13 October 2020 -exts_list = [ - ('setuptools', '50.3.0', { - 'source_tmpl': '%(name)s-%(version)s.zip', - 'checksums': ['39060a59d91cf5cf403fa3bacbb52df4205a8c3585e0b9ba4b30e0e19d4c4b18'], - }), - ('wheel', '0.35.1', { - 'checksums': ['99a22d87add3f634ff917310a3d87e499f19e663413a52eb9232c447aa646c9f'], - }), - ('pip', '20.2.3', { - 'checksums': ['30c70b6179711a7c4cf76da89e8a0f5282279dfb0278bec7b94134be92543b6d'], - }), - ('nose', '1.3.7', { - 'checksums': ['f1bffef9cbc82628f6e7d7b40d7e255aefaa1adb6a1b1d26c69a8b79e6208a98'], - }), - ('blist', '1.3.6', { - 'checksums': ['3a12c450b001bdf895b30ae818d4d6d3f1552096b8c995f0fe0c74bef04d1fc3'], - }), - ('paycheck', '1.0.2', { - 'checksums': ['6db7fc367c146cd59d2327ad4d2d6b0a24bc1be2d6953bb0773cbf702ee1ed34'], - }), - ('pbr', '5.5.0', { - 'checksums': ['14bfd98f51c78a3dd22a1ef45cf194ad79eee4a19e8e1a0d5c7f8e81ffe182ea'], - }), - ('Cython', '0.29.21', { - 'checksums': ['e57acb89bd55943c8d8bf813763d20b9099cc7165c0f16b707631a7654be9cad'], - }), - ('six', '1.15.0', { - 'checksums': ['30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259'], - }), - ('toml', '0.10.1', { - 'checksums': ['926b612be1e5ce0634a2ca03470f95169cf16f939018233a670519cb4ac58b0f'], - }), - ('setuptools_scm', '4.1.2', { - 'checksums': ['a8994582e716ec690f33fec70cca0f85bd23ec974e3f783233e4879090a7faa8'], - }), - ('python-dateutil', '2.8.1', { - 'modulename': 'dateutil', - 'checksums': ['73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c'], - }), - ('decorator', '4.4.2', { - 'checksums': ['e3a62f0520172440ca0dcc823749319382e377f37f140a0b99ef45fecb84bfe7'], - }), - ('liac-arff', '2.5.0', { - 'modulename': 'arff', - 'checksums': ['3220d0af6487c5aa71b47579be7ad1d94f3849ff1e224af3bf05ad49a0b5c4da'], - }), - ('pycrypto', '2.6.1', { - 'modulename': 'Crypto', - 'patches': ['pycrypto-2.6.1_remove-usr-include.patch'], - 'checksums': [ - 'f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c', # pycrypto-2.6.1.tar.gz - # pycrypto-2.6.1_remove-usr-include.patch - '06c3d3bb290305e1360a023ea03f9281116c230de62382e6be9474996086712e', - ], - }), - ('ecdsa', '0.16.0', { - 'checksums': ['494c6a853e9ed2e9be33d160b41d47afc50a6629b993d2b9c5ad7bb226add892'], - }), - ('ipaddress', '1.0.23', { - 'checksums': ['b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2'], - }), - ('asn1crypto', '1.4.0', { - 'checksums': ['f4f6e119474e58e04a2b1af817eb585b4fd72bdd89b998624712b5c99be7641c'], - }), - ('idna', '2.10', { - 'checksums': ['b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6'], - }), - ('pycparser', '2.20', { - 'checksums': ['2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0'], - }), - ('cffi', '1.14.3', { - 'checksums': ['f92f789e4f9241cd262ad7a555ca2c648a98178a953af117ef7fad46aa1d5591'], - }), - ('cryptography', '3.1.1', { - 'checksums': ['9d9fc6a16357965d282dd4ab6531013935425d0dc4950df2e0cf2a1b1ac1017d'], - }), - ('pyasn1', '0.4.8', { - 'checksums': ['aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba'], - }), - ('PyNaCl', '1.4.0', { - 'modulename': 'nacl', - 'checksums': ['54e9a2c849c742006516ad56a88f5c74bf2ce92c9f67435187c3c5953b346505'], - }), - ('bcrypt', '3.2.0', { - 'checksums': ['5b93c1726e50a93a033c36e5ca7fdcd29a5c7395af50a6892f5d9e7c6cfbfb29'], - }), - ('paramiko', '2.7.2', { - 'checksums': ['7f36f4ba2c0d81d219f4595e35f70d56cc94f9ac40a6acdf51d6ca210ce65035'], - }), - ('pyparsing', '2.4.7', { - 'checksums': ['c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1'], - }), - ('netifaces', '0.10.9', { - 'checksums': ['2dee9ffdd16292878336a58d04a20f0ffe95555465fee7c9bd23b3490ef2abf3'], - }), - ('netaddr', '0.8.0', { - 'checksums': ['d6cc57c7a07b1d9d2e917aa8b36ae8ce61c35ba3fcd1b83ca31c5a0ee2b5a243'], - }), - ('mock', '4.0.2', { - 'checksums': ['dd33eb70232b6118298d516bbcecd26704689c386594f0f3c4f13867b2c56f72'], - }), - ('pytz', '2020.1', { - 'checksums': ['c35965d010ce31b23eeb663ed3cc8c906275d6be1a34393a1d73a41febf4a048'], - }), - ('bitstring', '3.1.7', { - 'checksums': ['fdf3eb72b229d2864fb507f8f42b1b2c57af7ce5fec035972f9566de440a864a'], - }), - ('appdirs', '1.4.4', { - 'checksums': ['7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41'], - }), - ('distlib', '0.3.1', { - 'source_tmpl': 'distlib-%(version)s.zip', - 'checksums': ['edf6116872c863e1aa9d5bb7cb5e05a022c519a4594dc703843343a9ddd9bff1'], - }), - ('filelock', '3.0.12', { - 'checksums': ['18d82244ee114f543149c66a6e0c14e9c4f8a1044b5cdaadd0f82159d6a6ff59'], - }), - ('importlib_metadata', '2.0.0', { - 'checksums': ['77a540690e24b0305878c37ffd421785a6f7e53c8b5720d211b211de8d0e95da'], - }), - ('virtualenv', '20.0.34', { - 'checksums': ['4bf0e2bf99d33b123a895a5a244f0d7adb2a92171c6bbb31c3e2db235624abf1'], - }), - ('docopt', '0.6.2', { - 'checksums': ['49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491'], - }), - ('joblib', '0.17.0', { - 'checksums': ['9e284edd6be6b71883a63c9b7f124738a3c16195513ad940eae7e3438de885d5'], - }), - ('chardet', '3.0.4', { - 'checksums': ['84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae'], - }), - ('certifi', '2020.6.20', { - 'checksums': ['5930595817496dd21bb8dc35dad090f1c2cd0adfaf21204bf6732ca5d8ee34d3'], - }), - ('urllib3', '1.25.10', { - 'checksums': ['91056c15fa70756691db97756772bb1eb9678fa585d9184f24534b100dc60f4a'], - }), - ('requests', '2.24.0', { - 'checksums': ['b3559a131db72c33ee969480840fff4bb6dd111de7dd27c8ee1f820f4f00231b'], - }), - ('xlrd', '1.2.0', { - 'checksums': ['546eb36cee8db40c3eaa46c351e67ffee6eeb5fa2650b71bc4c758a29a1b29b2'], - }), - ('py_expression_eval', '0.3.10', { - 'checksums': ['43038326b686df697f9533895184c15d18769e215abbd8bcecaea607483f35b3'], - }), - ('tabulate', '0.8.7', { - 'checksums': ['db2723a20d04bcda8522165c73eea7c300eda74e0ce852d9022e0159d7895007'], - }), - ('ujson', '4.0.1', { - 'checksums': ['26cf6241b36ff5ce4539ae687b6b02673109c5e3efc96148806a7873eaa229d3'], - }), - ('atomicwrites', '1.4.0', { - 'checksums': ['ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a'], - }), - ('py', '1.9.0', { - 'checksums': ['9ca6883ce56b4e8da7e79ac18787889fa5206c79dcc67fb065376cd2fe03f342'], - }), - ('scandir', '1.10.0', { - 'checksums': ['4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae'], - }), - ('pathlib2', '2.3.5', { - 'checksums': ['6cd9a47b597b37cc57de1c05e56fb1a1c9cc9fab04fe78c29acd090418529868'], - }), - ('zipp', '3.3.0', { - 'checksums': ['64ad89efee774d1897a58607895d80789c59778ea02185dd846ac38394a8642b'], - }), - ('pluggy', '0.13.1', { - 'checksums': ['15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0'], - }), - ('more-itertools', '8.5.0', { - 'checksums': ['6f83822ae94818eae2612063a5101a7311e68ae8002005b5e05f03fd74a86a20'], - }), - ('attrs', '20.2.0', { - 'modulename': 'attr', - 'checksums': ['26b54ddbbb9ee1d34d5d3668dd37d6cf74990ab23c828c2888dccdceee395594'], - }), - ('wcwidth', '0.2.5', { - 'checksums': ['c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83'], - }), - ('iniconfig', '1.0.1', { - 'checksums': ['e5f92f89355a67de0595932a6c6c02ab4afddc6fcdc0bfc5becd0d60884d3f69'], - }), - ('pytest', '6.1.1', { - 'checksums': ['8f593023c1a0f916110285b6efd7f99db07d59546e3d8c36fc60e2ab05d3be92'], - }), - ('MarkupSafe', '1.1.1', { - 'checksums': ['29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b'], - }), - ('Jinja2', '2.11.2', { - 'checksums': ['89aab215427ef59c34ad58735269eb58b1a5808103067f7bb9d5836c651b3bb0'], - }), - ('packaging', '20.4', { - 'checksums': ['4357f74f47b9c12db93624a82154e9b120fa8293699949152b22065d556079f8'], - }), - ('sphinxcontrib-websupport', '1.2.4', { - 'modulename': 'sphinxcontrib.websupport', - 'checksums': ['4edf0223a0685a7c485ae5a156b6f529ba1ee481a1417817935b20bde1956232'], - }), - ('Pygments', '2.7.1', { - 'checksums': ['926c3f319eda178d1bd90851e4317e6d8cdb5e292a3386aac9bd75eca29cf9c7'], - }), - ('imagesize', '1.2.0', { - 'checksums': ['b1f6b5a4eab1f73479a50fb79fcf729514a900c341d8503d62a62dbc4127a2b1'], - }), - ('docutils', '0.16', { - 'checksums': ['c2de3a60e9e7d07be26b7f2b00ca0309c207e06c100f9cc2a94931fc75a478fc'], - }), - ('snowballstemmer', '2.0.0', { - 'checksums': ['df3bac3df4c2c01363f3dd2cfa78cce2840a79b9f1c2d2de9ce8d31683992f52'], - }), - ('Babel', '2.8.0', { - 'checksums': ['1aac2ae2d0d8ea368fa90906567f5c08463d98ade155c0c4bfedd6a0f7160e38'], - }), - ('alabaster', '0.7.12', { - 'checksums': ['a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02'], - }), - ('sphinxcontrib-applehelp', '1.0.2', { - 'modulename': 'sphinxcontrib.applehelp', - 'checksums': ['a072735ec80e7675e3f432fcae8610ecf509c5f1869d17e2eecff44389cdbc58'], - }), - ('sphinxcontrib-devhelp', '1.0.2', { - 'modulename': 'sphinxcontrib.devhelp', - 'checksums': ['ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4'], - }), - ('sphinxcontrib-htmlhelp', '1.0.3', { - 'modulename': 'sphinxcontrib.htmlhelp', - 'checksums': ['e8f5bb7e31b2dbb25b9cc435c8ab7a79787ebf7f906155729338f3156d93659b'], - }), - ('sphinxcontrib-jsmath', '1.0.1', { - 'modulename': 'sphinxcontrib.jsmath', - 'checksums': ['a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8'], - }), - ('sphinxcontrib-qthelp', '1.0.3', { - 'modulename': 'sphinxcontrib.qthelp', - 'checksums': ['4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72'], - }), - ('sphinxcontrib-serializinghtml', '1.1.4', { - 'modulename': 'sphinxcontrib.serializinghtml', - 'checksums': ['eaa0eccc86e982a9b939b2b82d12cc5d013385ba5eadcc7e4fed23f4405f77bc'], - }), - ('Sphinx', '3.2.1', { - 'checksums': ['321d6d9b16fa381a5306e5a0b76cd48ffbc588e6340059a729c6fdd66087e0e8'], - }), - ('sphinx-bootstrap-theme', '0.7.1', { - 'checksums': ['571e43ccb76d4c6c06576aa24a826b6ebc7adac45a5b54985200128806279d08'], - }), - ('colorama', '0.4.3', { - 'checksums': ['e96da0d330793e2cb9485e9ddfd918d456036c7149416295932478192f4436a1'], - }), - ('click', '7.1.2', { - 'checksums': ['d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a'], - }), - ('psutil', '5.7.2', { - 'checksums': ['90990af1c3c67195c44c9a889184f84f5b2320dce3ee3acbd054e3ba0b4a7beb'], - }), - ('future', '0.18.2', { - 'checksums': ['b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d'], - }), - ('sortedcontainers', '2.2.2', { - 'checksums': ['4e73a757831fc3ca4de2859c422564239a31d8213d09a2a666e375807034d2ba'], - }), - ('intervaltree', '3.1.0', { - 'checksums': ['902b1b88936918f9b2a19e0e5eb7ccb430ae45cde4f39ea4b36932920d33952d'], - }), - ('pytoml', '0.1.21', { - 'checksums': ['8eecf7c8d0adcff3b375b09fe403407aa9b645c499e5ab8cac670ac4a35f61e7'], - }), - ('flit-core', '3.0.0', { - 'source_tmpl': 'flit_core-%(version)s.tar.gz', - 'checksums': ['a465052057e2d6d957e6850e9915245adedfc4fd0dd5737d0791bf3132417c2d'], - }), - ('flit', '3.0.0', { - 'checksums': ['b4fe0f84a1ffbf125d003e253ec98c0b6e3e31290b31fba3ad22d28588c20893'], - }), - ('regex', '2020.10.11', { - 'checksums': ['463e770c48da76a8da82b8d4a48a541f314e0df91cbb6d873a341dbe578efafd'], - }), - ('intreehooks', '1.0', { - 'checksums': ['87e600d3b16b97ed219c078681260639e77ef5a17c0e0dbdd5a302f99b4e34e1'], - }), - ('pylev', '1.3.0', { - 'checksums': ['063910098161199b81e453025653ec53556c1be7165a9b7c50be2f4d57eae1c3'], - }), - ('pastel', '0.2.1', { - 'source_tmpl': SOURCE_WHL, - 'checksums': ['4349225fcdf6c2bb34d483e523475de5bb04a5c10ef711263452cb37d7dd4364'], - }), - ('clikit', '0.6.2', { - 'source_tmpl': SOURCE_WHL, - 'checksums': ['71268e074e68082306e23d7369a7b99f824a0ef926e55ba2665e911f7208489e'], - }), - ('SecretStorage', '3.1.2', { - 'checksums': ['15da8a989b65498e29be338b3b279965f1b8f09b9668bd8010da183024c8bff6'], - }), - ('keyring', '21.4.0', { - 'modulename': False, # Doesn't work properly if HOME directory contains keys - 'checksums': ['9aeadd006a852b78f4b4ef7c7556c2774d2432bbef8ee538a3e9089ac8b11466'], - }), - ('keyrings.alt', '4.0.0', { - 'modulename': False, # Doesn't work properly if HOME directory contains keys - 'checksums': ['f70ef01a8f2b968b83643db370a1e85bc0e4bc8b358f9661504279afb019d21d'], - }), - ('tomlkit', '0.7.0', { - 'source_tmpl': SOURCE_WHL, - 'checksums': ['6babbd33b17d5c9691896b0e68159215a9387ebfa938aa3ac42f4a4beeb2b831'], - }), - ('shellingham', '1.3.2', { - 'checksums': ['576c1982bea0ba82fb46c36feb951319d7f42214a82634233f58b40d858a751e'], - }), - ('requests-toolbelt', '0.9.1', { - 'checksums': ['968089d4584ad4ad7c171454f0a5c6dac23971e9472521ea3b6d49d610aa6fc0'], - }), - ('pyrsistent', '0.17.3', { - 'checksums': ['2e636185d9eb976a18a8a8e96efce62f2905fea90041958d8cc2a189756ebf3e'], - }), - ('pkginfo', '1.5.0.1', { - 'checksums': ['7424f2c8511c186cd5424bbf31045b77435b37a8d604990b79d4e70d741148bb'], - }), - ('pexpect', '4.8.0', { - 'checksums': ['fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c'], - }), - ('jsonschema', '3.2.0', { - 'checksums': ['c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a'], - }), - ('simplejson', '3.17.2', { - 'checksums': ['75ecc79f26d99222a084fbdd1ce5aad3ac3a8bd535cd9059528452da38b68841'], - }), - ('webencodings', '0.5.1', { - 'checksums': ['b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923'], - }), - ('html5lib', '1.1', { - 'checksums': ['b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f'], - }), - ('cleo', '0.8.1', { - 'source_tmpl': SOURCE_WHL, - 'checksums': ['141cda6dc94a92343be626bb87a0b6c86ae291dfc732a57bf04310d4b4201753'], - }), - ('cachy', '0.3.0', { - 'checksums': ['186581f4ceb42a0bbe040c407da73c14092379b1e4c0e327fdb72ae4a9b269b1'], - }), - ('msgpack', '1.0.0', { - 'checksums': ['9534d5cc480d4aff720233411a1f765be90885750b07df772380b34c10ecb5c0'], - }), - ('CacheControl', '0.12.6', { - 'checksums': ['be9aa45477a134aee56c8fac518627e1154df063e85f67d4f83ce0ccc23688e8'], - }), - ('ptyprocess', '0.6.0', { - 'checksums': ['923f299cc5ad920c68f2bc0bc98b75b9f838b93b599941a6b63ddbc2476394c0'], - }), - ('lockfile', '0.12.2', { - 'checksums': ['6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799'], - }), - ('poetry-core', '1.0.0', { - 'modulename': 'poetry.core', - 'checksums': ['6a664ff389b9f45382536f8fa1611a0cb4d2de7c5a5c885db1f0c600cd11fbd5'], - }), - ('poetry', '1.1.3', { - 'checksums': ['49eae89e2c44b0323214d0bbcefc21ebe3a19baa44db98eefabd4db9e82c7253'], - }), - ('crashtest', '0.3.1', { - 'checksums': ['42ca7b6ce88b6c7433e2ce47ea884e91ec93104a4b754998be498a8e6c3d37dd'], - }), - ('jeepney', '0.4.3', { - 'checksums': ['3479b861cc2b6407de5188695fa1a8d57e5072d7059322469b62628869b8e36e'], - }), - ('fsspec', '0.8.4', { - 'checksums': ['e1e494d4814f6804769f3c7bfd7a722a15113cc0339d14755297f09306b8f21f'], - }), - ('threadpoolctl', '2.1.0', { - 'checksums': ['ddc57c96a38beb63db45d6c159b5ab07b6bced12c45a1f07b2b92f272aebfa6b'], - }), - ('simplegeneric', '0.8.1', { - 'source_tmpl': 'simplegeneric-%(version)s.zip', - 'checksums': ['dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173'], - }), -] - -moduleclass = 'lang' diff --git a/u/UCC-CUDA/UCC-CUDA-1.3.0-GCCcore-12.2.0-CUDA-12.3.0.eb b/u/UCC-CUDA/UCC-CUDA-1.3.0-GCCcore-12.2.0-CUDA-12.3.0.eb new file mode 100644 index 00000000..e6c65854 --- /dev/null +++ b/u/UCC-CUDA/UCC-CUDA-1.3.0-GCCcore-12.2.0-CUDA-12.3.0.eb @@ -0,0 +1,59 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'ConfigureMake' + +name = 'UCC-CUDA' +version = '1.3.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.openucx.org/' +description = """UCC (Unified Collective Communication) is a collective +communication operations API and library that is flexible, complete, and +feature-rich for current and emerging programming models and runtimes. + +This module adds the UCC CUDA support. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucc/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +#patches = [ +# '%(name)s-1.3.0_link_against_existing_UCC_libs.patch', +# '%(name)s-1.3.0_cuda_12_mem_ops.patch', +#] +checksums = [ + {'v1.3.0.tar.gz': 'b56379abe5f1c125bfa83be305d78d81a64aa271b7b5fff0ac17b86725ff3acf'}, + {'UCC-CUDA-1.3.0_link_against_existing_UCC_libs.patch': '328e0f7e4de76a9dc6ecc07427581df661c27f6c0ace24f49a7b3289a39777c7'}, + {'UCC-CUDA-1.3.0_cuda_12_mem_ops.patch': 'fc3ea1487d29dc626db2363ef5a79e7f0906f6a7507a363fa6167a812b143eb6'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('UCC', '1.3.0'), + ('CUDA', '12.3.0', '', SYSTEM), + ('UCX-CUDA', '1.16.0', '-CUDA-%(cudaver)s'), + ('NCCL', '2.21.5', '-CUDA-%(cudaver)s'), +] + +preconfigopts = "./autogen.sh && " + +buildopts = '-C src/components/mc/cuda V=1 && make -C src/components/tl/nccl V=1' +installopts = '-C src/components/mc/cuda && make -C src/components/tl/nccl install' + +sanity_check_paths = { + 'files': ['lib/ucc/libucc_mc_cuda.%s' % SHLIB_EXT, 'lib/ucc/libucc_tl_nccl.%s' % SHLIB_EXT], + 'dirs': ['lib'] +} + +sanity_check_commands = ["ucc_info -c"] + +modextrapaths = {'EB_UCC_EXTRA_COMPONENT_PATH': 'lib/ucc'} + +moduleclass = 'lib' diff --git a/u/UCC-CUDA/UCC-CUDA-1.3.0-GCCcore-12.2.0-CUDA-12.4.0.eb b/u/UCC-CUDA/UCC-CUDA-1.3.0-GCCcore-12.2.0-CUDA-12.4.0.eb new file mode 100644 index 00000000..9e01dab2 --- /dev/null +++ b/u/UCC-CUDA/UCC-CUDA-1.3.0-GCCcore-12.2.0-CUDA-12.4.0.eb @@ -0,0 +1,59 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'ConfigureMake' + +name = 'UCC-CUDA' +version = '1.3.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.openucx.org/' +description = """UCC (Unified Collective Communication) is a collective +communication operations API and library that is flexible, complete, and +feature-rich for current and emerging programming models and runtimes. + +This module adds the UCC CUDA support. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucc/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +#patches = [ +# '%(name)s-1.3.0_link_against_existing_UCC_libs.patch', +# '%(name)s-1.3.0_cuda_12_mem_ops.patch', +#] +checksums = [ + {'v1.3.0.tar.gz': 'b56379abe5f1c125bfa83be305d78d81a64aa271b7b5fff0ac17b86725ff3acf'}, + {'UCC-CUDA-1.3.0_link_against_existing_UCC_libs.patch': '328e0f7e4de76a9dc6ecc07427581df661c27f6c0ace24f49a7b3289a39777c7'}, + {'UCC-CUDA-1.3.0_cuda_12_mem_ops.patch': 'fc3ea1487d29dc626db2363ef5a79e7f0906f6a7507a363fa6167a812b143eb6'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('UCC', '1.3.0'), + ('CUDA', '12.4.0', '', SYSTEM), + ('UCX-CUDA', '1.16.0', '-CUDA-%(cudaver)s'), + ('NCCL', '2.21.5', '-CUDA-%(cudaver)s'), +] + +preconfigopts = "./autogen.sh && " + +buildopts = '-C src/components/mc/cuda V=1 && make -C src/components/tl/nccl V=1' +installopts = '-C src/components/mc/cuda && make -C src/components/tl/nccl install' + +sanity_check_paths = { + 'files': ['lib/ucc/libucc_mc_cuda.%s' % SHLIB_EXT, 'lib/ucc/libucc_tl_nccl.%s' % SHLIB_EXT], + 'dirs': ['lib'] +} + +sanity_check_commands = ["ucc_info -c"] + +modextrapaths = {'EB_UCC_EXTRA_COMPONENT_PATH': 'lib/ucc'} + +moduleclass = 'lib' diff --git a/u/UCC-CUDA/UCC-CUDA-1.3.0_cuda_12_mem_ops.patch b/u/UCC-CUDA/UCC-CUDA-1.3.0_cuda_12_mem_ops.patch new file mode 100644 index 00000000..36212b97 --- /dev/null +++ b/u/UCC-CUDA/UCC-CUDA-1.3.0_cuda_12_mem_ops.patch @@ -0,0 +1,99 @@ +Backported fix for CUDA 12 https://github.com/openucx/ucc/pull/700 +Essentially just removes the deprecated checks for CUDA MEM OPS as they are required in CUDA 12 +author: micketeer@gmail.com +--- src/components/ec/cuda/ec_cuda.c.orig 2023-02-02 18:44:36.085221084 +0000 ++++ src/components/ec/cuda/ec_cuda.c 2023-02-02 18:47:23.726819030 +0000 +@@ -205,11 +205,10 @@ + { + ucc_ec_cuda_config_t *cfg = EC_CUDA_CONFIG; + ucc_status_t status; +- int device, num_devices, attr; ++ int device, num_devices; + CUdevice cu_dev; + CUresult cu_st; + cudaError_t cuda_st; +- const char *cu_err_st_str; + + ucc_ec_cuda.stream = NULL; + ucc_ec_cuda.stream_initialized = 0; +@@ -272,9 +271,14 @@ + } else { + ucc_ec_cuda.strm_task_mode = UCC_EC_CUDA_TASK_MEM_OPS; + ucc_ec_cuda.post_strm_task = ucc_ec_cuda_post_driver_stream_task; ++#if CUDA_VERSION < 12000 ++ CUresult cu_st; ++ CUdevice cu_dev; ++ int attr; + + cu_st = cuCtxGetDevice(&cu_dev); + if (cu_st != CUDA_SUCCESS){ ++ const char *cu_err_st_str; + cuGetErrorString(cu_st, &cu_err_st_str); + ec_debug(&ucc_ec_cuda.super, "cuCtxGetDevice() failed: %s", + cu_err_st_str); +@@ -297,6 +301,7 @@ + "CUDA MEM OPS are not supported or disabled"); + return UCC_ERR_NOT_SUPPORTED; + } ++#endif + } + ucc_ec_cuda.task_strm_type = cfg->task_strm_type; + ucc_spinlock_init(&ucc_ec_cuda.init_spinlock, 0); +--- src/components/tl/nccl/tl_nccl_context.c.orig 2023-02-03 15:17:09.358881676 +0000 ++++ src/components/tl/nccl/tl_nccl_context.c 2023-02-03 17:04:31.680185749 +0000 +@@ -101,13 +101,14 @@ + ucc_derived_of(config, ucc_tl_nccl_context_config_t); + int mem_ops_attr = 0; + ucc_status_t status; +- CUresult cu_st; +- CUdevice cu_dev; + + UCC_CLASS_CALL_SUPER_INIT(ucc_tl_context_t, &tl_nccl_config->super, + params->context); + memcpy(&self->cfg, tl_nccl_config, sizeof(*tl_nccl_config)); + if (self->cfg.sync_type != UCC_TL_NCCL_COMPLETION_SYNC_TYPE_EVENT) { ++#if CUDA_VERSION < 12000 ++ CUresult cu_st; ++ CUdevice cu_dev; + cu_st = cuCtxGetDevice(&cu_dev); + if (cu_st == CUDA_SUCCESS) { + cu_st = cuDeviceGetAttribute(&mem_ops_attr, +@@ -116,6 +117,9 @@ + } else { + tl_info(self->super.super.lib, "failed to get cuda device"); + } ++#else ++ mem_ops_attr = 1; ++#endif + if (mem_ops_attr == 0) { + if (self->cfg.sync_type == UCC_TL_NCCL_COMPLETION_SYNC_TYPE_MEMOPS) { + tl_error(self->super.super.lib, "memops not supported"); +--- config/m4/cuda.m4.orig 2023-02-03 17:04:44.367155175 +0000 ++++ config/m4/cuda.m4 2023-02-03 17:06:26.110909987 +0000 +@@ -15,6 +15,11 @@ + ARCH10="-gencode=arch=compute_75,code=sm_75" + ARCH11="-gencode=arch=compute_80,code=sm_80 \ + -gencode=arch=compute_80,code=compute_80" ++ARCH111="-gencode=arch=compute_86,code=sm_86 \ ++-gencode=arch=compute_86,code=compute_86" ++ARCH120="-gencode=arch=compute_90,code=sm_90 \ ++-gencode=arch=compute_90,code=compute_90" ++ + + AC_DEFUN([CHECK_CUDA],[ + AS_IF([test "x$cuda_checked" != "xyes"], +@@ -104,8 +109,12 @@ + [NVCC_CFLAGS="$NVCC_CFLAGS -O3 -g -DNDEBUG"]) + AS_IF([test "x$cuda_happy" = "xyes"], + [AS_IF([test "x$with_nvcc_gencode" = "xdefault"], +- [AS_IF([test $CUDA_MAJOR_VERSION -eq 11], +- [NVCC_ARCH="${ARCH8} ${ARCH9} ${ARCH10} ${ARCH11}"])], ++ [AS_IF([test $CUDA_MAJOR_VERSION -eq 12], ++ [NVCC_ARCH="${ARCH7} ${ARCH8} ${ARCH9} ${ARCH10} ${ARCH110} ${ARCH111} ${ARCH120}"], ++ [AS_IF([test $CUDA_MAJOR_VERSION -eq 11], ++ [AS_IF([test $CUDA_MINOR_VERSION -lt 1], ++ [NVCC_ARCH="${ARCH7} ${ARCH8} ${ARCH9} ${ARCH10} ${ARCH110}"], ++ [NVCC_ARCH="${ARCH7} ${ARCH8} ${ARCH9} ${ARCH10} ${ARCH110} ${ARCH111}"])])])], + [NVCC_ARCH="$with_nvcc_gencode"]) + AC_SUBST([NVCC_ARCH], ["$NVCC_ARCH"])]) + LDFLAGS="$save_LDFLAGS" diff --git a/u/UCC-CUDA/UCC-CUDA-1.3.0_link_against_existing_UCC_libs.patch b/u/UCC-CUDA/UCC-CUDA-1.3.0_link_against_existing_UCC_libs.patch new file mode 100644 index 00000000..d35b5d6b --- /dev/null +++ b/u/UCC-CUDA/UCC-CUDA-1.3.0_link_against_existing_UCC_libs.patch @@ -0,0 +1,21 @@ +--- src/components/mc/cuda/Makefile.am.orig 2024-04-30 11:14:13.337136824 +0200 ++++ src/components/mc/cuda/Makefile.am 2024-04-30 11:15:03.166877471 +0200 +@@ -14,6 +14,7 @@ + libucc_mc_cuda_la_CFLAGS = $(BASE_CFLAGS) + libucc_mc_cuda_la_LDFLAGS = -version-info $(SOVERSION) --as-needed $(CUDA_LDFLAGS) + libucc_mc_cuda_la_LIBADD = $(CUDA_LIBS) \ ++ -lucc \ + $(UCC_TOP_BUILDDIR)/src/libucc.la + + include $(top_srcdir)/config/module.am + +--- src/components/mc/cuda/Makefile.am.orig 2024-04-30 11:14:13.337136824 +0200 ++++ src/components/mc/cuda/Makefile.am 2024-04-30 11:15:03.166877471 +0200 +@@ -14,6 +14,7 @@ + libucc_mc_cuda_la_CFLAGS = $(BASE_CFLAGS) + libucc_mc_cuda_la_LDFLAGS = -version-info $(SOVERSION) --as-needed $(CUDA_LDFLAGS) + libucc_mc_cuda_la_LIBADD = $(CUDA_LIBS) \ ++ -lucc \ + $(UCC_TOP_BUILDDIR)/src/libucc.la + + include $(top_srcdir)/config/module.am diff --git a/u/UCC/UCC-1.3.0-GCCcore-12.2.0.eb b/u/UCC/UCC-1.3.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000..99f17662 --- /dev/null +++ b/u/UCC/UCC-1.3.0-GCCcore-12.2.0.eb @@ -0,0 +1,44 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'ConfigureMake' + +name = 'UCC' +version = '1.3.0' + +homepage = 'https://www.openucx.org/' +description = """UCC (Unified Collective Communication) is a collective +communication operations API and library that is flexible, complete, and +feature-rich for current and emerging programming models and runtimes. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucc/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +patches = ['UCC-1.1.0-multiple_component_paths.patch'] +checksums = [ + {'v1.3.0.tar.gz': 'b56379abe5f1c125bfa83be305d78d81a64aa271b7b5fff0ac17b86725ff3acf'}, + {'UCC-1.1.0-multiple_component_paths.patch': '3081d0f694331daa4a88a0fa3fb54b9a918015248ae5eb7b3157b924abd31bee'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('UCX', '1.16.0'), +] + +preconfigopts = "./autogen.sh && " + +sanity_check_paths = { + 'files': ['bin/ucc_info'], + 'dirs': ['include', 'lib'] +} + +sanity_check_commands = ["ucc_info -c"] + +moduleclass = 'lib' diff --git a/u/UCX-CUDA/UCX-CUDA-1.14.1-GCCcore-11.3.0-CUDA-12.2.0.eb b/u/UCX-CUDA/UCX-CUDA-1.14.1-GCCcore-11.3.0-CUDA-12.2.0.eb index 241bf5d4..661ecef2 100644 --- a/u/UCX-CUDA/UCX-CUDA-1.14.1-GCCcore-11.3.0-CUDA-12.2.0.eb +++ b/u/UCX-CUDA/UCX-CUDA-1.14.1-GCCcore-11.3.0-CUDA-12.2.0.eb @@ -45,7 +45,9 @@ configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' configopts += '--without-java --without-go --disable-doxygen-doc ' import os -if os.environ.get("CLUSTERNAME") in ["KAROLINA", "BARBORA"]: +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: configopts += '--with-xpmem --with-knem=/opt/knem-1.1.4.90mlnx1' +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + configopts += '--with-xpmem --with-knem=/opt/knem-1.1.4.90mlnx3' moduleclass = 'lib' diff --git a/u/UCX-CUDA/UCX-CUDA-1.14.1-GCCcore-12.2.0-CUDA-12.2.0.eb b/u/UCX-CUDA/UCX-CUDA-1.14.1-GCCcore-12.2.0-CUDA-12.2.0.eb index 5e577034..25a3ba2a 100644 --- a/u/UCX-CUDA/UCX-CUDA-1.14.1-GCCcore-12.2.0-CUDA-12.2.0.eb +++ b/u/UCX-CUDA/UCX-CUDA-1.14.1-GCCcore-12.2.0-CUDA-12.2.0.eb @@ -45,7 +45,9 @@ configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' configopts += '--without-java --without-go --disable-doxygen-doc ' import os -if os.environ.get("CLUSTERNAME") in ["KAROLINA", "BARBORA"]: +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: configopts += '--with-xpmem --with-knem=/opt/knem-1.1.4.90mlnx1' +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + configopts += '--with-xpmem --with-knem=/opt/knem-1.1.4.90mlnx3' moduleclass = 'lib' diff --git a/u/UCX-CUDA/UCX-CUDA-1.15.0-GCCcore-13.2.0-CUDA-12.2.0.eb b/u/UCX-CUDA/UCX-CUDA-1.15.0-GCCcore-13.2.0-CUDA-12.4.0.eb similarity index 87% rename from u/UCX-CUDA/UCX-CUDA-1.15.0-GCCcore-13.2.0-CUDA-12.2.0.eb rename to u/UCX-CUDA/UCX-CUDA-1.15.0-GCCcore-13.2.0-CUDA-12.4.0.eb index 70cf19ba..f86b085e 100644 --- a/u/UCX-CUDA/UCX-CUDA-1.15.0-GCCcore-13.2.0-CUDA-12.2.0.eb +++ b/u/UCX-CUDA/UCX-CUDA-1.15.0-GCCcore-13.2.0-CUDA-12.4.0.eb @@ -37,7 +37,7 @@ builddependencies = [ dependencies = [ ('zlib', '1.2.13'), ('UCX', '1.15.0'), - ('CUDA', '12.2.0', '', SYSTEM), + ('CUDA', '12.4.0', '', SYSTEM), ('GDRCopy', '2.4'), ] @@ -45,7 +45,9 @@ configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' configopts += '--without-java --without-go --disable-doxygen-doc ' import os -if os.environ.get("CLUSTERNAME") in ["KAROLINA", "BARBORA"]: +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: configopts += '--with-xpmem --with-knem=/opt/knem-1.1.4.90mlnx1' +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + configopts += '--with-xpmem --with-knem=/opt/knem-1.1.4.90mlnx3' moduleclass = 'lib' diff --git a/u/UCX-CUDA/UCX-CUDA-1.16.0-GCCcore-12.2.0-CUDA-12.3.0.eb b/u/UCX-CUDA/UCX-CUDA-1.16.0-GCCcore-12.2.0-CUDA-12.3.0.eb new file mode 100644 index 00000000..a96d8be4 --- /dev/null +++ b/u/UCX-CUDA/UCX-CUDA-1.16.0-GCCcore-12.2.0-CUDA-12.3.0.eb @@ -0,0 +1,53 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'EB_UCX_Plugins' + +name = 'UCX-CUDA' +version = '1.16.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'http://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications + +This module adds the UCX CUDA support. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = [{'filename': 'ucx-%(version)s.tar.gz', 'alt_location': 'UCX'}] +#patches = ['%(name)s-1.11.0_link_against_existing_UCX_libs.patch'] +checksums = [ + ('457187fa020e526609ba91e7750c9941d57bd57d60d6eed317b40ad8824aca93', + 'f73770d3b583c91aba5fb07557e655ead0786e057018bfe42f0ebe8716e9d28c'), # ucx-1.16.0.tar.gz + {'UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch': + '457187fa020e526609ba91e7750c9941d57bd57d60d6eed317b40ad8824aca93'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('UCX', '1.16.0'), + ('CUDA', '12.3.0', '', SYSTEM), + ('GDRCopy', '2.4.1'), +] + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' +configopts += '--without-java --without-go --disable-doxygen-doc ' + +import os +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + configopts += '--with-xpmem --with-knem=/opt/knem-1.1.4.90mlnx1' +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + configopts += '--with-xpmem --with-knem=/opt/knem-1.1.4.90mlnx3' + +moduleclass = 'lib' diff --git a/u/UCX-CUDA/UCX-CUDA-1.16.0-GCCcore-12.2.0-CUDA-12.4.0.eb b/u/UCX-CUDA/UCX-CUDA-1.16.0-GCCcore-12.2.0-CUDA-12.4.0.eb new file mode 100644 index 00000000..d583447f --- /dev/null +++ b/u/UCX-CUDA/UCX-CUDA-1.16.0-GCCcore-12.2.0-CUDA-12.4.0.eb @@ -0,0 +1,53 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'EB_UCX_Plugins' + +name = 'UCX-CUDA' +version = '1.16.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'http://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications + +This module adds the UCX CUDA support. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = [{'filename': 'ucx-%(version)s.tar.gz', 'alt_location': 'UCX'}] +#patches = ['%(name)s-1.11.0_link_against_existing_UCX_libs.patch'] +checksums = [ + ('457187fa020e526609ba91e7750c9941d57bd57d60d6eed317b40ad8824aca93', + 'f73770d3b583c91aba5fb07557e655ead0786e057018bfe42f0ebe8716e9d28c'), # ucx-1.16.0.tar.gz + {'UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch': + '457187fa020e526609ba91e7750c9941d57bd57d60d6eed317b40ad8824aca93'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('UCX', '1.16.0'), + ('CUDA', '12.4.0', '', SYSTEM), + ('GDRCopy', '2.4.1'), +] + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' +configopts += '--without-java --without-go --disable-doxygen-doc ' + +import os +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + configopts += '--with-xpmem --with-knem=/opt/knem-1.1.4.90mlnx1' +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + configopts += '--with-xpmem --with-knem=/opt/knem-1.1.4.90mlnx3' + +moduleclass = 'lib' diff --git a/u/UCX/UCX-1.14.1-GCCcore-11.3.0.eb b/u/UCX/UCX-1.14.1-GCCcore-11.3.0.eb index af9914c3..aa52205c 100644 --- a/u/UCX/UCX-1.14.1-GCCcore-11.3.0.eb +++ b/u/UCX/UCX-1.14.1-GCCcore-11.3.0.eb @@ -44,8 +44,10 @@ configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' configopts += '--without-java --without-go --disable-doxygen-doc ' import os -if os.environ.get("CLUSTERNAME") in ["KAROLINA", "BARBORA"]: - configopts += '--with-xpmem --with-knem=/opt/knem-1.1.4.90mlnx1' +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + configopts += '--with-xpmem --with-knem=/opt/knem-1.1.4.90mlnx1' +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + configopts += '--with-xpmem --with-knem=/opt/knem-1.1.4.90mlnx3' buildopts = 'V=1' diff --git a/u/UCX/UCX-1.14.1-GCCcore-12.2.0.eb b/u/UCX/UCX-1.14.1-GCCcore-12.2.0.eb index 78aa2ee0..6c7f97f4 100644 --- a/u/UCX/UCX-1.14.1-GCCcore-12.2.0.eb +++ b/u/UCX/UCX-1.14.1-GCCcore-12.2.0.eb @@ -44,8 +44,11 @@ configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' configopts += '--without-java --without-go --disable-doxygen-doc ' import os -if os.environ.get("CLUSTERNAME") in ["KAROLINA", "BARBORA"]: - configopts += '--with-xpmem --with-knem=/opt/knem-1.1.4.90mlnx1' +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + configopts += '--with-xpmem --with-knem=/opt/knem-1.1.4.90mlnx1' +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + configopts += '--with-xpmem --with-knem=/opt/knem-1.1.4.90mlnx3' + buildopts = 'V=1' diff --git a/u/UCX/UCX-1.14.1-GCCcore-12.3.0-test.eb b/u/UCX/UCX-1.14.1-GCCcore-12.3.0-test.eb index f3013073..ae1f0f1d 100644 --- a/u/UCX/UCX-1.14.1-GCCcore-12.3.0-test.eb +++ b/u/UCX/UCX-1.14.1-GCCcore-12.3.0-test.eb @@ -45,8 +45,10 @@ configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' configopts += '--without-java --without-go --disable-doxygen-doc ' import os -if os.environ.get("CLUSTERNAME") in ["KAROLINA", "BARBORA"]: - configopts += '--with-xpmem --with-knem=/opt/knem-1.1.4.90mlnx1' +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + configopts += '--with-xpmem --with-knem=/opt/knem-1.1.4.90mlnx1' +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + configopts += '--with-xpmem --with-knem=/opt/knem-1.1.4.90mlnx3' buildopts = 'V=1' diff --git a/u/UCX/UCX-1.15.0-GCCcore-13.2.0.eb b/u/UCX/UCX-1.15.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000..d88c5983 --- /dev/null +++ b/u/UCX/UCX-1.15.0-GCCcore-13.2.0.eb @@ -0,0 +1,63 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.15.0' + +homepage = 'https://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = ['%(namelower)s-%(version)s.tar.gz'] +patches = [ + 'UCX-1.13.1-dynamic_modules.patch', +] +checksums = [ + {'ucx-1.15.0.tar.gz': '4b202087076bc1c98f9249144f0c277a8ea88ad4ca6f404f94baa9cb3aebda6d'}, + {'UCX-1.13.1-dynamic_modules.patch': '00874687bd90b795fff61aaa183f6c6bea2210aa1003b28f23d9ebf7066f8782'}, +] + +# Uncomment when updating to final release +# sources = ['%(namelower)s-%(version)s.tar.gz'] +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), + ('pkgconf', '2.0.3'), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +dependencies = [ + ('zlib', '1.2.13'), + ('numactl', '2.0.16'), +] + +configure_cmd = "contrib/configure-release" + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' +configopts += '--without-java --without-go --disable-doxygen-doc ' + +import os +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + configopts += '--with-xpmem --with-knem=/opt/knem-1.1.4.90mlnx1' +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + configopts += '--with-xpmem --with-knem=/opt/knem-1.1.4.90mlnx3' + +buildopts = 'V=1' + +sanity_check_paths = { + 'files': ['bin/ucx_info', 'bin/ucx_perftest', 'bin/ucx_read_profile'], + 'dirs': ['include', 'lib', 'share'] +} + +sanity_check_commands = ["ucx_info -d"] + +moduleclass = 'lib' diff --git a/u/UCX/UCX-1.16.0-GCCcore-12.2.0.eb b/u/UCX/UCX-1.16.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000..a6693d60 --- /dev/null +++ b/u/UCX/UCX-1.16.0-GCCcore-12.2.0.eb @@ -0,0 +1,63 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.16.0' + +homepage = 'https://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = ['%(namelower)s-%(version)s.tar.gz'] +patches = [ + 'UCX-1.13.1-dynamic_modules.patch', +] +checksums = [ + {'ucx-1.16.0.tar.gz': 'f73770d3b583c91aba5fb07557e655ead0786e057018bfe42f0ebe8716e9d28c'}, + {'UCX-1.13.1-dynamic_modules.patch': '00874687bd90b795fff61aaa183f6c6bea2210aa1003b28f23d9ebf7066f8782'}, +] + +# Uncomment when updating to final release +# sources = ['%(namelower)s-%(version)s.tar.gz'] +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), + ('pkgconf', '1.9.3'), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +dependencies = [ + ('zlib', '1.2.12'), + ('numactl', '2.0.16'), +] + +configure_cmd = "contrib/configure-release" + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' +configopts += '--without-java --without-go --disable-doxygen-doc ' + +import os +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + configopts += '--with-xpmem --with-knem=/opt/knem-1.1.4.90mlnx1' +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + configopts += '--with-xpmem --with-knem=/opt/knem-1.1.4.90mlnx3' + +buildopts = 'V=1' + +sanity_check_paths = { + 'files': ['bin/ucx_info', 'bin/ucx_perftest', 'bin/ucx_read_profile'], + 'dirs': ['include', 'lib', 'share'] +} + +sanity_check_commands = ["ucx_info -d"] + +moduleclass = 'lib' diff --git a/v/VASP/VASP-5.4.1-24Jun15-intel-2020b.eb b/v/VASP/VASP-5.4.1-24Jun15-intel-2020b.eb index 9ff3e23f..144f0ba3 100644 --- a/v/VASP/VASP-5.4.1-24Jun15-intel-2020b.eb +++ b/v/VASP/VASP-5.4.1-24Jun15-intel-2020b.eb @@ -27,6 +27,7 @@ else: # Vasp is proprietary software, see http://www.vasp.at/index.php/faqs on # how to get access to the code sources = ['vasp.5.4.1.tar.gz'] +checksums = ['50437ef27830579ad06546fa860ece6cacf2d3ae00a30d158da7c3f57005554d'] dependencies = [ ('FFTW', '3.3.8'), diff --git a/v/VASP/VASP-5.4.4-intel-2020a-mkl=sequential-BEEF-karolina.eb b/v/VASP/VASP-5.4.4-intel-2020a-mkl=sequential-BEEF-karolina.eb index 8ac5890b..91a89f59 100644 --- a/v/VASP/VASP-5.4.4-intel-2020a-mkl=sequential-BEEF-karolina.eb +++ b/v/VASP/VASP-5.4.4-intel-2020a-mkl=sequential-BEEF-karolina.eb @@ -22,9 +22,10 @@ toolchainopts = {'pic': True, 'usempi': True} # Vasp is proprietary software, see http://www.vasp.at/index.php/faqs on # how to get access to the code sources = ['%(namelower)s.%(version)s.tar.gz'] +checksums = ['5bd2449462386f01e575f9adf629c08cb03a13142806ffb6a71309ca4431cfb3'] dependencies = [ - ('zlib', '1.2.11', '', True), + ('zlib', '1.2.11'), ('BEEF', '0.1.1'), ] @@ -49,6 +50,12 @@ prebuildopts += 'sed -i "s|BLAS =|BLAS = -mkl=sequential|" makefile. ## libbeef prebuildopts += 'sed -i "s|LLIBS =|LLIBS = $(SCALAPACK) $(LAPACK) $(BLAS) -L$EBROOTBEEF -lbeef|" makefile.include && ' +# AMD/Intel CPU switch - We set xHost by default; change it to -march=core-avx2 when necessary +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + prebuildopts += 'sed -i "s|-xHOST|-march=core-avx2|" makefile.include && ' + prebuildopts += 'sed -i "s|-march=xHost|-march=core-avx2|" makefile.include && ' + # VASP uses LIBS as a list of folders prebuildopts += 'unset LIBS && ' diff --git a/v/VASP/VASP-5.4.4-intel-2020a-mkl=sequential-VASPsol-karolina.eb b/v/VASP/VASP-5.4.4-intel-2020a-mkl=sequential-VASPsol-karolina.eb index 52d1950e..29f3f6d6 100644 --- a/v/VASP/VASP-5.4.4-intel-2020a-mkl=sequential-VASPsol-karolina.eb +++ b/v/VASP/VASP-5.4.4-intel-2020a-mkl=sequential-VASPsol-karolina.eb @@ -22,9 +22,10 @@ toolchainopts = {'pic': True, 'usempi': True} # Vasp is proprietary software, see http://www.vasp.at/index.php/faqs on # how to get access to the code sources = ['%(namelower)s.%(version)s-VASPsol.tar.gz'] +checksums = ['d7918ff7a2154ffe381936265d4e3a13eee36c0eca5a21c41ebca8bab7c23a27'] dependencies = [ - ('zlib', '1.2.11', '', True), + ('zlib', '1.2.11'), ] prebuildopts = 'cp arch/makefile.include.linux_intel ./makefile.include && ' diff --git a/v/VASP/VASP-5.4.4-intel-2020a-mkl=sequential-karolina.eb b/v/VASP/VASP-5.4.4-intel-2020a-mkl=sequential-karolina.eb index 5273dcdd..f6ef2470 100644 --- a/v/VASP/VASP-5.4.4-intel-2020a-mkl=sequential-karolina.eb +++ b/v/VASP/VASP-5.4.4-intel-2020a-mkl=sequential-karolina.eb @@ -22,9 +22,10 @@ toolchainopts = {'pic': True, 'usempi': True} # Vasp is proprietary software, see http://www.vasp.at/index.php/faqs on # how to get access to the code sources = ['%(namelower)s.%(version)s.tar.gz'] +checksums = ['5bd2449462386f01e575f9adf629c08cb03a13142806ffb6a71309ca4431cfb3'] dependencies = [ - ('zlib', '1.2.11', '', True), + ('zlib', '1.2.11'), ] prebuildopts = 'cp arch/makefile.include.linux_intel ./makefile.include && ' diff --git a/v/VASP/VASP-5.4.4-intel-2020a-mkl=sequential-vtst-karolina.eb b/v/VASP/VASP-5.4.4-intel-2020a-mkl=sequential-vtst-karolina.eb index 5a8beb9a..d49275db 100644 --- a/v/VASP/VASP-5.4.4-intel-2020a-mkl=sequential-vtst-karolina.eb +++ b/v/VASP/VASP-5.4.4-intel-2020a-mkl=sequential-vtst-karolina.eb @@ -25,7 +25,7 @@ sources = ['%(namelower)s.%(version)s.vtst.tgz'] checksums = ['b8785a943d811a749a80f8dd68ee6675130ace118ac9092b9baab0beb92fe43a'] dependencies = [ - ('zlib', '1.2.11', '', True), + ('zlib', '1.2.11'), ] prebuildopts = 'cp arch/makefile.include.linux_intel ./makefile.include && ' diff --git a/v/VASP/VASP-5.4.4-intel-2022b.eb b/v/VASP/VASP-5.4.4-intel-2022b.eb new file mode 100644 index 00000000..5a742f09 --- /dev/null +++ b/v/VASP/VASP-5.4.4-intel-2022b.eb @@ -0,0 +1,63 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'MakeCp' + +name = 'VASP' +version = '5.4.4' + +homepage = 'http://www.vasp.at' +docurls = 'https://www.vasp.at/wiki/index.php/The_VASP_Manual' +description = """The Vienna Ab initio Simulation Package (VASP) is a local computer program for atomic scale +materials modelling, e.g. electronic structure calculations and quantum-mechanical molecular dynamics, +from first principles. + +To use VASP, you need an academic license from University of Vienna. Follow the instructions at https://www.vasp.at/index.php/faqs. + +Please send us a list of authorized users and their IDs for which you need access (use only http://support.it4i.cz/rt). We are responsible for verifying your licenses.""" + +# 'crashes with intel > 2020a' test +toolchain = {'name': 'intel', 'version': '2022b'} +toolchainopts = {'pic': True, 'usempi': True} + +# Vasp is proprietary software, see http://www.vasp.at/index.php/faqs on +# how to get access to the code +sources = ['%(namelower)s.%(version)s.tar.gz'] +checksums = ['5bd2449462386f01e575f9adf629c08cb03a13142806ffb6a71309ca4431cfb3'] + +prebuildopts = 'cp arch/makefile.include.linux_intel ./makefile.include && ' + +# remove mkl flag (FCL) to prevent mixing dynamic libs with the static libs in +# LIBBLACS/SCALAPACK +prebuildopts += 'sed -i "s|-mkl=sequential ||" makefile.include && ' + +# OFLAG = -O2 -xAVX +prebuildopts += 'sed -i "s|\(OFLAG\s\+=\) -O2|\\1 -O3 -ip -march=xHost|" makefile.include && ' + +# OBJECTS, FFLAGS and MKLROOT +prebuildopts += 'sed -i "s|\(OBJECTS\s\+=\) fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o|\\1 fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o \$(MKLROOT)/lib/intel64_lin/libfftw3xf_intel.a|" makefile.include && ' +prebuildopts += 'sed -i "s|\(FFLAGS\s\+=\) -assume byterecl -w|\\1 -FR -assume byterecl|" makefile.include && ' +prebuildopts += 'sed -i "s|\(BLAS\s\+=\)|\\1 -mkl=sequential|" makefile.include && ' + +# AMD/intel cpu +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + prebuildopts += 'sed -i "s|-march=xHost|-march=core-avx2|" makefile.include && ' + +# VASP uses LIBS as a list of folders +prebuildopts += 'unset LIBS && ' + +buildopts = 'std gam ncl ' + +parallel = 1 + +files_to_copy = [(['bin/vasp_std', 'bin/vasp_gam', 'bin/vasp_ncl'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/vasp_std', 'bin/vasp_gam', 'bin/vasp_ncl'], + 'dirs': [] +} + +modluafooter = 'add_property("state","license")' + +moduleclass = 'chem' diff --git a/v/VASP/VASP-6.3.0-intel-2020b-mkl=sequential-vtst-karolina.eb b/v/VASP/VASP-6.3.0-intel-2020b-mkl=sequential-vtst-karolina.eb index 4540f525..0b0c1e18 100644 --- a/v/VASP/VASP-6.3.0-intel-2020b-mkl=sequential-vtst-karolina.eb +++ b/v/VASP/VASP-6.3.0-intel-2020b-mkl=sequential-vtst-karolina.eb @@ -24,6 +24,7 @@ toolchainopts = {'pic': True, 'usempi': True} # Vasp is proprietary software, see http://www.vasp.at/index.php/faqs on # how to get access to the code sources = ['%(namelower)s.%(version)s.vtst.tgz'] +checksums = ['6d09d83ab3b678c923653f0d4d0e6b8ce2a3869708bc4d16f5711cf7f3cb7763'] # already included in the tgz #patches = ['VASP-6.3.0-VTST-fix.patch'] diff --git a/v/VASP/VASP-6.4.2-NVHPC-23.11-CUDA-12.4.0.eb b/v/VASP/VASP-6.4.2-NVHPC-23.11-CUDA-12.4.0.eb new file mode 100644 index 00000000..bb382390 --- /dev/null +++ b/v/VASP/VASP-6.4.2-NVHPC-23.11-CUDA-12.4.0.eb @@ -0,0 +1,73 @@ +# IT4Innovations +# LK 2023 + +easyblock = 'MakeCp' + +name = 'VASP' +version = '6.4.2' +local_cudaversion = '12.2.0' +versionsuffix = '-CUDA-%s' % local_cudaversion + +homepage = 'https://www.vasp.at' +docurls = 'https://www.vasp.at/wiki/index.php/The_VASP_Manual' +description = """ +The Vienna Ab initio Simulation Package (VASP) is a local computer program for atomic scale +materials modelling, e.g. electronic structure calculations and quantum-mechanical molecular dynamics, +from first principles. + +This is a GPU-enabled build. + +To use VASP, you need an academic license from University of Vienna. +Follow the instructions at https://www.vasp.at/index.php/faqs. + +Please send us the ID of your VASP license, list of authorized users for whom you require access, +and their email which is associated with your license (use only https://support.it4i.cz/rt). +We are responsible for verifying your licenses. +""" + +toolchain = {'name': 'NVHPC', 'version': '23.5'} +toolchainopts = {'pic': True} + +# Vasp is proprietary software, see http://www.vasp.at/index.php/faqs on +# how to get access to the code +sources = ['%(namelower)s.%(version)s.tgz'] +patches = ['VASP-%(version)s-NVHPC-23.5-CUDA-12.2.0-adjust-makefile.patch'] +checksums = [ + {'vasp.%(version)s.tgz': 'b704637f7384673f91adfbc803edc5cc7fe736d9623453461f7cdc29b123410e'}, + {'VASP-%(version)s-NVHPC-23.5-CUDA-12.2.0-adjust-makefile.patch': + 'dfc717642ae2ce9b04ed78439fc4d1072dc0d08df4aca2da881b944f2e75625e'}, +] + +dependencies = [ + ('OpenMPI', '4.1.5', '-CUDA-12.2.0'), + ('FFTW.MPI', '3.3.10', '-CUDA-12.2.0'), + ('FFTW', '3.3.10', '-CUDA-12.2.0'), + ('imkl', '2022.2.1', '', True), + ('ScaLAPACK', '3.0', '-CUDA-12.2.0'), + ('HDF5', '1.14.0'), + ('QD', '2.3.17'), +] + +prebuildopts = 'cp arch/makefile.include.nvhpc_acc ./makefile.include && ' + +# VASP uses LIBS as a list of folders +prebuildopts += 'unset LIBS && ' + +buildopts = 'std gam ncl ' + +parallel = 1 + +files_to_copy = [(['bin/vasp_std', 'bin/vasp_gam', 'bin/vasp_ncl'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/vasp_std', 'bin/vasp_gam', 'bin/vasp_ncl'], + 'dirs': [] +} + +modluafooter = """ +add_property('state','license') +add_property('arch', 'gpu') +""" + + +moduleclass = 'chem' diff --git a/v/VASP/VASP-6.4.2-NVHPC-24.3-CUDA-12.3.0.eb b/v/VASP/VASP-6.4.2-NVHPC-24.3-CUDA-12.3.0.eb new file mode 100644 index 00000000..1d222dab --- /dev/null +++ b/v/VASP/VASP-6.4.2-NVHPC-24.3-CUDA-12.3.0.eb @@ -0,0 +1,81 @@ +# IT5Innovations +# LK 2023 + +easyblock = 'MakeCp' + +name = 'VASP' +version = '6.4.2' +local_cudaversion = '12.2.0' +versionsuffix = '-CUDA-%s' % local_cudaversion + +homepage = 'https://www.vasp.at' +docurls = 'https://www.vasp.at/wiki/index.php/The_VASP_Manual' +description = """ +The Vienna Ab initio Simulation Package (VASP) is a local computer program for atomic scale +materials modelling, e.g. electronic structure calculations and quantum-mechanical molecular dynamics, +from first principles. + +This is a GPU-enabled build. + +To use VASP, you need an academic license from University of Vienna. +Follow the instructions at https://www.vasp.at/index.php/faqs. + +Please send us the ID of your VASP license, list of authorized users for whom you require access, +and their email which is associated with your license (use only https://support.it4i.cz/rt). +We are responsible for verifying your licenses. +""" + +toolchain = {'name': 'NVHPC', 'version': '24.3-CUDA-12.3.0'} +toolchainopts = {'pic': True} + +# Vasp is proprietary software, see http://www.vasp.at/index.php/faqs on +# how to get access to the code +sources = ['%(namelower)s.%(version)s.tgz'] +patches = ['VASP-%(version)s-NVHPC-23.5-CUDA-12.2.0-adjust-makefile.patch'] +checksums = [ + {'vasp.%(version)s.tgz': 'b704637f7384673f91adfbc803edc5cc7fe736d9623453461f7cdc29b123410e'}, + {'VASP-%(version)s-NVHPC-23.5-CUDA-12.2.0-adjust-makefile.patch': + 'dfc717642ae2ce9b04ed78439fc4d1072dc0d08df4aca2da881b944f2e75625e'}, +] + +dependencies = [ + ('OpenMPI', '4.1.6'), + ('FFTW.MPI', '3.3.10'), + ('FFTW', '3.3.10'), + ('imkl', '2022.2.1', '', True), + ('ScaLAPACK', '3.0'), + ('HDF5', '1.14.3'), + ('QD', '2.3.17'), +] + +prebuildopts = 'cp arch/makefile.include.nvhpc_acc ./makefile.include && ' + +# VASP uses LIBS as a list of folders +prebuildopts += 'unset LIBS && ' + +# AMD/Intel CPU switch - We set xHost by default; change it to -march=core-avx2 when necessary +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + prebuildopts += 'sed -i "s|-xHOST|-march=core-avx2|" makefile.include && ' + prebuildopts += 'sed -i "s|-march=xHost|-march=core-avx2|" makefile.include && ' + +prebuildopts += 'sed -i "s|cuda12.1|cuda12.3|g" makefile.include && ' + +buildopts = 'std gam ncl ' + +parallel = 1 + +files_to_copy = [(['bin/vasp_std', 'bin/vasp_gam', 'bin/vasp_ncl'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/vasp_std', 'bin/vasp_gam', 'bin/vasp_ncl'], + 'dirs': [] +} + +modluafooter = """ +add_property('state','license') +add_property('arch', 'gpu') +""" + + +moduleclass = 'chem' diff --git a/v/VASP/VASP-6.4.2-intel-2022b.eb b/v/VASP/VASP-6.4.2-intel-2022b.eb new file mode 100644 index 00000000..c181459b --- /dev/null +++ b/v/VASP/VASP-6.4.2-intel-2022b.eb @@ -0,0 +1,60 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'MakeCp' + +name = 'VASP' +version = '6.4.2' + +homepage = 'http://www.vasp.at' +docurls = 'https://www.vasp.at/wiki/index.php/The_VASP_Manual' +description = """The Vienna Ab initio Simulation Package (VASP) is a local computer program for atomic scale +materials modelling, e.g. electronic structure calculations and quantum-mechanical molecular dynamics, +from first principles. + +To use VASP, you need an academic license from University of Vienna. Follow the instructions at https://www.vasp.at/index.php/faqs. + +Please send us a list of authorized users and their IDs for which you need access (use only http://support.it4i.cz/rt). We are responsible for verifying your licenses.""" + +toolchain = {'name': 'intel', 'version': '2022b'} + +# Vasp is proprietary software, see http://www.vasp.at/index.php/faqs on +# how to get access to the code +sources = ['%(namelower)s.%(version)s.tgz'] +patches = ['VASP-%(version)s-NVHPC-23.5-CUDA-12.2.0-adjust-makefile.patch'] +checksums = [ + {'vasp.%(version)s.tgz': 'b704637f7384673f91adfbc803edc5cc7fe736d9623453461f7cdc29b123410e'}, + {'VASP-%(version)s-NVHPC-23.5-CUDA-12.2.0-adjust-makefile.patch': + 'dfc717642ae2ce9b04ed78439fc4d1072dc0d08df4aca2da881b944f2e75625e'}, +] + +# use serial compilation of W90, see https://www.vasp.at/wiki/index.php/Makefile.include#Wannier90_.28optional.29 +# Important: In case of Wannier90 3.x, you should compile a serial version by removing COMMS=mpi in the make.inc of Wannier90. +dependencies = [ + ('HDF5', '1.14.0'), + ('Wannier90', '3.1.0', '-serial'), +] + +prebuildopts = 'cp arch/makefile.include.intel ./makefile.include && ' + +# AMD/Intel CPU switch - We set xHost by default; change it to -march=core-avx2 when necessary +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + prebuildopts += 'sed -i "s|-xHOST|-march=core-avx2|" makefile.include && ' + prebuildopts += 'sed -i "s|-march=xHost|-march=core-avx2|" makefile.include && ' + +# VASP uses LIBS as a list of folders +prebuildopts += 'unset LIBS && ' + +buildopts = 'std gam ncl ' + +parallel = 1 + +files_to_copy = [(['bin/vasp_std', 'bin/vasp_gam', 'bin/vasp_ncl'], 'bin')] +sanity_check_paths = { + 'files': ['bin/vasp_std', 'bin/vasp_gam', 'bin/vasp_ncl'], + 'dirs': [] +} +modluafooter = 'add_property("state","license")' + +moduleclass = 'chem' diff --git a/v/VASP/VASP-6.4.2-intel-2023b-DFT-D4.eb b/v/VASP/VASP-6.4.2-intel-2023b-DFT-D4.eb new file mode 100644 index 00000000..9a7b32ad --- /dev/null +++ b/v/VASP/VASP-6.4.2-intel-2023b-DFT-D4.eb @@ -0,0 +1,70 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'MakeCp' + +name = 'VASP' +version = '6.4.2' +versionsuffix = "-DFT-D4" + +homepage = 'http://www.vasp.at' +docurls = 'https://www.vasp.at/wiki/index.php/The_VASP_Manual' +description = """The Vienna Ab initio Simulation Package (VASP) is a local computer program for atomic scale +materials modelling, e.g. electronic structure calculations and quantum-mechanical molecular dynamics, +from first principles. + +To use VASP, you need an academic license from University of Vienna. Follow the instructions at https://www.vasp.at/index.php/faqs. + +Please send us a list of authorized users and their IDs for which you need access (use only http://support.it4i.cz/rt). We are responsible for verifying your licenses.""" + +toolchain = {'name': 'intel', 'version': '2023b'} + +# Vasp is proprietary software, see http://www.vasp.at/index.php/faqs on +# how to get access to the code +sources = ['%(namelower)s.%(version)s.tgz'] +#patches = ['VASP-%(version)s-NVHPC-23.5-CUDA-12.2.0-adjust-makefile.patch'] +checksums = [ + {'vasp.%(version)s.tgz': 'b704637f7384673f91adfbc803edc5cc7fe736d9623453461f7cdc29b123410e'}, + {'VASP-%(version)s-NVHPC-23.5-CUDA-12.2.0-adjust-makefile.patch': + 'dfc717642ae2ce9b04ed78439fc4d1072dc0d08df4aca2da881b944f2e75625e'}, +] + +# use serial compilation of W90, see https://www.vasp.at/wiki/index.php/Makefile.include#Wannier90_.28optional.29 +# Important: In case of Wannier90 3.x, you should compile a serial version by removing COMMS=mpi in the make.inc of Wannier90. +dependencies = [ + ('HDF5', '1.14.3'), + ('Wannier90', '3.1.0', '-serial'), + ('DFT-D4', '3.6.0', '-Python-3.11.5'), +] + +prebuildopts = 'cp arch/makefile.include.intel ./makefile.include && ' + +# DFTD4 +prebuildopts += 'echo "" >> makefile.include &&' +prebuildopts += 'echo "#DFTD4" >> makefile.include && ' +prebuildopts += 'echo "CPP_OPTIONS += -DDFTD4 " >> makefile.include && ' +prebuildopts += 'echo "DFTD4_ROOT ?= $EBROOTDFTMIND4 " >> makefile.include && ' +prebuildopts += 'echo "LLIBS += $( shell pkg-config --libs dftd4) -ldftd4 " >> makefile.include && ' +prebuildopts += 'echo "INCS += $( shell pkg-config ---flags dftd4)" >> makefile.include && ' + +# AMD/Intel CPU switch - We set xHost by default; change it to -march=core-avx2 when necessary +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + prebuildopts += 'sed -i "s|-xHOST|-march=core-avx2|" makefile.include && ' + prebuildopts += 'sed -i "s|-march=xHost|-march=core-avx2|" makefile.include && ' + +# VASP uses LIBS as a list of folders +prebuildopts += 'unset LIBS && ' + +buildopts = 'std gam ncl ' + +parallel = 1 + +files_to_copy = [(['bin/vasp_std', 'bin/vasp_gam', 'bin/vasp_ncl'], 'bin')] +sanity_check_paths = { + 'files': ['bin/vasp_std', 'bin/vasp_gam', 'bin/vasp_ncl'], + 'dirs': [] +} +modluafooter = 'add_property("state","license")' + +moduleclass = 'chem' diff --git a/v/VSCode/VSCode-1.85.0.eb b/v/VSCode/VSCode-1.85.0.eb new file mode 100644 index 00000000..bf263f58 --- /dev/null +++ b/v/VSCode/VSCode-1.85.0.eb @@ -0,0 +1,33 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'Tarball' + +name = 'VSCode' +version = '1.85.0' +local_version_id = '1701901635' + +homepage = 'https://code.visualstudio.com/' +description = ''' + Visual Studio Code is a lightweight but powerful source code editor + which runs on your desktop and is available for Windows, macOS and + Linux. It comes with built-in support for JavaScript, TypeScript and + Node.js and has a rich ecosystem of extensions for other languages + and runtimes (such as C++, C#, Java, Python, PHP, Go, .NET). Begin + your journey with VS Code with these introductory videos. +''' + +toolchain = {'name': 'system', 'version': 'system'} + +source_urls = ['https://code.visualstudio.com/sha/download?build=stable&os=linux-x64&'] +sources = ['code-stable-x64-%s.tar.gz' % local_version_id] +checksums = ['6272a8e634d68ae95cf2d98d9b45cf8b36fe4df48634d2ae22e08437f9e1a992'] + +modaliases = {'vscode': '%(installdir)s/bin/code'} + +sanity_check_paths = { + 'files': ['code', 'bin/code'], + 'dirs': ['bin', 'locales', 'resources'] +} + +moduleclass = 'devel' diff --git a/w/Wannier90/Wannier90-3.1.0-intel-2023b-serial.eb b/w/Wannier90/Wannier90-3.1.0-intel-2023b-serial.eb new file mode 100644 index 00000000..dd2a0664 --- /dev/null +++ b/w/Wannier90/Wannier90-3.1.0-intel-2023b-serial.eb @@ -0,0 +1,39 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'MakeCp' + +name = 'Wannier90' +version = '3.1.0' +versionsuffix = '-serial' + +homepage = 'http://www.wannier.org' +description = """A tool for obtaining maximally-localised Wannier functions""" + +toolchain = {'name': 'intel', 'version': '2023b'} +toolchainopts = {'usempi': True} + +github_account = 'wannier-developers' +source_urls = [GITHUB_LOWER_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCELOWER_TAR_GZ}] +patches = ['Wannier90_3x_ignore_makeinc.patch'] +checksums = [ + '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz + '561c0d296e0e30b8bb303702cd6e41ded54c153d9b9e6cd9cab73858e5e2945e', # Wannier90_3x_ignore_makeinc.patch +] + +buildopts = 'all F90=$F90 MPIF90=$MPIF90 FCOPTS="$FFLAGS" LDOPTS="$FFLAGS" ' +buildopts += 'LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK" ' + +# compile serial version for use with VASP per +# https://www.vasp.at/wiki/index.php/Makefile.include#Wannier90_.28optional.29 +#buildopts += 'COMMS=mpi' + +files_to_copy = [(['wannier90.x', 'postw90.x'], 'bin'), (['libwannier.a'], 'lib')] + +sanity_check_paths = { + 'files': ['bin/wannier90.x', 'bin/postw90.x', 'lib/libwannier.a'], + 'dirs': [] +} + +moduleclass = 'chem' diff --git a/x/XALT/XALT-3.0.2.eb b/x/XALT/XALT-3.0.2.eb new file mode 100644 index 00000000..52e60a07 --- /dev/null +++ b/x/XALT/XALT-3.0.2.eb @@ -0,0 +1,64 @@ +#IT4Innovations +# LK 2024 + +name = 'XALT' +version = '3.0.2' + +homepage = 'https://github.com/xalt/xalt' +description = """XALT is a tool to allow a site to track user executables + and library usage on a cluster. When installed it can tell a site what are + the top executables by Node-Hours or by the number of users or the number + of times it is run. XALT 2 also tracks library usage as well. XALT 2 can + also track package use by R, MATLAB or Python. It tracks both MPI and + non-MPI programs.""" + +toolchain = SYSTEM + +# The location of XALT configuration file must be specified via +# 'config_py' easyconfig parameter. You can edit the easyconfig file, +# or use 'eb --try-amend=config_py='. " See +# https://xalt.readthedocs.io/en/latest/030_site_filtering.html for +# more information. +config_py = "/apps/.xalt/IT4I_config.py" + +# The name of the system must be specified via the 'syshost' +# easyconfig parameter. You can edit the easyconfig file, or use 'eb +# --try-amend=syshost='. See +# https://xalt.readthedocs.io/en/latest/020_site_configuration.html +# for more information. +syshost = "env_var:CLUSTERNAME" + +# The XALT transmission method must be specified via the +# 'transmission' easyconfig parameter. You can edit the easyconfig +# file, or use 'eb --try-amend=transmission='. See +# https://xalt.readthedocs.io/en/latest/020_site_configuration.html +# for more information. +transmission = "file" +file_prefix = "/ramdisk/.xalt" + +# Additional options +executable_tracking = True +gpu_tracking = False +logging_url = None +mysql = True +scalar_sampling = True +static_cxx = False + +source_urls = ['https://github.com/xalt/xalt/archive/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e4b1dd339d917b71ce21d912d5cf517a18634183d2f2009cf2c2b60030078a1b'] + +builddependencies = [ + ('cURL', '7.76.0'), + ('flex', '2.6.4'), + ('util-linux', '2.36'), +] + +osdependencies = [ + ('bc'), + ('coreutils'), + ('libelf-dev', 'elfutils-libelf-devel'), + OS_PKG_OPENSSL_DEV, +] + +moduleclass = 'lib' diff --git a/x/XZ/XZ-5.2.5-GCCcore-9.3.0.eb b/x/XZ/XZ-5.2.5-GCCcore-9.3.0.eb index 73ab10d9..fe140234 100644 --- a/x/XZ/XZ-5.2.5-GCCcore-9.3.0.eb +++ b/x/XZ/XZ-5.2.5-GCCcore-9.3.0.eb @@ -10,11 +10,11 @@ description = "xz: XZ utilities" toolchain = {'name': 'GCCcore', 'version': '9.3.0'} -source_urls = ['https://fossies.org/linux/misc/'] -sources = [SOURCELOWER_TAR_XZ] +source_urls = ['https://src.fedoraproject.org/repo/pkgs/R/xz-5.2.5.tar.bz2/sha512/89e25ddf72427ee9608cbf2e9dbc24d592cb67a27f44ccf7d47e4d9405774444e9cfcd02ac4bcb92064860371ed31d3cfbecd5fe063f296ead607714c0a664a1/'] +sources = ["xz-5.2.5.tar.bz2"] patches = ['XZ-5.2.2_compat-libs.patch'] checksums = [ - '3e1e518ffc912f86608a8cb35e4bd41ad1aec210df2a47aaa1f95e7f5576ef56', # xz-5.2.5.tar.bz2 + '5117f930900b341493827d63aa910ff5e011e0b994197c3b71c08a20228a42df', # xz-5.2.5.tar.bz2 '578da3ea2ddb551972891a60fe31478b16a516d6ea8b6aa3af89e1d558adb703', # XZ-5.2.2_compat-libs.patch ]