SPLA/1.5.5-cpeGNU-23.09-rocm (SPLA-1.5.5-cpeGNU-23.09-rocm.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 SPLA/1.5.5-cpeGNU-23.09-rocm
.
EasyConfig:
# contributed by Luca Marsella (CSCS)
# adapted for LUMI-G by Peter Larsson
# Bump to the latest version and CPE version by Radim Janalik (CSCS)
easyblock = 'CMakeMake'
name = 'SPLA'
version = '1.5.5'
versionsuffix = '-rocm'
homepage = 'https://github.com/eth-cscs/spla'
whatis = [
"Specialized Parallel Linear Algebra, providing distributed GEMM "
"functionality for specific matrix distributions"
]
description = """
SPLA provides specialized functions for linear algebra computations with a C++
and C interface, which are inspired by requirements in computational material
science codes.
SPLA provides functions for distributed matrix multiplications with specific
matrix distributions, which cannot be used directly with a ScaLAPACK interface.
"""
docurls = [
'Documentation: https://spla.readthedocs.io/en/latest/',
]
toolchain = {'name': 'cpeGNU', 'version': '23.09'}
toolchainopts = {'openmp': False, 'opt': True, 'pic': True, 'usempi': True}
source_urls = ['https://github.com/eth-cscs/%(namelower)s/archive']
sources = ['v%(version)s.tar.gz']
patches = ['SPLA-1.5.5_rocm6-memorytype.patch']
checksums = [
'bc0c366e228344b1b2df55b9ce750d73c1165380e512da5a04d471db126d66ce', # c1.5.5.tar.gz
'bf002aa406ff5941bd000057cbaf9eccd242ea51174d7397a3651239758a478a', # SPLA-1.5.5_rocm6-memorytype.patch
]
builddependencies = [
('buildtools', '%(toolchain_version)s', '', True),
]
dependencies = [
('rocm', EXTERNAL_MODULE),
]
configopts = "-DCMAKE_BUILD_TYPE=RELEASE -DSPLA_OMP=OFF -DSPLA_FORTRAN=ON -DSPLA_GPU_BACKEND=ROCM"
prebuildopts = 'export CPATH="$ROCM_PATH/include/rocblas:$CPATH" && '
sanity_check_paths = {
'files': [
'lib/libspla.so',
'include/%(namelower)s/config.h',
'include/%(namelower)s/%(namelower)s.hpp'
],
'dirs': [],
}
moduleclass = 'lib'