modified: b/Boost/Boost-1.72.0-intel-2020a.eb

modified:   l/LAMMPS/LAMMPS-2Aug2023_update1-foss-2021b-kokkos.eb
	new file:   l/LAMMPS/LAMMPS-2Aug2023_update2-foss-2023a-kokkos-CUDA-12.1.1.eb
	new file:   l/LAMMPS/LAMMPS-2Aug2023_update2-foss-2023a-kokkos.eb
	modified:   m/METIS/METIS-5.1.0-intel-2020a.eb
	modified:   p/PETSc/PETSc-3.12.4-intel-2020a.eb
	modified:   s/SCOTCH/SCOTCH-6.0.9-intel-2020a.eb
	modified:   s/SLEPc/SLEPc-3.13.3-intel-2020a.eb
	new file:   y/Yambo/Yambo-5.2.3-intel-2020a-SLEPc.eb
This commit is contained in:
Lukas Krupcik 2024-07-09 09:30:41 +02:00
parent 9482fb2c46
commit 60a06b0b40
9 changed files with 448 additions and 4 deletions

View File

@ -11,7 +11,7 @@ toolchainopts = {'pic': True, 'usempi': True}
source_urls = [SOURCEFORGE_SOURCE]
sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))]
checksums = ['c66e88d5786f2ca4dbebb14e06b566fb642a1a6947ad8cc9091f9f445134143f']
dependencies = [
('bzip2', '1.0.8'),

View File

@ -2,7 +2,7 @@
# LK 2023
name = 'LAMMPS'
version = '2Aug2023'
version = '2Aug2023_update1'
versionsuffix = '-kokkos'
homepage = 'https://www.lammps.org'
@ -27,7 +27,7 @@ else:
# 'https://github.com/lammps/lammps/archive/'
source_urls = [GITHUB_LOWER_SOURCE]
sources = ['stable_%(version)s_update1.tar.gz']
sources = ['stable_%(version)s.tar.gz']
checksums = ['0e5568485e5ee080412dba44a1b7a93f864f1b5c75121f11d528854269953ed0']
builddependencies = [

View File

@ -0,0 +1,195 @@
# IT4Innovations
# LK 2024
name = 'LAMMPS'
version = '2Aug2023_update2'
_cuda_suffix = '-CUDA-%(cudaver)s'
versionsuffix = '-kokkos' + _cuda_suffix
homepage = 'https://www.lammps.org'
description = """LAMMPS is a classical molecular dynamics code, and an acronym
for Large-scale Atomic/Molecular Massively Parallel Simulator. LAMMPS has
potentials for solid-state materials (metals, semiconductors) and soft matter
(biomolecules, polymers) and coarse-grained or mesoscopic systems. It can be
used to model atoms or, more generically, as a parallel particle simulator at
the atomic, meso, or continuum scale. LAMMPS runs on single processors or in
parallel using message-passing techniques and a spatial-decomposition of the
simulation domain. The code is designed to be easy to modify or extend with new
functionality.
"""
toolchain = {'name': 'foss', 'version': '2023a'}
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
toolchainopts = {'openmp': True, 'usempi': True, 'optarch': 'march=core-avx2', 'pic': True}
else:
toolchainopts = {'openmp': True, 'usempi': True, 'pic': True}
# 'https://github.com/lammps/lammps/archive/'
source_urls = [GITHUB_LOWER_SOURCE]
sources = ['stable_%(version)s.tar.gz']
patches = [
'LAMMPS-2Aug2023_install_lammps_python_package_in_eb_software_module.patch',
'LAMMPS-2Aug2023_fix-timestep-balance-example.patch',
]
checksums = [
{'stable_2Aug2023_update2.tar.gz': '3bcecabc9cad08d0a4e4d989b52d29c58505f7ead8ebacf43c9db8d9fd3d564a'},
{'LAMMPS-2Aug2023_install_lammps_python_package_in_eb_software_module.patch':
'723c944b62b9d28427d25e80a7a67049631702d344df49268a6846aa0cd0fe04'},
{'LAMMPS-2Aug2023_fix-timestep-balance-example.patch':
'6f68387ced2b4bd0a06e4c3d31b0ffd47042476777d87d8a0ca6b19a4e6a1777'},
]
builddependencies = [
('CMake', '3.26.3'),
('pkgconf', '1.9.5'),
('archspec', '0.2.1'),
]
dependencies = [
('CUDA', '12.1.1', '', SYSTEM),
('UCX-CUDA', '1.14.1', _cuda_suffix),
('NCCL', '2.18.3', _cuda_suffix),
('Python', '3.11.3'),
('libpng', '1.6.39'),
('libjpeg-turbo', '2.1.5.1'),
('netCDF', '4.9.2'),
('GSL', '2.7'),
('zlib', '1.2.13'),
('gzip', '1.12'),
('cURL', '8.0.1'),
('HDF5', '1.14.0'),
('PCRE', '8.45'),
('libxml2', '2.11.4'),
('FFmpeg', '6.0'),
('Voro++', '0.4.6'),
('kim-api', '2.3.0'),
('Eigen', '3.4.0'),
('PLUMED', '2.9.0'),
('SciPy-bundle', '2023.07'),
# VTK package is auto-disabled if this dep is not available
('VTK', '9.3.0'),
# We use a custom build of MDI
('MDI', '1.4.26'),
]
if ARCH == 'x86_64':
# TBB and ScaFaCos are an optional dependency when building on Intel arch
dependencies += [
('tbb', '2021.11.0'),
('ScaFaCoS', '1.0.4'),
]
# To use additional custom configuration options, use the 'configopts' easyconfig parameter
# See docs and lammps easyblock for more information.
# https://github.com/lammps/lammps/blob/master/cmake/README.md#lammps-configuration-options
# OpenMP-Kokkos build is default in the current easyblock. One can switch to serial backend of Kokkos,
# which is claimed to be faster in pure MPI calculations
# configopts = "-DKokkos_ENABLE_SERIAL=yes "
# packages auto-enabled by easyblock
# 'GPU' - if cuda package is present and kokkos is disabled
# 'KOKKOS' - if kokkos is enabled (by default)
# 'INTEL' - if builing on Intel CPU
# 'OPENMP' - if OpenMP swithed on in 'toolchainopts'
# include the following extra packages into the build
general_packages = [
'AMOEBA',
'ASPHERE',
'ATC',
'AWPMD',
'BOCS',
'BODY',
'BPM',
'BROWNIAN',
'CG-DNA',
'CG-SPICA',
'CLASS2',
'COLLOID',
'COLVARS',
'COMPRESS',
'CORESHELL',
'DIELECTRIC',
'DIFFRACTION',
'DIPOLE',
'DPD-BASIC',
'DPD-MESO',
'DPD-REACT',
'DPD-SMOOTH',
'DRUDE',
'EFF',
'ELECTRODE',
'EXTRA-COMPUTE',
'EXTRA-DUMP',
'EXTRA-FIX',
'EXTRA-MOLECULE',
'EXTRA-PAIR',
'FEP',
'GRANULAR',
'H5MD',
'INTERLAYER',
'KIM',
'KSPACE',
'LATBOLTZ',
'LEPTON',
'MACHDYN',
'MANIFOLD',
'MANYBODY',
'MC',
'MDI',
'MEAM',
'MGPT',
'MISC',
'ML-IAP',
'ML-PACE',
'ML-POD',
'ML-RANN',
'ML-SNAP',
'MOFFF',
'MOLECULE',
'MOLFILE',
'MPIIO',
'NETCDF',
'OPT',
'ORIENT',
'PERI',
'PHONON',
'PLUGIN',
'PLUMED',
'POEMS',
'PTM',
'PYTHON',
'QEQ',
'QTB',
'REACTION',
'REAXFF',
'REPLICA',
'RIGID',
'SCAFACOS',
'SHOCK',
'SMTBQ',
'SPH',
'SPIN',
'SRD',
'TALLY',
'UEF',
'VORONOI',
'VTK',
'YAFF',
]
# Excluded packages due to requiring additional (non-trivial) deps
# - ADIOS
# - LATTE
# - MESONT (requires very large files downloaded during build)
# - ML-HDNNP (requires N2P2)
# - ML-QUIP
# - MSCG
# - QMMM (setup seems complex)
# hardware-specific option
# note: only the highest capability will be used
# cuda_compute_capabilities = ['9.0']
moduleclass = 'chem'

View File

@ -0,0 +1,187 @@
# IT4Innovations
# LK 2024
name = 'LAMMPS'
version = '2Aug2023_update2'
versionsuffix = '-kokkos'
homepage = 'https://www.lammps.org'
description = """LAMMPS is a classical molecular dynamics code, and an acronym
for Large-scale Atomic/Molecular Massively Parallel Simulator. LAMMPS has
potentials for solid-state materials (metals, semiconductors) and soft matter
(biomolecules, polymers) and coarse-grained or mesoscopic systems. It can be
used to model atoms or, more generically, as a parallel particle simulator at
the atomic, meso, or continuum scale. LAMMPS runs on single processors or in
parallel using message-passing techniques and a spatial-decomposition of the
simulation domain. The code is designed to be easy to modify or extend with new
functionality.
"""
toolchain = {'name': 'foss', 'version': '2023a'}
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
toolchainopts = {'openmp': True, 'usempi': True, 'optarch': 'march=core-avx2', 'pic': True}
else:
toolchainopts = {'openmp': True, 'usempi': True, 'pic': True}
# 'https://github.com/lammps/lammps/archive/'
source_urls = [GITHUB_LOWER_SOURCE]
sources = ['stable_%(version)s.tar.gz']
patches = [
'LAMMPS-2Aug2023_install_lammps_python_package_in_eb_software_module.patch',
'LAMMPS-2Aug2023_fix-timestep-balance-example.patch',
]
checksums = [
{'stable_2Aug2023_update2.tar.gz': '3bcecabc9cad08d0a4e4d989b52d29c58505f7ead8ebacf43c9db8d9fd3d564a'},
{'LAMMPS-2Aug2023_install_lammps_python_package_in_eb_software_module.patch':
'723c944b62b9d28427d25e80a7a67049631702d344df49268a6846aa0cd0fe04'},
{'LAMMPS-2Aug2023_fix-timestep-balance-example.patch':
'6f68387ced2b4bd0a06e4c3d31b0ffd47042476777d87d8a0ca6b19a4e6a1777'},
]
builddependencies = [
('CMake', '3.26.3'),
('pkgconf', '1.9.5'),
('archspec', '0.2.1'),
]
dependencies = [
('Python', '3.11.3'),
('libpng', '1.6.39'),
('libjpeg-turbo', '2.1.5.1'),
('netCDF', '4.9.2'),
('GSL', '2.7'),
('zlib', '1.2.13'),
('gzip', '1.12'),
('cURL', '8.0.1'),
('HDF5', '1.14.0'),
('PCRE', '8.45'),
('libxml2', '2.11.4'),
('FFmpeg', '6.0'),
('Voro++', '0.4.6'),
('kim-api', '2.3.0'),
('Eigen', '3.4.0'),
('PLUMED', '2.9.0'),
('SciPy-bundle', '2023.07'),
# VTK package is auto-disabled if this dep is not available
('VTK', '9.3.0'),
# We use a custom build of MDI
('MDI', '1.4.26'),
]
if ARCH == 'x86_64':
# TBB and ScaFaCos are an optional dependency when building on Intel arch
dependencies += [
('tbb', '2021.11.0'),
('ScaFaCoS', '1.0.4'),
]
# To use additional custom configuration options, use the 'configopts' easyconfig parameter
# See docs and lammps easyblock for more information.
# https://github.com/lammps/lammps/blob/master/cmake/README.md#lammps-configuration-options
# OpenMP-Kokkos build is default in the current easyblock. One can switch to serial backend of Kokkos,
# which is claimed to be faster in pure MPI calculations
# configopts = "-DKokkos_ENABLE_SERIAL=yes "
# packages auto-enabled by easyblock
# 'GPU' - if cuda package is present and kokkos is disabled
# 'KOKKOS' - if kokkos is enabled (by default)
# 'INTEL' - if builing on Intel CPU
# 'OPENMP' - if OpenMP swithed on in 'toolchainopts'
# include the following extra packages into the build
general_packages = [
'AMOEBA',
'ASPHERE',
'ATC',
'AWPMD',
'BOCS',
'BODY',
'BPM',
'BROWNIAN',
'CG-DNA',
'CG-SPICA',
'CLASS2',
'COLLOID',
'COLVARS',
'COMPRESS',
'CORESHELL',
'DIELECTRIC',
'DIFFRACTION',
'DIPOLE',
'DPD-BASIC',
'DPD-MESO',
'DPD-REACT',
'DPD-SMOOTH',
'DRUDE',
'EFF',
'ELECTRODE',
'EXTRA-COMPUTE',
'EXTRA-DUMP',
'EXTRA-FIX',
'EXTRA-MOLECULE',
'EXTRA-PAIR',
'FEP',
'GRANULAR',
'H5MD',
'INTERLAYER',
'KIM',
'KSPACE',
'LATBOLTZ',
'LEPTON',
'MACHDYN',
'MANIFOLD',
'MANYBODY',
'MC',
'MDI',
'MEAM',
'MGPT',
'MISC',
'ML-IAP',
'ML-PACE',
'ML-POD',
'ML-RANN',
'ML-SNAP',
'MOFFF',
'MOLECULE',
'MOLFILE',
'MPIIO',
'NETCDF',
'OPT',
'ORIENT',
'PERI',
'PHONON',
'PLUGIN',
'PLUMED',
'POEMS',
'PTM',
'PYTHON',
'QEQ',
'QTB',
'REACTION',
'REAXFF',
'REPLICA',
'RIGID',
'SCAFACOS',
'SHOCK',
'SMTBQ',
'SPH',
'SPIN',
'SRD',
'TALLY',
'UEF',
'VORONOI',
'VTK',
'YAFF',
]
# Excluded packages due to requiring additional (non-trivial) deps
# - ADIOS
# - LATTE
# - MESONT (requires very large files downloaded during build)
# - ML-HDNNP (requires N2P2)
# - ML-QUIP
# - MSCG
# - QMMM (setup seems complex)
moduleclass = 'chem'

View File

@ -17,6 +17,11 @@ source_urls = [
'http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/OLD',
]
checksums = [
'76faebe03f6c963127dbb73c13eab58c9a3faeae48779f049066a21c087c5db2',
'7e38a3ec8f2b8e3d189239bade5b28c0dd1c564485050109164fa71a6a767c67'
]
# We use 32bit for indices and 64bit for content
patches = ['METIS-5.1.0-use-doubles.patch']

View File

@ -8,7 +8,11 @@ description = """PETSc, pronounced PET-see (the S is silent), is a suite of data
scalable (parallel) solution of scientific applications modeled by partial differential equations."""
toolchain = {'name': 'intel', 'version': '2020a'}
toolchainopts = {'usempi': True, 'pic': True}
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
toolchainopts = {'pic': True, 'usempi': True, 'optarch': 'march=core-avx2'}
else:
toolchainopts = {'pic': True, 'usempi': True}
# https:// does not work here
source_urls = [

View File

@ -12,6 +12,7 @@ toolchainopts = {'pic': True}
source_urls = ['https://gforge.inria.fr/frs/download.php/file/38187/']
sources = ['%(namelower)s_%(version)s.tar.gz']
checksums = ['622b4143cf01c480bb15708b3651b29c25e4aeb00c8c6447ff196aca2eca5c93']
dependencies = [
('zlib', '1.2.11'),

View File

@ -15,6 +15,7 @@ toolchainopts = {'usempi': True, 'openmp': True}
source_urls = ['https://slepc.upv.es/download/distrib']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['23d179c22b4b2f22d29fa0ac0a62f5355a964d3bc245a667e9332347c5aa8f81']
dependencies = [('PETSc', '3.12.4')]

View File

@ -0,0 +1,51 @@
# IT4Innovations
# LK 2024
easyblock = 'MakeCp'
name = 'Yambo'
version = '5.2.3'
versionsuffix = '-SLEPc'
homepage = 'http://www.yambo-code.org'
description = """Yambo is a FORTRAN/C code for Many-Body calculations in solid state and molecular physics.
Yambo relies on the Kohn-Sham wavefunctions generated by two DFT public codes: abinit, and PWscf."""
toolchain = {'name': 'intel', 'version': '2020a'}
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
toolchainopts = {'usempi': True, 'optarch': 'march=core-avx2'}
else:
toolchainopts = {'usempi': True}
source_urls = ['https://github.com/yambo-code/yambo/archive/refs/tags/']
sources = ['%(version)s.tar.gz']
checksums = [
'a6168d1fa820af857ac51217bd6ad26dda4cc89c07e035bd7dc230038ae1ab9c', # 5.2.3
]
dependencies = [
('netCDF-Fortran', '4.5.2'),
('libxc', '5.1.5'),
('IOTK', '1.2.2'),
('SLEPc', '3.12.2')
]
prebuildopts = './configure --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu CPPFLAGS="" FCFLAGS="-nofor_main" --with-blas-libs="$LIBBLAS" --with-lapack-libs="$LIBLAPACK" --with-blacs-libs="$LIBBLACS" --with-scalapack-libs="$LIBSCALAPACK" --with-fft-libs="$LIBFFT" --with-netcdf-libs="-lnetcdff -lnetcdf" --with-hdf5-path=$EBROOTHDF5 --with-libxc-path=$EBROOTLIBXC --enable-iotk --with-iotk-path=$EBROOTIOTK --enable-dp --enable-memory-profile --disable-open-mp --enable-slepc --with-slepc=$EBROOTSLEPC && '
buildopts = 'all'
parallel = 1
files_to_copy = [
(['bin/*'], 'bin'),
(['lib/*.a'], 'lib'),
(['include/*'], 'include'),
]
sanity_check_paths = {
'files': ['bin/' + x for x in ['a2y', 'p2y', 'yambo', 'ypp']],
'dirs': []
}
moduleclass = 'phys'