rccl/2.12.7-cpeGNU-22.08 (rccl-2.12.7-cpeGNU-22.08.eb)
This software is archived in the LUMI-EasyBuild-contrib GitHub repository as easybuild/easyconfigs/__archive__/r/rccl/rccl-2.12.7-cpeGNU-22.08.eb. The corresponding module would be rccl/2.12.7-cpeGNU-22.08.
easyblock = 'CMakeMake'
name = 'rccl'
version = '2.12.7'
homepage = 'https://github.com/ROCmSoftwarePlatform/rccl'
whatis = [
'Description: rccl (or RCCL) is the ROCm Communication Collectives Library'
]
description = """
RCCL is a stand-alone library of standard collective communication routines for GPUs,
implementing all-reduce, all-gather, reduce, broadcast, reduce-scatter, gather, scatter,
and all-to-all. There is also initial support for direct GPU-to-GPU send and receive
operations. It has been optimized to achieve high bandwidth on platforms using PCIe,
xGMI as well as networking using InfiniBand Verbs or TCP/IP sockets. Plugins can be used
for other network architectures so LUMI users should have a look at the aws-ofi-rccl
plugin to extract the full performance out of the SlingShot 11 interconnect of LUMI.
"""
toolchain = {'name': 'cpeGNU', 'version': '22.08'}
sources = [{
'filename': '%(name)s-%(version)s.tar.gz',
'git_config': {
'url': 'https://github.com/ROCmSoftwarePlatform',
'repo_name': '%(name)s',
'commit': '%(version)s',
}
}]
builddependencies = [
('buildtools', '%(toolchain_version)s', '', True)
]
dependencies = [
('rocm', EXTERNAL_MODULE)
]
configopts = ' -DCMAKE_CXX_COMPILER=hipcc '
sanity_check_paths = {
'files': ['lib/librccl.so.1.0', 'include/rccl/rccl.h'],
'dirs': [''],
}
moduleclass = 'devel'