new file: a/AOMP/AOMP-17.0-1-gcccuda-2022b.eb

new file:   c/CGAL/CGAL-5.2.4-gompi-2022b.eb
	new file:   c/CGAL/CGAL-5.2.4-iimpi-2022b.eb
	new file:   g/gcccuda/gcccuda-2022b.eb
	new file:   g/glibc/glibc-2.37-GCCcore-12.2.0.eb
	new file:   h/HDF5/HDF5-1.14.0-iimpi-2022b.eb
	new file:   k/KaHIP/KaHIP-3.14-iimpi-2022b.eb
	new file:   n/netCDF/netCDF-4.9.0-iimpi-2022b.eb
	new file:   o/OpenFOAM/OpenFOAM-v2206-foss-2022a.eb
	new file:   o/OpenFOAM/OpenFOAM-v2212-cleanup.patch
	new file:   o/OpenFOAM/OpenFOAM-v2212-intel-2022b.eb
	new file:   o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0-CUDA-11.7.0.eb
	new file:   p/ParaView/ParaView-5.11.0-intel-2022b-mpi.eb
	new file:   p/pkg-config/pkg-config-0.29.2-GCCcore-12.2.0.eb
	new file:   s/SCOTCH/SCOTCH-7.0.3-gompi-2022b.eb
	new file:   s/SCOTCH/SCOTCH-7.0.3-iimpi-2022b.eb
	new file:   t/texinfo/texinfo-7.0.2-GCCcore-12.2.0.eb
This commit is contained in:
Lukas Krupcik 2023-05-04 14:18:28 +02:00
parent 7fa7ede8a4
commit a3ef551a85
17 changed files with 800 additions and 0 deletions

View File

@ -0,0 +1,38 @@
# IT4Innovvations
# LK 2023
name = 'AOMP'
version = '17.0-1'
homepage = 'https://github.com/ROCm-Developer-Tools/aomp'
description = "AMD fork of LLVM, setup for OpenMP offloading to Accelerators"
toolchain = {'name': 'gcccuda', 'version': '2022b'}
source_urls = ['https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_%(version)s/']
sources = ['aomp-%(version)s.tar.gz']
#patches = ['AOMP-13.0-2_remove_hardcoded_paths.patch']
checksums = [
# aomp-13.0-2.tar.gz:
'5b39f84ee38fcfd27849b55da4d99183e0b7f33eb335e07e5110c9de1cfe5b85',
# AOMP-13.0-2_remove_hardcoded_paths.patch:
# 'ec41ffcec63d079b6a73c93bea29e0b8d77ca7b059725aa1d47c334f7e476ff0',
]
builddependencies = [
('CMake', '3.24.3'),
('Perl', '5.36.0'),
('Python', '3.10.8'),
('elfutils', '0.189'),
('pkg-config', '0.29.2'),
]
dependencies = [
('binutils', '2.39'),
('libffi', '3.4.4'),
('ncurses', '6.3'),
('numactl', '2.0.16'),
('libdrm', '2.4.114'),
]
moduleclass = 'compiler'

View File

@ -0,0 +1,30 @@
# IT4Innovations
# LK 2023
name = 'CGAL'
version = '5.2.4'
homepage = 'https://www.cgal.org/'
description = """The goal of the CGAL Open Source Project is to provide easy access to efficient
and reliable geometric algorithms in the form of a C++ library."""
toolchain = {'name': 'gompi', 'version': '2022b'}
toolchainopts = {'strict': True}
source_urls = ['https://github.com/CGAL/cgal/releases/download/v%(version)s/']
sources = [SOURCE_TAR_XZ]
checksums = ['7f792c59d067e41a073bcee5d615f4276f9ccd2b5e7d359093cc36149fda14c3']
builddependencies = [
('Eigen', '3.4.0'),
('Boost', '1.81.0'),
('CMake', '3.24.3'),
('GMP', '6.2.1'),
('MPFR', '4.2.0'),
]
configopts = "-DCGAL_HEADER_ONLY=OFF "
configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON "
configopts += "-DWITH_GMPXX=ON "
moduleclass = 'numlib'

View File

@ -0,0 +1,30 @@
# IT4Innovations
# LK 2023
name = 'CGAL'
version = '5.2.4'
homepage = 'https://www.cgal.org/'
description = """The goal of the CGAL Open Source Project is to provide easy access to efficient
and reliable geometric algorithms in the form of a C++ library."""
toolchain = {'name': 'iimpi', 'version': '2022b'}
toolchainopts = {'strict': True}
source_urls = ['https://github.com/CGAL/cgal/releases/download/v%(version)s/']
sources = [SOURCE_TAR_XZ]
checksums = ['7f792c59d067e41a073bcee5d615f4276f9ccd2b5e7d359093cc36149fda14c3']
builddependencies = [
('Eigen', '3.4.0'),
('Boost', '1.79.0'),
('CMake', '3.24.3'),
('GMP', '6.2.1'),
('MPFR', '4.2.0'),
]
configopts = "-DCGAL_HEADER_ONLY=OFF "
configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_Eigen3=ON "
configopts += "-DWITH_GMPXX=ON -DWITH_LAPACK=ON -DWITH_BLAS=ON "
moduleclass = 'numlib'

View File

@ -0,0 +1,22 @@
# IT4Innovations
# LK 2023
easyblock = "Toolchain"
name = 'gcccuda'
version = '2022b'
homepage = '(none)'
description = """GNU Compiler Collection (GCC) based compiler toolchain, along with CUDA toolkit."""
toolchain = SYSTEM
local_gcc_version = '12.2.0'
# compiler toolchain dependencies
dependencies = [
('GCC', local_gcc_version),
('CUDA', '12.0.0', '', True),
]
moduleclass = 'toolchain'

View File

@ -0,0 +1,37 @@
# IT4Innovations
# LK 2023
easyblock = 'ConfigureMake'
name = 'glibc'
version = '2.37'
homepage = 'https://www.gnu.org/software/libc/'
description = """The GNU C Library project provides the core libraries for the GNU system and GNU/Linux systems,
as well as many other systems that use Linux as the kernel."""
toolchain = {'name': 'GCCcore', 'version': '12.2.0'}
source_urls = ['https://ftp.gnu.org/gnu/glibc/']
sources = ['glibc-%(version)s.tar.xz']
checksums = ['2257eff111a1815d74f46856daaf40b019c1e553156c69d48ba0cbfc1bb91a43']
builddependencies = [
('binutils', '2.39'),
('make', '4.4.1'),
('texinfo', '7.0.2'),
('Bison', '3.8.2'),
('Python', '3.10.8'),
]
preconfigopts = 'mkdir obj && cd obj && CC="$CC -fuse-ld=bfd -w" ' # --disable-werror" '
configure_cmd_prefix = '../'
prebuildopts = "cd obj && "
preinstallopts = prebuildopts
sanity_check_paths = {
'files': ['bin/ldd', 'lib/libc.a', 'lib/libc.%s' % SHLIB_EXT],
'dirs': ['etc', 'libexec', 'include', 'sbin', 'share'],
}
moduleclass = 'lib'

View File

@ -0,0 +1,32 @@
# IT4Innovations
# LK 2023
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
# 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 = ['a571cc83efda62e1a51a0a912dd916d01895801c5025af91669484a1575a6ef4']
_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.12'),
('Szip', '2.1.1'),
]
moduleclass = 'data'

View File

@ -0,0 +1,31 @@
# IT4Innovations
# LK 2023
easyblock = 'CMakeMake'
name = 'KaHIP'
version = '3.14'
homepage = 'https://kahip.github.io/'
description = """The graph partitioning framework KaHIP -- Karlsruhe High Quality Partitioning."""
toolchain = {'name': 'iimpi', 'version': '2022b'}
toolchainopts = {'pic': True}
source_urls = ['https://github.com/KaHIP/KaHIP/archive/refs/tags']
sources = ['v%(version)s.tar.gz']
checksums = ['9da04f3b0ea53b50eae670d6014ff54c0df2cb40f6679b2f6a96840c1217f242']
builddependencies = [
('binutils', '2.39'),
('CMake', '3.24.3'),
]
sanity_check_paths = {
'files': ["lib/libkahip_static.a", "lib/libkahip.%s" % SHLIB_EXT] +
["lib/libparhip_interface_static.a", "lib/libparhip_interface.%s" % SHLIB_EXT] +
["include/%s" % x for x in ["kaHIP_interface.h", "parhip_interface.h"]],
'dirs': [],
}
moduleclass = 'math'

View File

@ -0,0 +1,56 @@
# IT4Innovations
# LK 2023
name = 'netCDF'
version = '4.9.0'
homepage = 'https://www.unidata.ucar.edu/software/netcdf/'
description = """NetCDF (network Common Data Form) is a set of software libraries
and machine-independent data formats that support the creation, access, and sharing of array-oriented
scientific data."""
toolchain = {'name': 'iimpi', 'version': '2022b'}
toolchainopts = {'pic': True, 'usempi': True}
source_urls = ['https://github.com/Unidata/netcdf-c/archive/']
sources = ['v%(version)s.tar.gz']
patches = [
'netCDF-%(version)s_fix-lib-name.patch',
'netCDF-%(version)s_fix-linking-errors.patch',
'netCDF-%(version)s_skip-nasa-test.patch',
]
checksums = [
'9f4cb864f3ab54adb75409984c6202323d2fc66c003e5308f3cdf224ed41c0a6', # v4.9.0.tar.gz
'ed45ae6c49cf8dcddaadef4c5cf403049bf3f761187413d7b03754d319345d6a', # netCDF-4.9.0_fix-lib-name.patch
'2b9579c149579d137eb16ae5d790787774033dcec49c0d4993d9859f224e7b15', # netCDF-4.9.0_fix-linking-errors.patch
'19d99e03c048b037dc01f03f5b8ddc910ebaceb076d0f050540d348f26dfcd2a', # netCDF-4.9.0_skip-nasa-test.patch
]
builddependencies = [
('Autotools', '20220317'),
('CMake', '3.24.3'),
('Doxygen', '1.9.5'),
]
dependencies = [
('HDF5', '1.14.0'),
('cURL', '7.86.0'),
('Szip', '2.1.1'),
('zstd', '1.5.2'),
('bzip2', '1.0.8'),
('libxml2', '2.10.3'),
]
# make sure both static and shared libs are built
# and disable "remote" tests that access a unreliable external test server over internet
configopts = [
"-DENABLE_DAP_REMOTE_TESTS=OFF -DBUILD_SHARED_LIBS=OFF",
"-DENABLE_DAP_REMOTE_TESTS=OFF -DBUILD_SHARED_LIBS=ON",
]
# some tests try to start 16 MPI ranks, so we need to allow oversubscription to avoid failing tests
pretestopts = "OMPI_MCA_rmaps_base_oversubscribe=1 "
runtest = 'test'
moduleclass = 'data'

View File

@ -0,0 +1,46 @@
name = 'OpenFOAM'
version = 'v2206'
homepage = 'https://www.openfoam.com/'
description = """OpenFOAM is a free, open source CFD software package.
OpenFOAM has an extensive range of features to solve anything from complex fluid flows
involving chemical reactions, turbulence and heat transfer,
to solid dynamics and electromagnetics."""
toolchain = {'name': 'foss', 'version': '2022a'}
# Users have found that vectorizion caused OpenFOAM to produce some very incorrect results.
# Disabling vectorize was confirmed to fix the the known issues.
# With no test suite, sticking to known working toolchain options until proven otherwise.
toolchainopts = {'cstd': 'c++11', 'vectorize': False}
source_urls = ['https://sourceforge.net/projects/openfoam/files/%(version)s/']
sources = [SOURCE_TGZ]
patches = [
('OpenFOAM-v2206-cleanup.patch', 1),
'OpenFOAM-v1906-wmake-ompi.patch',
]
checksums = [
'db95eda4afb97ca870733b2d4201ef539099d0778e3f3eca9a075d4f1a0eea46', # OpenFOAM-v2206.tgz
'25333124581acae57c173587de4ebd6e143b894b1a26e4f0326db8b7e0cb1972', # OpenFOAM-v2206-cleanup.patch
'518e27683c5c41400cfbc17b31effa50b31b25916dccbf85b18b0b955f642505', # OpenFOAM-v1906-wmake-ompi.patch
]
builddependencies = [
('Bison', '3.8.2'),
('CMake', '3.23.1'),
('flex', '2.6.4'),
]
dependencies = [
('libreadline', '8.1.2'),
('ncurses', '6.3'),
# OpenFOAM requires 64 bit METIS using 32 bit indexes (array indexes)
('METIS', '5.1.0'),
('SCOTCH', '7.0.1'),
('KaHIP', '3.14'),
('CGAL', '4.14.3'),
('ParaView', '5.10.1', '-mpi'),
('gnuplot', '5.4.4'),
]
moduleclass = 'cae'

View File

@ -0,0 +1,150 @@
# Replaces OpenFOAM third-party libraries with EASYBUILD variants.
# Uses the OpenFOAM prefs mechanism and the FOAM_CONFIG_ETC variable
# to define the preferred settings without patching the original files
#
# Authors: Mark Olesen <Mark.Olesen@esi-group.com>
# -------------------------------------------------------------------------
--- /dev/null 2020-12-14 09:05:45.272769166 +0100
+++ OpenFOAM-v2012/etc/prefs.sh 2020-12-14 10:02:26.488430802 +0100
@@ -0,0 +1,7 @@
+##Easybuild## settings -*- sh -*-
+
+export FOAM_CONFIG_ETC="etc/easybuild"
+
+export WM_MPLIB=INTELMPI
+
+##Easybuild##
--- /dev/null 2020-12-14 09:05:45.272769166 +0100
+++ OpenFOAM-v2012/etc/easybuild/config.sh/CGAL 2020-12-14 10:10:55.991841204 +0100
@@ -0,0 +1,6 @@
+##Easybuild## settings -*- sh -*-
+
+export BOOST_ARCH_PATH="$EBROOTBOOST"
+export CGAL_ARCH_PATH="$EBROOTCGAL"
+
+##Easybuild##
--- /dev/null 2020-12-14 09:05:45.272769166 +0100
+++ OpenFOAM-v2012/etc/easybuild/config.sh/FFTW 2020-12-14 10:10:53.735843322 +0100
@@ -0,0 +1,5 @@
+##Easybuild## settings -*- sh -*-
+
+export FFTW_ARCH_PATH="$EBROOTFFTW"
+
+##EasyBuild##
--- /dev/null 2020-12-14 09:05:45.272769166 +0100
+++ OpenFOAM-v2012/etc/easybuild/config.sh/metis 2020-12-11 21:23:28.774934024 +0100
@@ -0,0 +1,6 @@
+##Easybuild## settings -*- sh -*-
+
+METIS_VERSION="metis-$EBVERSIONMETIS"
+[ -d "$METIS_ARCH_PATH" ] || METIS_ARCH_PATH="$METIS_ROOT"
+
+##Easybuild##
--- /dev/null 2020-12-14 09:05:45.272769166 +0100
+++ OpenFOAM-v2012/etc/easybuild/config.sh/readline 2020-12-11 21:23:22.534951043 +0100
@@ -0,0 +1,5 @@
+##Easybuild## settings -*- sh -*-
+
+export READLINE_ARCH_PATH="$EBROOTLIBREADLINE"
+
+##Easybuild##
--- /dev/null 2020-12-14 09:05:45.272769166 +0100
+++ OpenFOAM-v2012/etc/easybuild/config.sh/scotch 2020-12-11 21:23:17.586964539 +0100
@@ -0,0 +1,7 @@
+##Easybuild## settings -*- sh -*-
+
+export SCOTCH_VERSION="scotch_$EBVERSIONSCOTCH"
+export SCOTCH_ARCH_PATH="$EBROOTSCOTCH"
+[ -d "$SCOTCH_ARCH_PATH" ] || SCOTCH_ARCH_PATH="$SCOTCH_ROOT"
+
+##Easybuild##
--- /dev/null 2020-12-14 09:05:45.272769166 +0100
+++ OpenFOAM-v2012/etc/easybuild/config.sh/vtk 2020-12-11 21:22:55.463024882 +0100
@@ -0,0 +1,9 @@
+##Easybuild## settings -*- sh -*-
+
+export VTK_DIR="$EBROOTVTK"
+export MESA_ARCH_PATH="$EBROOTMESA"
+
+# Define paraview-mesa directory as required
+unset ParaView_MESA_DIR
+
+##Easybuild##
--- /dev/null 2020-12-14 09:05:45.272769166 +0100
+++ OpenFOAM-v2012/etc/easybuild/config.sh/paraview 2020-12-14 10:13:53.583674383 +0100
@@ -0,0 +1,75 @@
+##Easybuild## settings -*- sh -*-
+#
+# Largely a knockoff of the OpenFOAM etc/config.sh/paraview-system
+# readjusted for easybuild
+#
+# Copyright (C) 2020 OpenCFD Ltd.
+#
+#------------------------------------------------------------------------------
+# Compiler-specific location for ThirdParty installations
+archDir="$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER"
+
+# Clean path and library path of previous settings
+eval \
+ "$($WM_PROJECT_DIR/bin/foamCleanPath -sh-env=PATH \
+ $ParaView_DIR $archDir/ParaView- $archDir/qt-)"
+
+eval \
+ "$($WM_PROJECT_DIR/bin/foamCleanPath -sh-env=LD_LIBRARY_PATH \
+ $ParaView_DIR $archDir/ParaView- $archDir/qt-)"
+
+
+#------------------------------------------------------------------------------
+
+##Easybuild## settings
+
+ParaView_VERSION="$EBVERSIONPARAVIEW"
+export ParaView_DIR="$EBROOTPARAVIEW"
+
+#------------------------------------------------------------------------------
+
+unset PV_PLUGIN_PATH
+
+# Set API to correspond to VERSION
+# pv_api is <digits>.<digits> from ParaView_VERSION
+#-
+# Extract API from VERSION
+pv_api=$(echo "$ParaView_VERSION" | \
+ sed -ne 's/^[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\).*$/\1/p')
+
+pv_plugin_dir="$FOAM_LIBBIN/paraview-$pv_api"
+
+# Set paths if binaries are present
+if [ -r "$ParaView_DIR" ]
+then
+ export PATH="$ParaView_DIR/bin:$PATH"
+
+ # ParaView libraries
+ # - 5.5 and later: lib/, but could also be lib64/
+ for libDir in lib64 lib
+ do
+ pvLibDir="$libDir/paraview-$pv_api"
+ if [ -d "$ParaView_DIR/$pvLibDir" ]
+ then
+ export LD_LIBRARY_PATH="$ParaView_DIR/$libDir:$LD_LIBRARY_PATH"
+ break
+ fi
+ done
+
+ # OpenFOAM plugin directory must be the first in PV_PLUGIN_PATH
+ # and have paraview-major.minor encoded in its name
+ if [ -d "$pv_plugin_dir" ]
+ then
+ export PV_PLUGIN_PATH="$pv_plugin_dir"
+ fi
+fi
+
+
+#------------------------------------------------------------------------------
+
+unset ParaView_VERSION
+
+unset archDir libDir
+unset pv_api pv_plugin_dir pvLibDir
+
+#------------------------------------------------------------------------------

View File

@ -0,0 +1,57 @@
# IT4Innovations
# LK 2023
name = 'OpenFOAM'
version = 'v2212'
homepage = 'https://www.openfoam.com/'
description = """OpenFOAM is a free, open source CFD software package.
OpenFOAM has an extensive range of features to solve anything from complex fluid flows
involving chemical reactions, turbulence and heat transfer,
to solid dynamics and electromagnetics."""
toolchain = {'name': 'intel', 'version': '2022b'}
# Users have found that vectorizion caused OpenFOAM to produce some very incorrect results.
# Disabling vectorize was confirmed to fix the the known issues.
# With no test suite, sticking to known working toolchain options until proven otherwise.
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', 'cstd': 'c++11'}
else:
toolchainopts = {'pic': True, 'usempi': True, 'cstd': 'c++11'}
source_urls = ['https://sourceforge.net/projects/openfoam/files/%(version)s/']
sources = [SOURCE_TGZ]
patches = [
('OpenFOAM-v2212-cleanup.patch', 1),
]
checksums = [
{'OpenFOAM-v2212.tgz': '0a3ddbfea9abca04c3a811e72fcbb184c6b1f92c295461e63b231f1a97e96476'},
{'OpenFOAM-v2212-cleanup.patch': '9a98e5079e2f89178286914b055447d2358615f0c940760f6a7c9979be71ad5d'},
]
builddependencies = [
('CMake', '3.24.3'),
('flex', '2.6.4'),
]
dependencies = [
('ncurses', '6.3'),
('LLVM', '15.0.5'),
('Qt5', '5.15.7'),
('Boost', '1.81.0', '', ('GCC', '12.2.0')),
('imkl-FFTW', '2022.2.1'),
('numactl', '2.0.16'),
# OpenFOAM requires 64 bit METIS using 32 bit indexes (array indexes)
('METIS', '5.1.0'),
('SCOTCH', '7.0.3'),
('KaHIP', '3.14'),
# ('CGAL', '5.2.4'),
# ('ParaView', '5.11.0', '-mpi'),
('gnuplot', '5.4.6'),
]
prebuildopts = 'export LD_PRELOAD="libmpi.so" &&'
moduleclass = 'cae'

View File

@ -0,0 +1,83 @@
# IT4Innovations 2022
# JK
name = 'OpenMPI'
version = '4.1.4'
versionsuffix = '-CUDA-11.7.0'
homepage = 'https://www.open-mpi.org/'
description = """The Open MPI Project is an open source MPI-3 implementation."""
toolchain = {'name': 'GCC', 'version': '11.3.0'}
source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads']
sources = [SOURCELOWER_TAR_BZ2]
checksums = [
'92912e175fd1234368c8730c03f4996fe5942e7479bb1d10059405e7f2b3930d', # openmpi-4.1.4.tar.bz2
]
builddependencies = [
('pkgconf', '1.8.0'),
('Perl', '5.34.1'),
('Autotools', '20220317'),
]
dependencies = [
('zlib', '1.2.12'),
('hwloc', '2.7.1'),
('libevent', '2.1.12'),
('UCX', '1.12.1', '-GCCcore-11.3.0', True),
('UCX-CUDA', '1.12.1', '-GCCcore-11.3.0-CUDA-11.7.0', True),
('libfabric', '1.15.1'),
('PMIx', '4.1.2'),
('UCC', '1.0.0'),
('CUDA', '11.7.0', '', True),
]
preconfigopts = './autogen.pl --force && '
# IT4I-specific settings
configopts = '--enable-shared --enable-mpi-thread-multiple --with-verbs '
configopts += '--enable-mpirun-prefix-by-default '
configopts += '--with-hwloc=$EBROOTHWLOC ' # hwloc support
configopts += '--with-tm=/opt/pbs ' # Enable PBS
configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings
configopts += '--with-ucx=$EBROOTUCX '
configopts += '--with-cuda=$EBROOTCUDA '
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': [], }
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',
}
elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0',
'OMPI_MCA_orte_base_help_aggregate': '0',
}
else:
modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0',
'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8',
}
moduleclass = 'mpi'

View File

@ -0,0 +1,57 @@
# IT4Innovations
# LK 2023
easyblock = 'CMakeMake'
name = 'ParaView'
version = '5.11.0'
versionsuffix = '-mpi'
homepage = 'https://www.paraview.org'
description = "ParaView is a scientific parallel visualizer."
toolchain = {'name': 'intel', 'version': '2022b'}
toolchainopts = {'pic': True, 'usempi': True}
local_download_suffix = 'download.php?submit=Download&version=v%(version_major_minor)s&type=source&os=all&downloadFile='
source_urls = ['https://www.paraview.org/paraview-downloads/%s' % local_download_suffix]
sources = ["%(name)s-v%(version)s.tar.gz"]
checksums = ['68b1c6d15dd67ec442f964460c56212417e8af2a96763001f8548eb3cbc5ce87']
builddependencies = [('CMake', '3.24.3')]
dependencies = [
('Python', '3.10.8'),
('XZ', '5.2.7'),
('HDF5', '1.14.0'),
# ('netCDF', '4.9.0'),
('libGLU', '9.0.2'),
('X11', '20221110'),
('Mesa', '22.2.4'),
('Qt5', '5.15.7'),
('zlib', '1.2.12'),
('FFmpeg', '5.1.2'),
('Szip', '2.1.1'),
]
# Paraview
configopts = '-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON -DPARAVIEW_BUILD_SHARED_LIBS=ON '
configopts += '-DPARAVIEW_USE_MPI=ON '
configopts += '-DPARAVIEW_ENABLE_FFMPEG=ON '
configopts += '-DPARAVIEW_USE_PYTHON=ON '
configopts += '-DPython3_ROOT_DIR=$EBROOTPYTHON '
# OpenGL & Mesa
configopts += '-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s ' % SHLIB_EXT
configopts += '-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include '
sanity_check_paths = {
'files': ['bin/paraview', 'bin/pvpython'],
'dirs': ['include/paraview-%(version_major_minor)s', 'lib/python%(pyshortver)s/site-packages'],
}
sanity_check_commands = ['python -c "import paraview"']
modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'}
moduleclass = 'vis'

View File

@ -0,0 +1,37 @@
# IT4Innovations
# LK 2023
easyblock = 'ConfigureMake'
name = 'pkg-config'
version = '0.29.2'
homepage = 'https://www.freedesktop.org/wiki/Software/pkg-config/'
description = """
pkg-config is a helper tool used when compiling applications and libraries.
It helps you insert the correct compiler options on the command line so an
application can use gcc -o test test.c `pkg-config --libs --cflags glib-2.0`
for instance, rather than hard-coding values on where to find glib (or other
libraries).
"""
toolchain = {'name': 'GCCcore', 'version': '12.2.0'}
source_urls = ['https://pkg-config.freedesktop.org/releases/']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['6fc69c01688c9458a57eb9a1664c9aba372ccda420a02bf4429fe610e7e7d591']
builddependencies = [('binutils', '2.39')]
# don't use PAX, it might break.
tar_config_opts = True
configopts = " --with-internal-glib"
sanity_check_paths = {
'files': ['bin/pkg-config'],
'dirs': [],
}
moduleclass = 'devel'

View File

@ -0,0 +1,27 @@
# IT4Innovations
# LK 2023
name = 'SCOTCH'
version = '7.0.3'
homepage = 'https://www.labri.fr/perso/pelegrin/scotch/'
description = """Software package and libraries for sequential and parallel graph partitioning,
static mapping, and sparse matrix block ordering, and sequential mesh and hypergraph partitioning."""
toolchain = {'name': 'gompi', 'version': '2022b'}
toolchainopts = {'pic': True}
source_urls = ['https://gitlab.inria.fr/scotch/scotch/-/archive/v%(version)s/']
sources = ['%(namelower)s-v%(version)s.tar.gz']
checksums = ['5b5351f0ffd6fcae9ae7eafeccaa5a25602845b9ffd1afb104db932dd4d4f3c5']
builddependencies = [
('Bison', '3.8.2'),
('flex', '2.6.4'),
]
dependencies = [
('zlib', '1.2.12'),
]
moduleclass = 'math'

View File

@ -0,0 +1,27 @@
# IT4Innovations
# LK 2023
name = 'SCOTCH'
version = '7.0.3'
homepage = 'https://www.labri.fr/perso/pelegrin/scotch/'
description = """Software package and libraries for sequential and parallel graph partitioning,
static mapping, and sparse matrix block ordering, and sequential mesh and hypergraph partitioning."""
toolchain = {'name': 'iimpi', 'version': '2022b'}
toolchainopts = {'pic': True}
source_urls = ['https://gitlab.inria.fr/scotch/scotch/-/archive/v%(version)s/']
sources = ['%(namelower)s-v%(version)s.tar.gz']
checksums = ['5b5351f0ffd6fcae9ae7eafeccaa5a25602845b9ffd1afb104db932dd4d4f3c5']
builddependencies = [
('Bison', '3.8.2'),
('flex', '2.6.4'),
]
dependencies = [
('zlib', '1.2.12'),
]
moduleclass = 'math'

View File

@ -0,0 +1,40 @@
# IT4Innovations
# LK 2023
easyblock = 'ConfigureMake'
name = 'texinfo'
version = '7.0.2'
homepage = 'https://www.gnu.org/software/texinfo/'
description = """Texinfo is the official documentation format of the GNU project."""
toolchain = {'name': 'GCCcore', 'version': '12.2.0'}
source_urls = [GNU_SOURCE]
sources = [SOURCELOWER_TAR_XZ]
checksums = ['f211ec3261383e1a89e4555a93b9d017fe807b9c3992fb2dff4871dae6da54ad']
builddependencies = [('binutils', '2.39')]
osdependencies = ['texlive']
preinstallopts = "make TEXMF=%(installdir)s/texmf install-tex && "
# This will overwrite a users $TEXMFHOME so this module is best used as a build dependency
modextravars = {'TEXMFHOME': '%(installdir)s/texmf'}
modloadmsg = "\n\nWARNING: This texinfo module has (re)defined the value for the environment variable $TEXMFHOME.\n"
modloadmsg += "If you use a custom texmf directory (such as ~/texmf) you should copy files found in the\n"
modloadmsg += "new $TEXMFHOME to your custom directory and reset the value of $TEXMFHOME to point to that space:\n"
modloadmsg += "\tcp -r $TEXMFHOME/* /path/to/your/texmf\n"
modloadmsg += "\texport TEXMFHOME=/path/to/your/texmf\n\n"
sanity_check_paths = {
'files': [
'texmf/tex/texinfo/texinfo.tex',
'bin/install-info', 'bin/makeinfo', 'bin/pdftexi2dvi', 'bin/pod2texi', 'bin/texi2pdf'
],
'dirs': ['bin', 'share', 'texmf'],
}
moduleclass = 'devel'