mirror of
https://code.it4i.cz/sccs/easyconfigs-it4i.git
synced 2025-04-08 07:52:11 +01:00

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
74 lines
2.2 KiB
Plaintext
74 lines
2.2 KiB
Plaintext
# 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'
|