Charm++/8.0.0-cpeGNU-24.03-multicore (Charm++-8.0.0-cpeGNU-24.03-multicore.eb)
Install with the EasyBuild-user module:
To access module help after installation and get reminded for which stacks and partitions the module is installed, usemodule spider Charm++/8.0.0-cpeGNU-24.03-multicore
.
EasyConfig:
easyblock = 'CMakeMake'
local_zlib_version = '1.3.1'
local_Charmpp_version = '8.0.0'
local_charm_network = 'multicore'
name = 'Charm++'
version = '8.0.0'
versionsuffix = '-' + local_charm_network
homepage = 'http://charm.cs.illinois.edu/research/charm/'
whatis = [
'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': '24.03'}
toolchainopts = {'dynamic': False}
source_urls = ['http://charm.cs.illinois.edu/distrib/']
sources = ['charm-%(version)s.tar.gz']
checksums = ['e30fc1e921e5cbf3406e792d5b0ca5f211c5d8ffbfc56e56d5501d8118abcaf6']
builddependencies = [
('buildtools', '%(toolchain_version)s', '', True),
('craype-accel-host', EXTERNAL_MODULE),
('craype-network-none', EXTERNAL_MODULE),
]
dependencies = [
('zlib', local_zlib_version),
]
preconfigopts = 'module unload cray-libsci rocm && '
prebuildopts = preconfigopts
configopts = ' '.join([
'-DTARGET=Charm++',
'-DARCH=x86_64',
'-DNETWORK=' + local_charm_network,
'-DSMP=OFF',
'-DENABLE_FORTRAN=ON',
'-DBUILD_SHARED=ON'
])
local_cc_gcc_sh_file_content = """
PGCC=`CC -V 2>&1 | grep pgCC`
ICPC=`CC -V 2>&1 | grep Intel`
CLANG=`CC -V 2>&1 | grep 'clang'`
GNU=`CC -V 2>&1 | grep 'g++'`
CCE=`CC -V 2>&1 | grep 'Cray'`
CMK_CPP_CHARM="cpp -P"
CMK_CPP_C="cc"
CMK_CC="cc "
CMK_CXX="CC "
CMK_LD="$CMK_CC "
CMK_LDXX="$CMK_CXX "
CMK_CPP_C_FLAGS="-E"
CMK_LINK_BINARY='-dynamic'
"""
postinstallcmds = [
'sed -E -i \'s#(/.*)+(/conv-.*.sh)#%(installdir)s/include\\2#g\' %(installdir)s/include/conv-*.sh',
'ln -s %(installdir)s %(installdir)s/' + local_charm_network + '-linux-x86_64',
'cat >%(installdir)s/include/cc-gcc.sh <<EOF\n' + local_cc_gcc_sh_file_content.replace('$', '\$') + '\nEOF\n',
]
sanity_check_paths = {
'files': ['bin/charmc', 'bin/charmrun'],
'dirs': [],
}
modextravars = {
'EBTYPECHARMPLUSPLUS': local_charm_network + '-linux-x86_64'
}
moduleclass = 'lib'