Skip to content

[Charm++] [package list]

Charm++/8.0.0-cpeGNU-24.03-ofi-crayshasta (Charm++-8.0.0-cpeGNU-24.03-ofi-crayshasta.eb)

Install with the EasyBuild-user module:

eb Charm++-8.0.0-cpeGNU-24.03-ofi-crayshasta.eb -r
To access module help after installation and get reminded for which stacks and partitions the module is installed, use module spider Charm++/8.0.0-cpeGNU-24.03-ofi-crayshasta.

EasyConfig:

easyblock = 'CMakeMake'

local_zlib_version    = '1.3.1'

local_Charmpp_version = '8.0.0'

local_charm_network = 'ofi-crayshasta'

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),
]

dependencies = [
    ('libfabric', EXTERNAL_MODULE),
    ('cray-pmi',  EXTERNAL_MODULE),
    ('zlib',      local_zlib_version),
]

preconfigopts = 'module unload cray-libsci rocm && '
prebuildopts = preconfigopts

configopts = ' '.join([
    '-DTARGET=Charm++',
    '-DARCH=x86_64',
    '-DLRTS_PMI=slurmpmi2cray',
    '-DNETWORK=' + local_charm_network,
    '-DCXI=ON',
    '-DSMP=ON',
    '-DENABLE_FORTRAN=ON',
    '-DBUILD_SHARED=ON'
])

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',
]

sanity_check_paths = {
    'files': ['bin/charmc', 'bin/charmrun'],
    'dirs':  [],
}

modextravars = {
    'EBTYPECHARMPLUSPLUS': local_charm_network + '-linux-x86_64'
}

moduleclass = 'lib'

[Charm++] [package list]