Skip to content

[OpenBLAS] [package list]

OpenBLAS/0.3.24-cpeGNU-23.12 (OpenBLAS-0.3.24-cpeGNU-23.12.eb)

Install with the EasyBuild-user module:

eb OpenBLAS-0.3.24-cpeGNU-23.12.eb -r
To access module help after installation and get reminded for which stacks and partitions the module is installed, use module spider OpenBLAS/0.3.24-cpeGNU-23.12.

EasyConfig:

name = 'OpenBLAS'
version = '0.3.24'

homepage = 'http://www.openblas.net/'

description = """
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.

Note that OpenBLAS will conflict with the Cray LibSci library, so when using
this module you have to unload the cray-libsci module as otherwise the
Cray compiler wrappers will add LibSci to the libraries used by the
compiler.

Cray LibSci already contains BLAS, LAPACK and ScaLAPACK functionality and
should be your first choice. But this module may be useful if you run into
problems with the Cray LibSci library. Note however that software in the
LUMI stack is by default build with the Cray LibSci library, so your code
that relies on BLIS may not link correctly to any of the other modules
in the LUMI software stacks.
"""

toolchain = {'name': 'cpeGNU', 'version': '23.12'}

source_urls = [
    # order matters, trying to download the large.tgz/timing.tgz LAPACK tarballs from GitHub causes trouble
    'https://www.netlib.org/lapack/timing/',
    'https://github.com/xianyi/OpenBLAS/archive/',
]

sources = ['v%(version)s.tar.gz']

patches = [
    ('large.tgz', '.'),
    ('timing.tgz', '.'),
    'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch',
    'OpenBLAS-0.3.21_fix-order-vectorization.patch',
    'OpenBLAS-0.3.23_disable-xDRGES-LAPACK-test.patch',
    'OpenBLAS-0.3.24_fix-czasum.patch',
]

checksums = [
    {'v0.3.24.tar.gz'                                      : 'ceadc5065da97bd92404cac7254da66cc6eb192679cf1002098688978d4d5132'},
    {'large.tgz'                                           : 'f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1'},
    {'timing.tgz'                                          : '999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af'},
    {'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch' : 'e6b326fb8c4a8a6fd07741d9983c37a72c55c9ff9a4f74a80e1352ce5f975971'},
    {'OpenBLAS-0.3.21_fix-order-vectorization.patch'       : '08af834e5d60441fd35c128758ed9c092ba6887c829e0471ecd489079539047d'},
    {'OpenBLAS-0.3.23_disable-xDRGES-LAPACK-test.patch'    : 'ab7e0af05f9b2a2ced32f3875e1e3767d9c3531a455421a38f7324350178a0ff'},
    {'OpenBLAS-0.3.24_fix-czasum.patch'                    : '8132b87c519fb08caa3bd7291fe8a1d0e1afe6fcb667d16f3020b46122afe20c'},
]

builddependencies = [
    ('buildtools',          '%(toolchain_version)s', '', True),
    ('cray-python',         EXTERNAL_MODULE),
    ('craype-network-none', EXTERNAL_MODULE),
    ('craype-accel-host',   EXTERNAL_MODULE),
]

preconfigopts = prebuildopts = 'module rm cray-libsci rocm && '

run_lapack_tests = True
max_failing_lapack_tests_num_errors = 150

# extensive testing can be enabled by uncommenting the line below
# runtest = 'PATH=.:$PATH lapack-timing'

modluafooter = """
family("libsci")
"""

moduleclass = 'numlib'

[OpenBLAS] [package list]