DeviceXlib/0.9.0-cpeGNU-25.03-OpenMP-CPU (DeviceXlib-0.9.0-cpeGNU-25.03-OpenMP-CPU.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 DeviceXlib/0.9.0-cpeGNU-25.03-OpenMP-CPU.
EasyConfig:
#DOC CPU-only version with OpenMP support enabled.
##
# Author: Nicola Spallanzani <nicola.spallanzani@cnr.it>
# Author: Sergio Orlandini <s.orlandini@cineca.it>
# Author: Maria Montagna <m.montagna@cineca.it>
# Adapted for LUMI by Kurt Lust
##
easyblock = 'ConfigureMake'
name = 'DeviceXlib'
version = '0.9.0'
versionsuffix = '-OpenMP-CPU'
homepage = 'https://gitlab.com/max-centre/components/devicexlib'
whatis = ['Description: fortran library wrapping device-oriented routines and utilities"']
description = """
DeviceXlib is a library that wraps device-oriented routines and utilities, such as device
data allocation, host-device data transfers. deviceXlib supports CUDA language, together
with OpenACC and OpenMP programming paradigms. deviceXlib wraps a subset of functions from
Nvidia cuBLAS, Intel oneMKL BLAS and AMD rocBLAS libraries.
"""
toolchain = {'name': 'cpeGNU', 'version': '25.03'}
toolchainopts = {
'openmp': True,
'debug': True,
'opt': True,
'gfortran9-compat': True, # Adds -fallow-argument-mismatch
'extra_f90flags': '-cpp'
}
source_urls = ['https://gitlab.com/max-centre/components/devicexlib/-/archive/%(version)s/']
sources = ['devicexlib-%(version)s.tar.gz']
checksums = ['77c57a31381a69a2eb2a77138b131a553c96aff03ca934c88b8a6d8434b39460']
builddependencies = [
('buildtools', '%(toolchain_version)s', '', True),
]
preconfigopts = ' && '.join([
'export CPP="cpp -P"',
'export FPP="cpp -P -traditional"',
'export LDFLAGS="-g -pthread -fopenmp"',
]) + ' && '
configopts = ' '.join([
'--enable-openmp',
'--enable-parallel=no',
'--disable-cuda-env-check',
'--with-blas-libs="-L$CRAY_LIBSCI_PREFIX/lib -lsci_gnu_mp"',
])
buildopts = 'all'
postinstallcmds = [
'mkdir -p %(installdir)s/share/licenses/%(name)s',
'cp LICENSE.txt README.md %(installdir)s/share/licenses/%(name)s',
]
local_test_bins = ['buffer', 'linalg', 'malloc', 'mapping', 'memcpy_async', 'memcpy', 'memset', 'pinned']
sanity_check_paths = {
'files': [f'bin/test_{b}.x' for b in local_test_bins] + ['lib/libdevXlib.a'],
'dirs': [],
}
sanity_check_commands = [f'test_{b}.x' for b in local_test_bins]
moduleclass = 'lib'