Skip to content

[STRUMPACK] [package list]

STRUMPACK/6.3.1-cpeGNU-22.08-GPU (STRUMPACK-6.3.1-cpeGNU-22.08-GPU.eb)

This software is archived in the LUMI-EasyBuild-contrib GitHub repository as easybuild/easyconfigs/__archive__/s/STRUMPACK/STRUMPACK-6.3.1-cpeGNU-22.08-GPU.eb. The corresponding module would be STRUMPACK/6.3.1-cpeGNU-22.08-GPU.

easyblock = 'CMakeMake'

name = 'STRUMPACK'
version = '6.3.1'
versionsuffix = '-GPU'

homepage = 'https://fastmath-scidac.llnl.gov/software/strumpack.html'
description = """STRUMPACK - STRUctured Matrix PACKage - Fast linear solvers and preconditioner
 for both dense and sparse systems using low-rank structured factorization with randomized sampling."""

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

source_urls = ['https://github.com/pghysels/%(name)s/archive/']
sources = ['v%(version)s.tar.gz']


builddependencies = [
    ('buildtools', '%(toolchain_version)s', '', True),
]

dependencies = [
    ('rocm', EXTERNAL_MODULE),
    ('zlib', '1.2.12'),
    ('ParMETIS', '4.0.3'),
    ('SCOTCH', '6.1.3'),
]

configopts = '-DSTRUMPACK_USE_OPENMP=ON '
configopts += '-DTPL_METIS_INCLUDE_DIRS=${EBROOTPARMETIS}/include '
configopts += '-DTPL_METIS_LIBRARY_DIR=${EBROOTPARMETIS}/lib '
configopts += '-DTPL_ENABLE_PARMETIS=ON '
configopts += '-DTPL_PARMETIS_INCLUDE_DIRS=${EBROOTPARMETIS}/include '
configopts += '-DTPL_PARMETIS_LIBRARY_DIR=${EBROOTPARMETIS}/lib '
configopts += '-DTPL_ENABLE_SCOTCH=ON '
configopts += '-DTPL_SCOTCH_INCLUDE_DIRS=${EBROOTSCOTCH}/include '
configopts += '-DTPL_SCOTCH_LIBRARY_DIR=${EBROOTSCOTCH}/lib '
configopts += '-DTPL_ENABLE_BPACK=OFF '
configopts += '-DTPL_ENABLE_ZFP=OFF '
configopts += '-DTPL_ENABLE_SLATE=OFF '
configopts += '-DSTRUMPACK_USE_HIP=ON -DHIP_HIPCC_FLAGS=--amdgpu-target=gfx90a '

sanity_check_paths = {
    'files': ['lib/libstrumpack.a'],
    'dirs': ['include/%s' % x for x in ['BLR', 'clustering', 'dense', 'HSS', 'kernel', 'misc', 'python', 'sparse']] +
            ['lib'],
}

moduleclass = 'numlib'

[STRUMPACK] [package list]