Merge branch 'it4i-karolina'

This commit is contained in:
Lukas Krupcik 2024-05-21 09:20:09 +02:00
commit eed3914844
9 changed files with 233 additions and 3 deletions

View File

@ -0,0 +1,27 @@
# IT4Innovations
# LK 2024
easyblock = 'ConfigureMake'
name = 'Critic2'
version = '1.1stable'
homepage = 'https://aoterodelaroza.github.io/critic2/'
description = """Critic2 is a program for the analysis of quantum mechanical
calculation results in molecules and periodic solids."""
toolchain = {'name': 'intel', 'version': '2020b'}
toolchainopts = {'extra_fflags': '-ffree-line-length-none'}
source_urls = ['https://github.com/aoterodelaroza/critic2/archive/refs/tags/']
sources = ['%(version)s.tar.gz']
checksums = ['e889fe7ca60c59e0e03f1dc27ed14dea0dc97cb63d3066a10b0ebe3e7b347042']
preconfigopts = 'autoreconf --force -i && '
sanity_check_paths = {
'files': ["bin/critic2"],
'dirs': ["bin"],
}
moduleclass = 'chem'

View File

@ -15,6 +15,7 @@ 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 = ['5f9a3ee85db4ea1d3b1fa9159352aebc2af72732fc2f58c96a3f0768dba0e9aa']
# AMD/intel cpu
import os

View File

@ -0,0 +1,40 @@
# IT4Innovations
# LK 2024
easyblock = 'CMakeMake'
name = 'libcint'
version = '5.5.0'
homepage = 'https://github.com/sunqm/libcint'
description = "libcint is an open source library for analytical Gaussian integrals."
toolchain = {'name': 'gfbf', 'version': '2023b'}
source_urls = ['https://github.com/sunqm/%(name)s/archive/']
sources = ['v%(version)s.tar.gz']
patches = ['%(name)s-4.4.0_remove_pyscftest.patch']
checksums = [
{'v5.5.0.tar.gz': 'c822a9a454587d935287de0f64a2c2cf5338323a554a3f34bcfb4a2892daf477'},
{'libcint-4.4.0_remove_pyscftest.patch': '6449297a6aee30fef3d6a268aa892dea8dd5c3ca9669a50ae694ab9bcf17842d'},
]
builddependencies = [
('CMake', '3.27.6'),
('Python', '3.11.5'),
('SciPy-bundle', '2023.11'),
]
configopts = "-DWITH_RANGE_COULOMB=on -DWITH_COULOMB_ERF=on -DWITH_F12=on -DENABLE_TEST=on"
buildopts = 'VERBOSE=1'
runtest = "test "
separate_build_dir = False # Must use the same directory for tests
sanity_check_paths = {
'files': ['include/cint.h', 'lib/%(name)s.so'],
'dirs': [],
}
moduleclass = 'chem'

View File

@ -0,0 +1,56 @@
# IT4Innovations
# LK 2024
easyblock = 'CMakeMake'
name = 'libxc'
version = '4.3.4'
homepage = 'http://www.tddft.org/programs/octopus/wiki/index.php/Libxc'
description = """Libxc is a library of exchange-correlation functionals for density-functional theory.
The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals."""
toolchain = {'name': 'foss', 'version': '2023b'}
source_urls = ['http://www.tddft.org/programs/libxc/down.php?file=4.3.4/']
sources = ['libxc-4.3.4.tar.gz']
checksums = [
'a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337',
'60e479b0c56df11c6cfdff8bdf4964bc2c7b36d19740b6b2a468b4f3c55af9cc'
]
patches = [
#'libxc-%(version)s_rename-F03.patch',
'libxc-%(version)s.patch'
]
builddependencies = [
('CMake', '3.27.6'),
('Perl', '5.38.0'),
]
separate_build_dir = True
# rename *.F03 source file since Intel Fortran local_compiler doesn't like that extension
# also requires patch file to rename file in CMakeLists.txt and src/Makefile.in
preconfigopts = "mv ../libxc-%(version)s/src/libxc_master.F03 ../libxc-%(version)s/src/libxc_master_F03.F90 && "
local_common_configopts = "-DENABLE_FORTRAN=ON -DENABLE_FORTRAN03=ON -DENABLE_XHOST=OFF"
# perform iterative build to get both static and shared libraries
configopts = [
local_common_configopts + ' -DBUILD_SHARED_LIBS=OFF',
local_common_configopts + ' -DBUILD_SHARED_LIBS=ON',
]
parallel = 1
runtest = 'test'
sanity_check_paths = {
'files': ['bin/xc-info', 'bin/xc-threshold'] +
['lib/libxc%s.%s' % (x, y) for x in ['', 'f03', 'f90'] for y in ['a', SHLIB_EXT]],
'dirs': ['include', 'lib/pkgconfig', 'share/cmake/Libxc'],
}
moduleclass = 'chem'

View File

@ -14,13 +14,18 @@ toolchain = {'name': 'intel', 'version': '2020b'}
source_urls = ['http://www.tddft.org/programs/libxc/down.php?file=4.3.4/']
sources = ['libxc-4.3.4.tar.gz']
checksums = [
'a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337',
'60e479b0c56df11c6cfdff8bdf4964bc2c7b36d19740b6b2a468b4f3c55af9cc'
]
patches = [
#'libxc-%(version)s_rename-F03.patch',
'libxc-%(version)s.patch'
]
builddependencies = [
('CMake', '3.20.1', '', True),
('CMake', '3.18.4'),
('Perl', '5.32.0'),
]

View File

@ -14,6 +14,7 @@ toolchainopts = {'pic': True, 'usempi': True}
source_urls = ['https://github.com/Unidata/netcdf-fortran/archive/']
sources = ['v%(version)s.tar.gz']
checksums = ['c6da30c2fe7e4e614c1dff4124e857afbd45355c6798353eccfa60c0702b495a']
builddependencies = [
('M4', '1.4.18'),

View File

@ -15,15 +15,16 @@ sources = ['v%(version)s.tar.gz']
source_urls = [
'https://github.com/Unidata/netcdf-c/archive/'
]
checksums = ['99930ad7b3c4c1a8e8831fb061cb02b2170fc8e5ccaeda733bd99c3b9d31666b']
dependencies = [
('HDF5', '1.10.6', '-parallel'),
('cURL', '7.76.0', '', True),
('cURL', '7.72.0'),
('Szip', '2.1.1'),
]
builddependencies = [
('CMake', '3.20.1', '', True),
('CMake', '3.18.4'),
('Doxygen', '1.8.20'),
]

View File

@ -26,6 +26,7 @@ if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
sources = [SOURCELOWER_TAR_GZ]
source_urls = ['http://octopus-code.org/down.php?file=%(version)s/']
checksums = ['0c98417071b5e38ba6cbdd409adf917837c387a010e321c0a7f94d9bd9478930']
builddependencies = [
('Bison', '3.7.1'),

View File

@ -0,0 +1,98 @@
# IT4Innovations
# LK 2024
name = 'OpenMPI'
version = '4.1.6'
versionsuffix = '-CUDA-12.4.0'
homepage = 'https://www.open-mpi.org/'
description = """The Open MPI Project is an open source MPI-3 implementation."""
toolchain = {'name': 'GCC', 'version': '12.2.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',
]
checksums = [
{'openmpi-4.1.6.tar.bz2': 'f740994485516deb63b5311af122c265179f5328a0d857a567b85db00b11e415'},
{'OpenMPI-4.1.1_build-with-internal-cuda-header.patch':
'63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83'},
{'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch':
'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e'},
]
builddependencies = [
('pkgconf', '1.9.3'),
('Perl', '5.36.0'),
('Autotools', '20220317'),
]
dependencies = [
('zlib', '1.2.12'),
('hwloc', '2.8.0'),
('libevent', '2.1.12'),
('UCX', '1.16.0',),
('UCX-CUDA', '1.16.0', '-CUDA-%(cudaver)s'),
('libfabric', '1.16.1'),
('PMIx', '4.2.2'),
('UCC', '1.3.0'),
('UCC-CUDA', '1.3.0', '-CUDA-%(cudaver)s'),
('CUDA', '12.4.0', '', True),
]
preconfigopts = './autogen.pl --force && '
# IT4I-specific settings
# 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 '
configopts += '--with-cuda=$EBROOTCUDA '
#configopts += '--with-pmix=/opt/it4i-libs/PMIx/4.2.6 '
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',
'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'