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'