new file: g/GROMACS/GROMACS-2022-constantph-fix_missing_header.patch

new file:   g/GROMACS/GROMACS-2022-foss-2022a-constantph.eb
	new file:   g/git/git-2.38.1.eb
	modified:   l/libmad/libmad-0.15.1b-GCCcore-11.3.0.eb
	new file:   l/libmad/libmad-0.15.1b-GCCcore-12.2.0.eb
	new file:   l/libmad/libmad-0.15.1b-remove-depreciated-gcc-option.patch
	new file:   n/NVHPC/NVHPC-23.1.eb
	new file:   n/NVSHMEM/NVSHMEM-2.8.0-gompi-2022a-CUDA-11.7.0.eb
	modified:   o/OpenMPI/OpenMPI-4.1.4-NVHPC-22.7-CUDA-11.7.0.eb
	new file:   s/STAR-CCM+/STAR-CCM+-18.02.008-r8.eb
	new file:   s/SoX/SoX-14.4.2-GCCcore-12.2.0.eb
	modified:   x/XALT/XALT-2.10.45-GPU-eb.eb
This commit is contained in:
Lukas Krupcik 2023-03-28 21:34:37 +02:00
parent b8a2eb09d0
commit ec3e858279
12 changed files with 384 additions and 14 deletions

View File

@ -0,0 +1,11 @@
diff -ruN constantph-main.orig/gromacs-constantph/src/gromacs/applied_forces/densityfitting/densityfitting.cpp constantph-main/gromacs-constantph/src/gromacs/applied_forces/densityfitting/densityfitting.cpp
--- constantph-main.orig/gromacs-constantph/src/gromacs/applied_forces/densityfitting/densityfitting.cpp 2023-03-21 14:25:14.929492000 +0100
+++ constantph-main/gromacs-constantph/src/gromacs/applied_forces/densityfitting/densityfitting.cpp 2023-03-21 14:25:56.962253000 +0100
@@ -53,6 +53,7 @@
#include "gromacs/math/coordinatetransformation.h"
#include "gromacs/math/multidimarray.h"
#include "gromacs/mdtypes/imdmodule.h"
+#include "gromacs/selection/indexutil.h"
#include "gromacs/utility/classhelpers.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/keyvaluetreebuilder.h"

View File

@ -0,0 +1,78 @@
# IT4Innovations 2023
# JK
# pokus o na prase instalaci devel verze, ktera by v budoucnu mela byt mergnuta do GROMACSu
name = 'GROMACS'
version = '2022'
versionsuffix = '-constantph'
local_commit = '9bb0cc2f'
homepage = 'https://www.gromacs.org'
description = """
GROMACS is a versatile package to perform molecular dynamics, i.e. simulate the
Newtonian equations of motion for systems with hundreds to millions of
particles.
This is a CPU only build, containing both MPI and threadMPI builds
for both single and double precision.
It also contains the gmxapi extension for the single precision MPI build.
"""
toolchain = {'name': 'foss', 'version': '2022a'}
toolchainopts = {'openmp': True, 'usempi': True}
source_urls = ['https://gitlab.com/gromacs-constantph/constantph/-/archive/main/']
sources = [{'download_filename': 'constantph-main.tar.gz', 'filename': 'gromacs-2022-contstantph.tar.gz',
'extract_cmd': "tar -xzvf %s --strip 1 constantph-main/gromacs-constantph"}]
patches = [
'GROMACS-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch',
'GROMACS-2019_increase_test_timeout_for_GPU.patch',
'GROMACS-2021_fix_gmxapi_gmx_allowed_cmd_name.patch',
'GROMACS-2022-constantph-fix_missing_header.patch',
# 'GROMACS-2021.5_fix_threads_gpu_Gmxapitests.patch',
]
checksums = [
{'gromacs-2022-contstantph.tar.gz': '58c5b4353de41996a62bbfc0288eb1487eb7ee189210388009776968f4ade9c8'},
{'GROMACS-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch':
'406f5edd204be812f095a6f07ebc2673c5f6ddf1b1c1428fd336a80b9c629275'},
{'GROMACS-2019_increase_test_timeout_for_GPU.patch':
'0d16f53d428155197a0ed0b0974ce03422f199d7c463c4a9156a3b99e3c86234'},
{'GROMACS-2021_fix_gmxapi_gmx_allowed_cmd_name.patch':
'b7ffb292ec362e033db1bedd340353f0644dbaae872127750f3dda1ac7e87d49'},
{'GROMACS-2022-constantph-fix_missing_header.patch':
'1c4a9601c58e6a0c5bc4959790dc1a519c8cbca35b5ca0ac5c12e8a31198b3df'},
]
builddependencies = [
('CMake', '3.23.1'),
('scikit-build', '0.15.0'),
]
dependencies = [
('Python', '3.10.4'),
('SciPy-bundle', '2022.05'),
('networkx', '2.8.4'),
]
exts_defaultclass = 'PythonPackage'
exts_default_options = {
'source_urls': [PYPI_SOURCE],
'use_pip': True,
'download_dep_fail': True,
'sanity_pip_check': True,
}
exts_list = [
('gmxapi', '0.4.0', {
'preinstallopts': "export GMXTOOLCHAINDIR=%(installdir)s/share/cmake/gromacs_mpi && ",
'checksums': ['7fd58e6a4b1391043379e8ba55555ebeba255c5b394f5df9d676e6a5571d7eba'],
}),
]
modextrapaths = {
'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages',
}
moduleclass = 'bio'

30
g/git/git-2.38.1.eb Normal file
View File

@ -0,0 +1,30 @@
# IT4Innovations 2021
# LK
easyblock = 'ConfigureMake'
name = 'git'
version = "2.38.1"
homepage = 'http://git-scm.com/'
description = """Git is a free and open source distributed version control system designed
to handle everything from small to very large projects with speed and efficiency."""
toolchain = SYSTEM
source_urls = ['https://www.kernel.org/pub/software/scm/git/']
sources = ['%(name)s-%(version)s.tar.gz']
checksums = ['620ed3df572a34e782a2be4c7d958d443469b2665eac4ae33f27da554d88b270']
builddependencies = [
('Autoconf', '2.69', '', True)
]
preconfigopts = 'make configure && '
sanity_check_paths = {
'files': ['bin/git'],
'dirs': [],
}
moduleclass = 'tools'

View File

@ -1,7 +1,5 @@
# Institution: IT4Innovations National Supercomputing Center, Czech Republic
# Author: Jakub Kropacek
# License: GPLv3
# Year: 2022
# IT4Innovations 2023
# JK
easyblock = 'ConfigureMake'

View File

@ -0,0 +1,30 @@
# IT4Innovations 2023
# JK
easyblock = 'ConfigureMake'
name = 'libmad'
version = '0.15.1b'
homepage = 'https://www.underbit.com/products/mad/'
description = """MAD is a high-quality MPEG audio decoder."""
toolchain = {'name': 'GCCcore', 'version': '12.2.0'}
source_urls = ['https://sourceforge.net/projects/mad/files/%(name)s/%(version)s/']
sources = [SOURCELOWER_TAR_GZ]
patches = ['libmad-0.15.1b-remove-depreciated-gcc-option.patch']
checksums = [
'bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690', # libmad-0.15.1b.tar.gz
# libmad-0.15.1b-remove-depreciated-gcc-option.patch
'8f96a23a22ba66e62f32e20064d01f4c7f6a18ba0aab85d3be9ce63794b2c678',
]
builddependencies = [('binutils', '2.39')]
sanity_check_paths = {
'files': ['include/mad.h', 'lib/libmad.a', 'lib/libmad.la', 'lib/libmad.%s' % SHLIB_EXT],
'dirs': ['include', 'lib', 'lib64']
}
moduleclass = 'lib'

View File

@ -0,0 +1,29 @@
# Institution: IT4Innovations National Supercomputing Center, Czech Republic
# Author: Jakub Kropacek
# License: GPLv3
# Year: 2022
#
# Option "-fforce-mem" has been removed in GCC 4.3.
# See https://gcc.gnu.org/gcc-4.3/changes.html
diff -Nru libmad-0.15.1b.orig/configure libmad-0.15.1b/configure
--- libmad-0.15.1b.orig/configure 2022-08-19 14:51:49.037627000 +0200
+++ libmad-0.15.1b/configure 2022-08-19 14:52:05.758321053 +0200
@@ -19099,7 +19099,6 @@
case "$optimize" in
-O|"-O "*)
optimize="-O"
- optimize="$optimize -fforce-mem"
optimize="$optimize -fforce-addr"
: #x optimize="$optimize -finline-functions"
: #- optimize="$optimize -fstrength-reduce"
diff -Nru libmad-0.15.1b.orig/configure.ac libmad-0.15.1b/configure.ac
--- libmad-0.15.1b.orig/configure.ac 2022-08-19 14:51:49.051732000 +0200
+++ libmad-0.15.1b/configure.ac 2022-08-19 14:52:10.953461180 +0200
@@ -140,7 +140,6 @@
case "$optimize" in
-O|"-O "*)
optimize="-O"
- optimize="$optimize -fforce-mem"
optimize="$optimize -fforce-addr"
: #x optimize="$optimize -finline-functions"
: #- optimize="$optimize -fstrength-reduce"

66
n/NVHPC/NVHPC-23.1.eb Normal file
View File

@ -0,0 +1,66 @@
# IT4Innovations
# LK 2022
name = 'NVHPC'
version = '23.1'
homepage = 'https://developer.nvidia.com/hpc-sdk/'
description = """C, C++ and Fortran compilers included with the NVIDIA HPC SDK (previously: PGI)"""
toolchain = SYSTEM
# By downloading, you accept the HPC SDK Software License Agreement (https://docs.nvidia.com/hpc-sdk/eula/index.html)
accept_eula = True
source_urls = ['https://developer.download.nvidia.com/hpc-sdk/%(version)s/']
local_tarball_tmpl = 'nvhpc_2023_%%(version_major)s%%(version_minor)s_Linux_%s_cuda_multi.tar.gz'
sources = [local_tarball_tmpl % '%(arch)s']
checksums = ['55a064415f6d4ce6a01823ee27ebd266f4fb579679871e7c1a7c054bdc18e9f5']
local_gccver = '10.2.0'
dependencies = [
('GCCcore', local_gccver),
('binutils', '2.35', '', ('GCCcore', local_gccver)),
# This is necessary to avoid cases where just libnuma.so.1 is present in the system and -lnuma fails
('numactl', '2.0.13', '', ('GCCcore', local_gccver))
]
# specify default CUDA version that should be used by NVHPC
# should match one of the CUDA versions that are included with this NVHPC version
# (see install_components/Linux_x86_64/20.7/cuda/)
# for NVHPC 20.7, those are: 11.0, 10.2, 10.1;
# this version can be tweaked from the EasyBuild command line with
# --try-amend=default_cuda_version="10.2" (for example)
default_cuda_version = '12.0'
# NVHPC EasyBlock supports some features, which can be set via CLI or this easyconfig.
# The following list gives examples for the easyconfig
#
# NVHPC needs CUDA to work. Two options are available: 1) Use NVHPC-bundled CUDA, 2) use system CUDA
# 1) Bundled CUDA
# If no easybuild dependency to CUDA is present, the bundled CUDA is taken. A version needs to be specified with
# default_cuda_version = "11.0"
# in this easyconfig file; alternatively, it can be specified through the command line during installation with
# --try-amend=default_cuda_version="10.2"
# 2) CUDA provided via EasyBuild
# Use CUDAcore as a dependency, for example
# dependencies = [('CUDAcore', '11.0.2')]
# The parameter default_cuda_version still can be set as above.
# If not set, it will be deduced from the CUDA module (via $EBVERSIONCUDA)
#
# Define a NVHPC-default Compute Capability
# cuda_compute_capabilities = "8.0"
cuda_compute_capabilities = '7.0' #V100 GPU
# Can also be specified on the EasyBuild command line via --cuda-compute-capabilities=8.0
# Only single values supported, not lists of values!
#
# Options to add/remove things to/from environment module (defaults shown)
# module_byo_compilers = Yes # Remove compilers from PATH (Bring-your-own compilers)
# module_nvhpc_own_mpi = False # Add NVHPC's own pre-compiled OpenMPI
# module_add_math_libs = Yes # Add NVHPC's math libraries (which should be there from CUDA anyway)
# module_add_profilers = Yes # Add NVHPC's NVIDIA Profilers
# module_add_nccl = Yes # Add NVHPC's NCCL library
# module_add_nvshmem = Yes # Add NVHPC's NVSHMEM library
# module_add_cuda = Yes # Add NVHPC's bundled CUDA
# this bundle serves as a compiler-only toolchain, so it should be marked as compiler (important for HMNS)
moduleclass = 'compiler'

View File

@ -0,0 +1,73 @@
# IT4Innovations
# LK 2023
easyblock = 'ConfigureMake'
name = 'NVSHMEM'
version = '2.9.0'
versionsuffix = '-CUDA-%(cudaver)s'
homepage = 'https://developer.nvidia.com/nvshmem'
description = """NVSHMEM is a parallel programming interface based on OpenSHMEM that provides
efficient and scalable communication for NVIDIA GPU clusters. NVSHMEM creates a
global address space for data that spans the memory of multiple GPUs and can be
accessed with fine-grained GPU-initiated operations, CPU-initiated operations,
and operations on CUDA streams.
"""
toolchain = {'name': 'gompi', 'version': '2022a'}
download_instructions = """The sources of NVSHMEM can be downloaded at NVIDIA's webpage when you have signed up for
their (free) developer program:
https://developer.nvidia.com/nvshmem-downloads"""
sources = ['%(namelower)s_src_%(version)s-2.tar.xz']
checksums = ['c0e0d1a5b13f3e2f12fd79b44645dde5370e2baf7392082aee7aa0a0063d75a6']
builddependencies = [
('Autotools', '20220317'),
('pkgconf', '1.8.0'),
]
dependencies = [
('CUDA', '11.7.0', '', SYSTEM),
('UCX-CUDA', '1.12.1', versionsuffix),
('NCCL', '2.12.12', versionsuffix),
]
skipsteps = ['configure']
prebuildopts = 'export %s &&' % ' '.join([
'NVSHMEM_USE_GDRCOPY=1',
'GDRCOPY_HOME=${EBROOTGDRCOPY}',
'MPI_HOME=${EBROOTOPENMPI}',
'NVSHMEM_MPI_SUPPORT=1',
'NVSHMEMTEST_USE_MPI_LAUNCHER=1',
'NCCL_HOME=${EBROOTNCCL}',
'NVSHMEM_USE_NCCL=1',
'NVSHMEM_BUILDDIR=%(builddir)s',
'NVSHMEM_EXAMPLES_BUILDDIR=${NVSHMEM_BUILDDIR}/examples/obj',
'NVSHMEM_OTHERTEST_BUILDDIR=${NVSHMEM_BUILDDIR}/othertest/obj',
'NVSHMEM_TEST_BUILDDIR=${NVSHMEM_BUILDDIR}/test/obj',
'NVSHMEM_PERFTEST_BUILDDIR=${NVSHMEM_BUILDDIR}/perftest/obj',
'NVSHMEM_PREFIX=%(installdir)s',
'NVSHMEM_EXAMPLES_INSTALL=${NVSHMEM_PREFIX}/examples',
'NVSHMEM_OTHERTEST_INSTALL=${NVSHMEM_PREFIX}/othertest',
'NVSHMEM_PERFTEST_INSTALL=${NVSHMEM_PREFIX}/perftest',
'NVSHMEM_TEST_INSTALL=${NVSHMEM_PREFIX}/test',
])
preinstallopts = prebuildopts
sanity_check_paths = {
'files': ['lib/libnvshmem.a', 'lib/nvshmem_bootstrap_mpi.%s' % SHLIB_EXT],
'dirs': ['include']
}
modextravars = {'NVSHMEM_HOME': '%(installdir)s'}
moduleclass = 'devel'

View File

@ -56,19 +56,20 @@ preconfigopts = ' && '.join([
])
# CUDA related patches and custom configure option can be removed if CUDA support isn't wanted.
configopts = '--with-cuda=internal '
configopts = ' --with-cuda=internal'
configopts += ' CC=pgcc CXX=pgc++ FC=pgfortran'
configopts += ' CXXFLAGS="-fPIC"'
# IT4I-specific settings
configopts += '--enable-shared '
configopts += '--enable-mpi-thread-multiple '
configopts += '--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 += '--enable-shared '
configopts += ' --enable-mpi-thread-multiple'
configopts += ' --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'
osdependencies = [('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel')]

View File

@ -0,0 +1,17 @@
# IT4Innovations 2023
# JK
name = 'STAR-CCM+'
version = '18.02.008'
versionsuffix = '-r8'
homepage = 'https://mdx.plm.automation.siemens.com/star-ccm-plus'
description = """STAR-CCM+ is a multiphysics computational fluid dynamics (CFD) software for the simulation of products
operating under real-world conditions."""
toolchain = SYSTEM
sources = ['%%(name)s%%(version)s_01_linux-x86_64%s.tar.gz' % versionsuffix]
checksums = ['20b061fbf981a9e4ce1e6ebbb7d390bbc6f400f89076adf3441a3da39f98a87c']
moduleclass = 'cae'

View File

@ -0,0 +1,37 @@
# IT4Innovations 2023
# JK
easyblock = 'ConfigureMake'
name = 'SoX'
version = '14.4.2'
homepage = 'http://sox.sourceforge.net/'
docurls = 'http://sox.sourceforge.net/Docs/Documentation'
description = """Sound eXchange, the Swiss Army knife of audio manipulation"""
toolchain = {'name': 'GCCcore', 'version': '12.2.0'}
source_urls = [SOURCEFORGE_SOURCE]
sources = [SOURCELOWER_TAR_GZ]
checksums = ['b45f598643ffbd8e363ff24d61166ccec4836fea6d3888881b8df53e3bb55f6c']
builddependencies = [('binutils', '2.39')]
dependencies = [
('FLAC', '1.4.2'),
('LAME', '3.100'),
('libmad', '0.15.1b'),
('libvorbis', '1.3.7'),
('FFmpeg', '5.1.2'),
]
sanity_check_paths = {
'files': ['bin/play', 'bin/rec', 'bin/sox', 'bin/soxi', 'include/sox.h',
'lib/libsox.la', 'lib/libsox.a', 'lib/pkgconfig/sox.pc', 'lib/libsox.%s' % SHLIB_EXT],
'dirs': ['bin', 'include', 'lib', 'lib/pkgconfig', 'share/man'],
}
sanity_check_commands = ['sox --help']
moduleclass = 'data'

View File

@ -3,7 +3,7 @@
name = 'XALT'
version = '2.10.45'
versionsuffix = "-GPU-eb"
#versionsuffix = "-GPU-eb"
homepage = 'https://github.com/xalt/xalt'
description = """XALT 2 is a tool to allow a site to track user executables