diff --git a/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2024.05.eb b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2024.05.eb new file mode 100644 index 00000000000..b6ab2a2d4f0 --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2024.05.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': 'gompi', 'version': '2024.05'} +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/f/foss/foss-2024.05.eb b/easybuild/easyconfigs/f/foss/foss-2024.05.eb new file mode 100644 index 00000000000..0d3f8fac41a --- /dev/null +++ b/easybuild/easyconfigs/f/foss/foss-2024.05.eb @@ -0,0 +1,28 @@ +easyblock = 'Toolchain' + +name = 'foss' +version = '2024.05' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#foss-toolchain' +description = """GNU Compiler Collection (GCC) based compiler toolchain, including + OpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.""" + +toolchain = SYSTEM + +local_gccver = '13.3.0' + +# toolchain used to build foss dependencies +local_comp_mpi_tc = ('gompi', version) + +# we need GCC and OpenMPI as explicit dependencies instead of gompi toolchain +# because of toolchain preparation functions +dependencies = [ + ('GCC', local_gccver), + ('OpenMPI', '5.0.3', '', ('GCC', local_gccver)), + ('FlexiBLAS', '3.4.4', '', ('GCC', local_gccver)), + ('FFTW', '3.3.10', '', ('GCC', local_gccver)), + ('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/g/gompi/gompi-2024.05.eb b/easybuild/easyconfigs/g/gompi/gompi-2024.05.eb new file mode 100644 index 00000000000..c3f4137cd28 --- /dev/null +++ b/easybuild/easyconfigs/g/gompi/gompi-2024.05.eb @@ -0,0 +1,20 @@ +easyblock = 'Toolchain' + +name = 'gompi' +version = '2024.05' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain, + including OpenMPI for MPI support.""" + +toolchain = SYSTEM + +local_gccver = '13.3.0' + +# compiler toolchain dependencies +dependencies = [ + ('GCC', local_gccver), # includes both GCC and binutils + ('OpenMPI', '5.0.3', '', ('GCC', local_gccver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2024.05.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2024.05.eb new file mode 100644 index 00000000000..8dd7ddcfa9c --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2024.05.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'foss', 'version': '2024.05'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2024.05-fb.eb b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2024.05-fb.eb new file mode 100644 index 00000000000..4bdfa045feb --- /dev/null +++ b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2024.05-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': 'gompi', 'version': '2024.05'} +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'