new file: a/AMD-uProf/AMD-uProf-4.2.850.eb

new file:   a/AOCC/AOCC-4.2.0-GCCcore-12.2.0.eb
	new file:   a/AOCL/AOCL-4.2.0-CCcore-12.2.0.eb
	new file:   a/ASE/ASE-3.22.1-gfbf-2023b.eb
	new file:   a/apptainer/apptainer-1.3.1.eb
	modified:   b/BEEF/BEEF-0.1.1-intel-2020a.eb
	modified:   d/DFT-D4/DFT-D4-3.6.0-intel-2022b-Python-3.10.8.eb
	new file:   d/DFT-D4/DFT-D4-3.6.0-intel-2023b-Python-3.11.5.eb
	new file:   e/ELPA/ELPA-2023.11.001-intel-2023b.eb
	new file:   f/FFTW.MPI/FFTW.MPI-3.3.10-NVHPC-24.1-CUDA-12.4.0.eb
	new file:   f/FFTW.MPI/FFTW.MPI-3.3.10-NVHPC-24.3-CUDA-12.3.0.eb
	new file:   f/FFTW/FFTW-3.3.10-NVHPC-24.1-CUDA-12.4.0.eb
	new file:   f/FFTW/FFTW-3.3.10-NVHPC-24.3-CUDA-12.3.0.eb
	modified:   f/FFTW/FFTW-3.3.8.eb
	new file:   f/Forge/Forge-23.1.2.eb
	new file:   f/ffnvcodec/ffnvcodec-11.1.5.2.eb
	new file:   f/ffnvcodec/ffnvcodec-12.0.16.0.eb
	new file:   g/GDRCopy/GDRCopy-2.4.1-GCCcore-12.2.0.eb
	modified:   g/GROMACS/GROMACS-2024-foss-2022a-CUDA-12.0.0-v2.eb
	modified:   g/GROMACS/GROMACS-4.5.5-ORCA-5.0.1-OpenMPI-4.1.1.eb
	modified:   g/gettext/gettext-0.19.4.eb
	new file:   h/HDF5/HDF5-1.14.0-iimpi-2022b.eb
	new file:   h/HDF5/HDF5-1.14.3-NVHPC-24.1-CUDA-12.4.0.eb
	new file:   h/HDF5/HDF5-1.14.3-NVHPC-24.3-CUDA-12.3.0.eb
	new file:   h/HDF5/HDF5-1.14.3-iimpi-2023b.eb
	new file:   i/impi/impi-2021.8.0-intel-compilers-2023.0.0.eb
	new file:   l/libxc/libxc-5.2.3-GCC-11.3.0.eb
	new file:   m/METIS/METIS-5.1.0-GCCcore-13.2.0.eb
	new file:   n/NCCL/NCCL-2.21.5-GCCcore-12.2.0-CUDA-12.3.0.eb
	new file:   n/NCCL/NCCL-2.21.5-GCCcore-12.2.0-CUDA-12.4.0.eb
	new file:   n/NVHPC/NVHPC-24.1-CUDA-12.3.0.eb
	new file:   n/NVHPC/NVHPC-24.1-CUDA-12.4.0.eb
	new file:   n/NVHPC/NVHPC-24.3-CUDA-12.3.0.eb
	modified:   n/ncurses/ncurses-6.1.eb
	new file:   n/nvompi/nvompi-2024.1.eb
	new file:   n/nvompi/nvompi-2024.3.eb
	modified:   o/OpenMPI/OpenMPI-4.1.6-NVHPC-23.11-CUDA-12.2.0.eb
	new file:   o/OpenMPI/OpenMPI-4.1.6-NVHPC-24.1-CUDA-12.4.0.eb
	new file:   o/OpenMPI/OpenMPI-4.1.6-NVHPC-24.3-CUDA-12.3.0.eb
	deleted:    o/OpenSSL/OpenSSL-1.0.2n.eb
	deleted:    o/OpenSSL/OpenSSL-1.1-test.eb
	deleted:    o/OpenSSL/OpenSSL-1.1.eb
	new file:   p/Python/Python-3.11.5-GCCcore-13.2.0-TB2J.eb
	new file:   p/Python/Python-3.11.5-GCCcore-13.2.0.eb
	new file:   q/QD/QD-2.3.17-NVHPC-24.1-CUDA-12.4.0.eb
	new file:   q/QD/QD-2.3.17-NVHPC-24.3-CUDA-12.3.0.eb
	new file:   s/ScaLAPACK/ScaLAPACK-3.0-NVHPC-24.1-CUDA-12.4.0.eb
	new file:   s/ScaLAPACK/ScaLAPACK-3.0-NVHPC-24.3-CUDA-12.3.0.eb
	new file:   s/Siesta/Siesta-5.0.0-beta1-foss-2023b.eb
	new file:   s/scikit-build-core/scikit-build-core-0.5.0-GCCcore-13.2.0.eb
	new file:   s/spglib-python/spglib-python-2.1.0-gfbf-2023b.eb
	modified:   s/squashfs-tools/squashfs-tools-4.3.eb
	deleted:    t/TB2J/TB2J-7.1.1-Python-3.8.6-GCCcore-10.2.0.eb
	new file:   u/UCC-CUDA/UCC-CUDA-1.3.0-GCCcore-12.2.0-CUDA-12.3.0.eb
	new file:   u/UCC-CUDA/UCC-CUDA-1.3.0-GCCcore-12.2.0-CUDA-12.4.0.eb
	new file:   u/UCC-CUDA/UCC-CUDA-1.3.0_cuda_12_mem_ops.patch
	new file:   u/UCC-CUDA/UCC-CUDA-1.3.0_link_against_existing_UCC_libs.patch
	new file:   u/UCC/UCC-1.3.0-GCCcore-12.2.0.eb
	modified:   u/UCX-CUDA/UCX-CUDA-1.14.1-GCCcore-11.3.0-CUDA-12.2.0.eb
	modified:   u/UCX-CUDA/UCX-CUDA-1.14.1-GCCcore-12.2.0-CUDA-12.2.0.eb
	new file:   u/UCX-CUDA/UCX-CUDA-1.16.0-GCCcore-12.2.0-CUDA-12.3.0.eb
	new file:   u/UCX-CUDA/UCX-CUDA-1.16.0-GCCcore-12.2.0-CUDA-12.4.0.eb
	modified:   u/UCX/UCX-1.14.1-GCCcore-11.3.0.eb
	modified:   u/UCX/UCX-1.14.1-GCCcore-12.2.0.eb
	modified:   u/UCX/UCX-1.14.1-GCCcore-12.3.0-test.eb
	new file:   u/UCX/UCX-1.15.0-GCCcore-13.2.0.eb
	new file:   u/UCX/UCX-1.16.0-GCCcore-12.2.0.eb
	modified:   v/VASP/VASP-5.4.1-24Jun15-intel-2020b.eb
	modified:   v/VASP/VASP-5.4.4-intel-2020a-mkl=sequential-BEEF-karolina.eb
	modified:   v/VASP/VASP-5.4.4-intel-2020a-mkl=sequential-VASPsol-karolina.eb
	modified:   v/VASP/VASP-5.4.4-intel-2020a-mkl=sequential-karolina.eb
	modified:   v/VASP/VASP-5.4.4-intel-2020a-mkl=sequential-vtst-karolina.eb
	new file:   v/VASP/VASP-5.4.4-intel-2022b.eb
	modified:   v/VASP/VASP-6.3.0-intel-2020b-mkl=sequential-vtst-karolina.eb
	new file:   v/VASP/VASP-6.4.2-NVHPC-23.11-CUDA-12.4.0.eb
	new file:   v/VASP/VASP-6.4.2-NVHPC-24.3-CUDA-12.3.0.eb
	new file:   v/VASP/VASP-6.4.2-intel-2022b.eb
	new file:   v/VASP/VASP-6.4.2-intel-2023b-DFT-D4.eb
	new file:   v/VSCode/VSCode-1.85.0.eb
	new file:   w/Wannier90/Wannier90-3.1.0-intel-2023b-serial.eb
	new file:   x/XALT/XALT-3.0.2.eb
	modified:   x/XZ/XZ-5.2.5-GCCcore-9.3.0.eb
This commit is contained in:
Lukas Krupcik 2024-05-09 11:03:21 +02:00
parent 5c387ba02c
commit 2f1e8aefc7
83 changed files with 2730 additions and 562 deletions

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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"'

View File

@ -28,6 +28,7 @@ checksums = [
builddependencies = [
('Ninja', '1.11.1'),
('Meson', '0.64.0'),
('CMake', '3.24.3'),
]
dependencies = [

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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

44
f/Forge/Forge-23.1.2.eb Normal file
View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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':

View File

@ -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'),

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -15,6 +15,7 @@ toolchainopts = {'optarch': True, 'pic': True}
source_urls = [GNU_SOURCE]
sources = [SOURCE_TAR_GZ]
checksums = ['aa057eeeb4a14d470101eff4597d5833dcef5965331be3528c08d99cebaa0d17']
buildopts = 'CFLAGS="-O3 -fPIC"'

19
n/nvompi/nvompi-2024.1.eb Normal file
View File

@ -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'

19
n/nvompi/nvompi-2024.3.eb Normal file
View File

@ -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'

View File

@ -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',

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'],

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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"

View File

@ -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

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'),

View File

@ -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 && '

View File

@ -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 && '

View File

@ -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 && '

View File

@ -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 && '

View File

@ -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'

View File

@ -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']

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

33
v/VSCode/VSCode-1.85.0.eb Normal file
View File

@ -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'

View File

@ -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'

64
x/XALT/XALT-3.0.2.eb Normal file
View File

@ -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=<path>'. " 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=<string>'. 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=<string>'. 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'

View File

@ -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
]