diff --git a/o/OpenMPI/OpenMPI-4.1.5-GCC-12.3.0.eb b/o/OpenMPI/OpenMPI-4.1.5-GCC-12.3.0.eb deleted file mode 100644 index 4c9aa169..00000000 --- a/o/OpenMPI/OpenMPI-4.1.5-GCC-12.3.0.eb +++ /dev/null @@ -1,86 +0,0 @@ -# IT4Innovations -# LK 2023 - -name = 'OpenMPI' -version = '4.1.5' - -homepage = 'https://www.open-mpi.org/' -description = """The Open MPI Project is an open source MPI-3 implementation.""" - -toolchain = {'name': 'GCC', 'version': '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', - 'OpenMPI-4.1.5_fix-pmix3x.patch', -] -checksums = [ - {'openmpi-4.1.5.tar.bz2': 'a640986bc257389dd379886fdae6264c8cfa56bc98b71ce3ae3dfbd8ce61dbe3'}, - {'OpenMPI-4.1.1_build-with-internal-cuda-header.patch': - '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83'}, - {'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch': - 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e'}, - {'OpenMPI-4.1.5_fix-pmix3x.patch': - '46edac3dbf32f2a611d45e8a3c8edd3ae2f430eec16a1373b510315272115c40'}, -] - -builddependencies = [ - ('pkgconf', '1.9.5'), - ('Perl', '5.36.1'), - ('Autotools', '20220317'), -] - -dependencies = [ - ('zlib', '1.2.13'), - ('hwloc', '2.9.1'), - ('libevent', '2.1.12'), - ('UCX', '1.14.1'), - ('libfabric', '1.18.0'), - ('PMIx', '4.2.4'), - ('UCC', '1.2.0'), -] - -# 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 += '--enable-shared --enable-mpi-thread-multiple --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"]: - modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', - 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', - 'OMPI_MCA_orte_base_help_aggregate': '0', - 'SLURM_MPI_TYPE': 'pmix_v4', - } -elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: - modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', - 'OMPI_MCA_orte_base_help_aggregate': '0', - 'SLURM_MPI_TYPE': 'pmix_v4', - } -else: - modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', - 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', - 'SLURM_MPI_TYPE': 'pmix_v4', - } - -moduleclass = 'mpi' diff --git a/u/UCC/UCC-1.2.0-GCCcore-12.3.0.eb b/u/UCC/UCC-1.2.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000..2a7b8325 --- /dev/null +++ b/u/UCC/UCC-1.2.0-GCCcore-12.3.0.eb @@ -0,0 +1,45 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'ConfigureMake' + +name = 'UCC' +version = '1.2.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.3.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.2.0.tar.gz': 'c1552797600835c0cf401b82dc89c4d27d5717f4fb805d41daca8e19f65e509d'}, + {'UCC-1.1.0-multiple_component_paths.patch': '3081d0f694331daa4a88a0fa3fb54b9a918015248ae5eb7b3157b924abd31bee'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('UCX', '1.14.1'), + ('zstd', '1.5.5'), +] + +preconfigopts = "./autogen.sh && " + +sanity_check_paths = { + 'files': ['bin/ucc_info'], + 'dirs': ['include', 'lib'] +} + +sanity_check_commands = ["ucc_info -c"] + +moduleclass = 'lib' diff --git a/v/VASP/VASP-6.4.3-NVHPC-24.3-CUDA-12.3.0-adjust-makefile.patch b/v/VASP/VASP-6.4.3-NVHPC-24.3-CUDA-12.3.0-adjust-makefile.patch new file mode 100644 index 00000000..bb41f324 --- /dev/null +++ b/v/VASP/VASP-6.4.3-NVHPC-24.3-CUDA-12.3.0-adjust-makefile.patch @@ -0,0 +1,64 @@ +--- /dev/shm/easybuild/build/VASP/6.4.3/NVHPC-24.3-CUDA-12.3.0-CUDA-12.3.0/vasp.6.4.3/arch/makefile.include.nvhpc_acc.orig 2024-09-02 12:36:45.568074002 +0200 ++++ /dev/shm/easybuild/build/VASP/6.4.3/NVHPC-24.3-CUDA-12.3.0-CUDA-12.3.0/vasp.6.4.3/arch/makefile.include.nvhpc_acc 2024-09-02 12:39:29.127787237 +0200 +@@ -17,8 +17,8 @@ + # N.B.: you might need to change the cuda-version here + # to one that comes with your NVIDIA-HPC SDK + CC = mpicc -acc -gpu=cc60,cc70,cc80,cuda11.8 +-FC = mpif90 -acc -gpu=cc60,cc70,cc80,cuda11.8 +-FCL = mpif90 -acc -gpu=cc60,cc70,cc80,cuda11.8 -c++libs ++FC = mpif90 -acc -gpu=cc60,cc70,cc80,cuda12.3 ++FCL = mpif90 -acc -gpu=cc60,cc70,cc80,cuda12.3 -c++libs + + FREE = -Mfree + +@@ -61,19 +61,19 @@ + + # Specify your NV HPC-SDK installation (mandatory) + #... first try to set it automatically +-NVROOT =$(shell which nvfortran | awk -F /compilers/bin/nvfortran '{ print $$1 }') ++#NVROOT =$(shell which nvfortran | awk -F /compilers/bin/nvfortran '{ print $$1 }') + + # If the above fails, then NVROOT needs to be set manually +-#NVHPC ?= /opt/nvidia/hpc_sdk +-#NVVERSION = 21.11 +-#NVROOT = $(NVHPC)/Linux_x86_64/$(NVVERSION) ++NVHPC ?= ${EBROOTNVHPC} ++NVVERSION = ${EBVERSIONNVHPC} ++NVROOT = $(NVHPC)/Linux_x86_64/$(NVVERSION) + + ## Improves performance when using NV HPC-SDK >=21.11 and CUDA >11.2 +-#OFLAG_IN = -fast -Mwarperf +-#SOURCE_IN := nonlr.o ++OFLAG_IN = -fast -Mwarperf ++SOURCE_IN := nonlr.o + + # Software emulation of quadruple precsion (mandatory) +-QD ?= $(NVROOT)/compilers/extras/qd ++QD ?= ${EBROOTQD} + LLIBS += -L$(QD)/lib -lqdmod -lqd + INCS += -I$(QD)/include/qd + +@@ -89,7 +89,7 @@ + LLIBS += $(SCALAPACK) $(LAPACK) $(BLAS) + + # FFTW (mandatory) +-FFTW_ROOT ?= /path/to/your/fftw/installation ++FFTW_ROOT ?= ${EBROOTFFTWMPI} + LLIBS += -L$(FFTW_ROOT)/lib -lfftw3 + INCS += -I$(FFTW_ROOT)/include + +@@ -99,10 +99,10 @@ + #LLIBS += -cudalib=cusolvermp,cublasmp -lnvhpcwrapcal + + # HDF5-support (optional but strongly recommended) +-#CPP_OPTIONS+= -DVASP_HDF5 +-#HDF5_ROOT ?= /path/to/your/hdf5/installation +-#LLIBS += -L$(HDF5_ROOT)/lib -lhdf5_fortran +-#INCS += -I$(HDF5_ROOT)/include ++CPP_OPTIONS+= -DVASP_HDF5 ++HDF5_ROOT ?= ${EBROOTHDF5} ++LLIBS += -L$(HDF5_ROOT)/lib -lhdf5_fortran ++INCS += -I$(HDF5_ROOT)/include + + # For the VASP-2-Wannier90 interface (optional) + #CPP_OPTIONS += -DVASP2WANNIER90 diff --git a/v/VASP/VASP-6.4.3-NVHPC-24.3-CUDA-12.3.0.eb b/v/VASP/VASP-6.4.3-NVHPC-24.3-CUDA-12.3.0.eb index da99a9f2..36e8c766 100644 --- a/v/VASP/VASP-6.4.3-NVHPC-24.3-CUDA-12.3.0.eb +++ b/v/VASP/VASP-6.4.3-NVHPC-24.3-CUDA-12.3.0.eb @@ -31,11 +31,10 @@ 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'] +patches = ['VASP-%(version)s-NVHPC-24.3-CUDA-12.3.0-adjust-makefile.patch'] checksums = [ - {'vasp.%(version)s.tgz': 'b704637f7384673f91adfbc803edc5cc7fe736d9623453461f7cdc29b123410e'}, - {'VASP-%(version)s-NVHPC-23.5-CUDA-12.2.0-adjust-makefile.patch': - 'dfc717642ae2ce9b04ed78439fc4d1072dc0d08df4aca2da881b944f2e75625e'}, + {'vasp.%(version)s.tgz': 'fe30e773f2a3e909b5e0baa9654032dfbdeff7ec157bc348cee7681a7b6c24f4'}, + {'VASP-%(version)s-NVHPC-24.3-CUDA-12.3.0-adjust-makefile.patch': '2991eb38d138f4066164d185968f37ad9ab88ec00ce80e7cfe9f095dffa115b5'}, ] dependencies = [