diff --git a/easybuild/easyconfigs/n/nvofbf/nvofbf-2024.9.eb b/easybuild/easyconfigs/n/nvofbf/nvofbf-2024.9.eb new file mode 100644 index 00000000000..ed83f98ba82 --- /dev/null +++ b/easybuild/easyconfigs/n/nvofbf/nvofbf-2024.9.eb @@ -0,0 +1,25 @@ +easyblock = 'Toolchain' + +name = 'nvofbf' +version = '2024.9' + +homepage = '(none)' +description = """NVHPC based toolchain, including OpenMPI for MPI support, +OpenBLAS (via FlexiBLAS for BLAS and LAPACK support), FFTW and ScaLAPACK.""" + +toolchain = SYSTEM + +local_compiler = ('NVHPC', '24.9-CUDA-12.6.0') + +local_comp_mpi_tc = ('nvompi', version) + +dependencies = [ + local_compiler, + ('OpenMPI', '5.0.3', '', local_compiler), + ('FlexiBLAS', '3.4.4', '', local_compiler), + ('FFTW', '3.3.10', '', local_compiler), + ('FFTW.MPI', '3.3.10', '', local_comp_mpi_tc), + ('ScaLAPACK', '2.2.0', '-fb', local_comp_mpi_tc), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/n/nvompi/nvompi-2024.9.eb b/easybuild/easyconfigs/n/nvompi/nvompi-2024.9.eb new file mode 100644 index 00000000000..15be91b09d1 --- /dev/null +++ b/easybuild/easyconfigs/n/nvompi/nvompi-2024.9.eb @@ -0,0 +1,19 @@ +easyblock = 'Toolchain' + +name = 'nvompi' +version = '2024.9' + +homepage = '(none)' +description = 'NVHPC based compiler toolchain, including OpenMPI for MPI support.' + +toolchain = SYSTEM + +local_compiler = ('NVHPC', '24.9-CUDA-12.6.0') + +dependencies = [ + local_compiler, + ('OpenMPI', '5.0.3', '', local_compiler), + ('CUDA', '12.6.0', '', SYSTEM), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.3-NVHPC-24.9-CUDA-12.6.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.3-NVHPC-24.9-CUDA-12.6.0.eb new file mode 100644 index 00000000000..d6a680ebb6a --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.3-NVHPC-24.9-CUDA-12.6.0.eb @@ -0,0 +1,56 @@ +name = 'OpenMPI' +version = '5.0.3' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +toolchain = {'name': 'NVHPC', 'version': '24.9-CUDA-12.6.0'} + +source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +sources = [SOURCELOWER_TAR_BZ2] +patches = [ + 'OpenMPI-5.0.3_configure_patch_nvidia_compilers.patch', + 'OpenMPI-5.0.3_fix_hle_make_errors.patch', + ('OpenMPI-5.0.2_build-with-internal-cuda-header.patch', 1) +] +checksums = [ + {'openmpi-5.0.3.tar.bz2': '990582f206b3ab32e938aa31bbf07c639368e4405dca196fabe7f0f76eeda90b'}, + {'OpenMPI-5.0.3_configure_patch_nvidia_compilers.patch': + 'bc1acb65fb1dcfed945c6988f4bdf17cac2f05e85628febc8ceafb574b08f5ed'}, + {'OpenMPI-5.0.3_fix_hle_make_errors.patch': '881c907a9f5901d5d6af41cd33dffdcecba4a67a9e5123e602542aea57a80895'}, + {'OpenMPI-5.0.2_build-with-internal-cuda-header.patch': + 'f52dc470543f35efef10d651dd159c771ae25f8f76a420d20d87abf4dc769ed7'}, +] + +builddependencies = [ + ('pkgconf', '2.2.0'), + ('Autotools', '20231222'), +] + +dependencies = [ + ('zlib', '1.3.1'), + ('hwloc', '2.10.0'), + ('libevent', '2.1.12'), + ('UCX', '1.16.0'), + ('UCX-CUDA', '1.16.0', '-CUDA-%(cudaver)s'), + ('libfabric', '1.21.0'), + ('PMIx', '5.0.2'), + ('PRRTE', '3.0.5'), + ('UCC', '1.3.0'), + ('UCC-CUDA', '1.3.0', '-CUDA-%(cudaver)s'), +] + +# CUDA related patches and custom configure option can be removed if CUDA support isn't wanted. +preconfigopts = 'nvc -Iopal/mca/cuda/include -shared opal/mca/cuda/lib/cuda.c -o opal/mca/cuda/lib/libcuda.so && ' +configopts = '--with-cuda=%(start_dir)s/opal/mca/cuda ' + +# Required to prevent internal compiler error in opal. +configopts += '--enable-alt-short-float=no ' + +# site specific options +# configopts += '--without-psm2 ' +# configopts += '--disable-oshmem ' +# configopts += '--with-gpfs ' +# configopts += '--with-slurm ' + +moduleclass = 'mpi'