Skip to content

[Conduit] [package list]

Conduit/0.9.2-cpeGNU-24.03 (Conduit-0.9.2-cpeGNU-24.03.eb)

Install with the EasyBuild-user module:

eb Conduit-0.9.2-cpeGNU-24.03.eb -r
To access module help after installation and get reminded for which stacks and partitions the module is installed, use module spider Conduit/0.9.2-cpeGNU-24.03.

EasyConfig:

easyblock = 'CMakeMake'

local_zlib_version =         '1.3.1'         # https://zlib.net/
local_Silo_version =         '4.11.1'        # https://github.com/LLNL/Silo/releases
local_Conduit_version =      '0.9.2'         # https://github.com/LLNL/conduit/releases

name = 'Conduit'
version = local_Conduit_version

homepage = 'https://software.llnl.gov/conduit/'

whatis = [
    'Description: Conduit provides an intuitive model for describing '
    'hierarchical scientific data'
]

description = """
Conduit is an open source project from Lawrence Livermore National Laboratory
that provides an intuitive model for describing hierarchical scientific data
in C++, C, Fortran, and Python. It is used for data coupling between packages
in-core, serialization, and I/O tasks.

Conduit’s Core API provides:

  - A flexible way to describe hierarchal data: A JSON-inspired data model for
    describing hierarchical in-core scientific data.

  - A sane API to access hierarchal data: A dynamic API for rapid construction
    and consumption of hierarchical objects.

Conduit is under active development and targets Linux, OSX, and Windows
platforms. The C++ API underpins the other language APIs and currently has the
most features. We are still filling out the C, Fortran, and Python APIs.
"""

docurls = ['https://llnl-conduit.readthedocs.io']
software_license_urls = ['https://llnl-conduit.readthedocs.io/en/latest/licenses.html']

toolchain = {'name': 'cpeGNU', 'version': '24.03'}
toolchainopts = {'pic': True, 'usempi': True}

source_urls = [GITHUB_SOURCE]
sources = [{
    'filename': 'v%(version)s.tar.gz',
    'git_config': {
        'url'       : 'https://github.com/LLNL',
        'repo_name' : 'conduit',
        'commit'    : 'v%(version)s',
        'recursive' : True,
    }
}]

patches = ['Conduit-0.9.2_no-mpicxx.patch']

checksums = [
    None,
    '99e6237acb33c4bf959d5dc0e7cdabb56015b8fd172301587aec1ff5bf8d2858', # Conduit-0.9.2_no-mpicxx.patch
]

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

builddependencies = [
    ('buildtools',        '%(toolchain_version)s', '',                           True),
    ('buildtools-python', '%(toolchain_version)s', '-cray-python%(pyshortver)s', True),
    ('craype-accel-host', EXTERNAL_MODULE),
]

dependencies = [
    ('cray-python',        EXTERNAL_MODULE),
    ('cray-hdf5-parallel', EXTERNAL_MODULE),
    ('Silo',               local_Silo_version),
    ('zlib',               local_zlib_version),
]

start_dir = 'src'

configopts = ' '.join([
    '-D BUILD_SHARED_LIBS=ON',
    '-D ENABLE_OPENMP=ON',
    '-D ENABLE_MPI=ON',
    '-D ENABLE_FORTRAN=ON',
    '-D ENABLE_PYTHON=ON',
    '-D ENABLE_MPI=ON',
    '-D ZLIB_DIR=$EBROOTZLIB',
    '-D SILO_DIR=$EBROOTSILO',
    '-D HDF5_DIR=$CRAY_HDF5_PARALLEL_PREFIX',
])

postinstallcmds = [
    'mkdir -p %(installdir)s/share/licenses/%(name)s',
    'cd ../%(namelower)s && cp CHANGELOG.md COPYRIGHT COPYRIGHT_FILE_HEADER LICENSE README.md thirdparty_licenses.md %(installdir)s/share/licenses/%(name)s',   
]

modextrapaths = {
    'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages',
}

sanity_check_paths = {
    'files': ['include/conduit/conduit.h'],
    'dirs':  ['bin', 'include', 'lib', 'share/licenses/%(name)s'],
}

moduleclass = 'vis'

[Conduit] [package list]