Skip to content

[Charm++] [package list]

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'

[Charm++] [package list]