Skip to content
Snippets Groups Projects
Commit 8f4d0c8c authored by Sebastian Achilles's avatar Sebastian Achilles
Browse files

Merge branch 'sa-NVSHMEM-280' into '2023'

{devel}[gpsmpi/2022a,gompi/2022a,npsmpic/2022a,nvompic/2022a] NVSHMEM v2.8.0

See merge request software-team/easybuild!1678
parents e5dab7bd 20fe9c7b
No related branches found
No related tags found
No related merge requests found
easyblock = 'ConfigureMake'
name = 'NVSHMEM'
version = '2.8.0'
versionsuffix = '-CUDA-%(cudaver)s'
local_cuda_version = '11.7'
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-3.txz']
checksums = ['7d4ef226630a94b587d18e02c27decc8b41d6f4ee52a26e25644b23cd18da81f']
builddependencies = [
('Autotools', '20220317'),
('pkgconf', '1.8.0'),
]
dependencies = [
('CUDA', local_cuda_version, '', SYSTEM),
('NCCL', 'default', f'-CUDA-{local_cuda_version}'),
]
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'
easyblock = 'ConfigureMake'
name = 'NVSHMEM'
version = '2.8.0'
versionsuffix = '-CUDA-%(cudaver)s'
local_cuda_version = '11.7'
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': 'gpsmpi', '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-3.txz']
checksums = ['7d4ef226630a94b587d18e02c27decc8b41d6f4ee52a26e25644b23cd18da81f']
builddependencies = [
('Autotools', '20220317'),
('pkgconf', '1.8.0'),
]
dependencies = [
('CUDA', local_cuda_version, '', SYSTEM),
('NCCL', 'default', f'-CUDA-{local_cuda_version}'),
]
skipsteps = ['configure']
prebuildopts = 'export %s &&' % ' '.join([
'NVSHMEM_USE_GDRCOPY=1',
'GDRCOPY_HOME=${EBROOTGDRCOPY}',
'MPI_HOME=${EBROOTPSMPI}',
'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'
easyblock = 'ConfigureMake'
name = 'NVSHMEM'
version = '2.8.0'
versionsuffix = '-CUDA-%(cudaver)s'
local_cuda_version = '11.7'
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': 'npsmpic', '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-3.txz']
checksums = ['7d4ef226630a94b587d18e02c27decc8b41d6f4ee52a26e25644b23cd18da81f']
builddependencies = [
('Autotools', '20220317'),
('pkgconf', '1.8.0'),
]
dependencies = [
('CUDA', local_cuda_version, '', SYSTEM),
('NCCL', 'default', f'-CUDA-{local_cuda_version}'),
]
skipsteps = ['configure']
prebuildopts = 'export %s &&' % ' '.join([
'NVSHMEM_USE_GDRCOPY=1',
'GDRCOPY_HOME=${EBROOTGDRCOPY}',
'MPI_HOME=${EBROOTPSMPI}',
'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'
easyblock = 'ConfigureMake'
name = 'NVSHMEM'
version = '2.8.0'
versionsuffix = '-CUDA-%(cudaver)s'
local_cuda_version = '11.7'
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': 'nvompic', '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-3.txz']
checksums = ['7d4ef226630a94b587d18e02c27decc8b41d6f4ee52a26e25644b23cd18da81f']
builddependencies = [
('Autotools', '20220317'),
('pkgconf', '1.8.0'),
]
dependencies = [
('CUDA', local_cuda_version, '', SYSTEM),
('NCCL', 'default', f'-CUDA-{local_cuda_version}'),
]
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'
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment