Charm++/6.10.2-cpeGNU-21.08-MPI (Charm++-6.10.2-cpeGNU-21.08-MPI.eb)
This software is archived in the LUMI-EasyBuild-contrib GitHub repository as easybuild/easyconfigs/__archive__/c/Charm++/Charm++-6.10.2-cpeGNU-21.08-MPI.eb. The corresponding module would be Charm++/6.10.2-cpeGNU-21.08-MPI.
# contributed by Luca Marsella and Jean-Guillaume Piccinali (CSCS)
# Adapted by Kurt Lust (kurt.lust@uantwerpen.be) for the LUMI consortium
easyblock = 'CmdCp'
name = 'Charm++'
version = '6.10.2'
versionsuffix = '-MPI'
homepage = 'http://charm.cs.illinois.edu/research/charm/'
whatis = [
'Description: Charm++ is a machine independent parallel programming system.'
]
description = """
Charm++ is a machine independent parallel programming system. Programs
written using this system will run unchanged on MIMD machines with or
without a shared memory.
"""
toolchain = {'name': 'cpeGNU', 'version': '21.08'}
toolchainopts = {'dynamic': False}
source_urls = ['http://charm.cs.illinois.edu/distrib/']
sources = ['charm-%(version)s.tar.gz']
builddependencies = [
('buildtools', '%(toolchain_version)s', '', True),
('cray-pmi', EXTERNAL_MODULE),
('cray-pmi-lib', EXTERNAL_MODULE),
]
local_config_and_build = ' ./build ChaNGa mpi-linux-amd64 pthreads gcc'
local_config_and_build += ' --incdir=${CRAY_MPICH_DIR}/include'
local_config_and_build += ' --libdir=${CRAY_MPICH_DIR}/lib'
local_config_and_build += ' --enable-lbuserdata'
local_config_and_build += ' --with-production'
local_config_and_build += ' -j12'
cmds_map = [
('charm-%(version)s.tar.gz', local_config_and_build),
]
files_to_copy = ['mpi-linux-amd64-pthreads-gcc']
sanity_check_paths = {
'files': ['mpi-linux-amd64-pthreads-gcc/bin/charmc'],
'dirs': [
'mpi-linux-amd64-pthreads-gcc/bin',
'mpi-linux-amd64-pthreads-gcc/lib',
'mpi-linux-amd64-pthreads-gcc/include'
],
}
modextrapaths = {
'PATH': 'mpi-linux-amd64-pthreads-gcc/bin'
}
modextravars = {
'EBTYPECHARMPLUSPLUS': 'mpi-linux-amd64-pthreads-gcc'
}
moduleclass = 'lib'