Skip to content

[SuperLU] [package list]

SuperLU/7.0.1-cpeGNU-25.03-OpenMP (SuperLU-7.0.1-cpeGNU-25.03-OpenMP.eb)

Install with the EasyBuild-user module:

eb SuperLU-7.0.1-cpeGNU-25.03-OpenMP.eb -r
To access module help after installation and get reminded for which stacks and partitions the module is installed, use module spider SuperLU/7.0.1-cpeGNU-25.03-OpenMP.

EasyConfig:

#DOC Generates static and shared libraries. The shared library uses the multi-threaded BLAS library.
easyblock = "CMakeMake"

local_ParMETIS_version =     '4.0.3'         # https:/http://glaros.dtc.umn.edu/gkhome/metis/parmetis/download

name =          'SuperLU'
version =       '7.0.1'
versionsuffix = '-OpenMP'

homepage = 'https://crd-legacy.lbl.gov/~xiaoye/SuperLU/'

whatis = [
    'Description: SuperLU is a general purpose library for the direct solution of large, sparse, nonsymmetric systems of linear equations on high performance machines.'
]

description = """
SuperLU is a general purpose library for the
direct solution of large, sparse, nonsymmetric systems
of linear equations on high performance machines.
The library is written in C and is callable from either C or Fortran program.
"""

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

github_account = 'xiaoyeli'
source_urls =    [GITHUB_LOWER_SOURCE]
sources =        ["v%(version)s.tar.gz"]
checksums =      ['86dcca1e086f8b8079990d07f00eb707fc9ef412cf3b2ce808b37956f0de2cb8']

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

dependencies = [
    ('ParMETIS', local_ParMETIS_version),
]

local_common_configopts = ' '.join([
    '-DTPL_ENABLE_METISLIB=ON',
    '-DTPL_METIS_INCLUDE_DIRS="${EBROOTPARMETIS}/include"',
    '-DTPL_METIS_LIBRARIES="${EBROOTPARMETIS}/lib/libparmetis.a;${EBROOTPARMETIS}/lib/libmetis.a"',
    '-DTPL_ENABLE_INTERNAL_BLASLIB=OFF',
])

configopts = [
    '-DBUILD_SHARED_LIBS=ON  ' + local_common_configopts,      
    '-DBUILD_SHARED_LIBS=OFF ' + local_common_configopts,      
]

runtest = " test"

postinstallcmds = [
    'mkdir -p %(installdir)s/share/licenses/%(name)s',
    'cd ../%(namelower)s-%(version)s && cp License.txt README %(installdir)s/share/licenses/%(name)s',   
]

sanity_check_paths = {
    'files': ['lib/libsuperlu.a', 'lib/libsuperlu.%s' % SHLIB_EXT],
    'dirs':  ['include']
}

moduleclass = 'numlib'

[SuperLU] [package list]