Skip to content

[SPLA] [package list]

SPLA/1.5.5-cpeGNU-23.09-rocm (SPLA-1.5.5-cpeGNU-23.09-rocm.eb)

Install with the EasyBuild-user module:

eb SPLA-1.5.5-cpeGNU-23.09-rocm.eb -r
To access module help after installation and get reminded for which stacks and partitions the module is installed, use module 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'

[SPLA] [package list]