diff --git a/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-nvompi-2024.9.eb b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-nvompi-2024.9.eb new file mode 100644 index 000000000000..e133fd6e173e --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-nvompi-2024.9.eb @@ -0,0 +1,19 @@ +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': 'nvompi', 'version': '2024.9'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = ['fftw-%(version)s.tar.gz'] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +dependencies = [('FFTW', '3.3.10')] + +runtest = 'check' + +moduleclass = 'numlib' 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 000000000000..ed83f98ba82e --- /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 000000000000..15be91b09d15 --- /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/s/ScaLAPACK/ScaLAPACK-2.2.0-nvompi-2024.9-fb.eb b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-nvompi-2024.9-fb.eb new file mode 100644 index 000000000000..302d2e1ac751 --- /dev/null +++ b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-nvompi-2024.9-fb.eb @@ -0,0 +1,40 @@ +name = 'ScaLAPACK' +version = '2.2.0' +versionsuffix = '-fb' + +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': 'nvompi', 'version': '2024.9'} +toolchainopts = {'extra_fflags': '-lpthread', 'openmp': True, 'pic': True, 'usempi': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TGZ] +patches = ['ScaLAPACK-%(version)s_fix-GCC-10.patch'] +checksums = [ + '40b9406c20735a9a3009d863318cb8d3e496fb073d201c5463df810e01ab2a57', # scalapack-2.2.0.tgz + 'f6bc3c6dee012ba4a696548a2e12b6aae932ce4fd5a142153b338839f52b5906', # ScaLAPACK-2.2.0_fix-GCC-10.patch +] + +builddependencies = [ + ('CMake', '3.29.3'), +] + +dependencies = [ + ('FlexiBLAS', '3.4.4'), +] + +# 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="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT +configopts += '-DLAPACK_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT + +sanity_check_paths = { + 'files': ['lib/libscalapack.%s' % SHLIB_EXT, 'lib64/libscalapack.%s' % SHLIB_EXT], + 'dirs': ["lib", "lib64"], +} + +moduleclass = 'numlib'