Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions easybuild/easyconfigs/a/AOCL-BLAS/AOCL-BLAS-5.2-GCC-15.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
easyblock = 'EB_BLIS'

name = 'AOCL-BLAS'
version = '5.2'

homepage = 'https://github.com/amd/blis'
description = """AOCL-BLAS is AMD's optimized version of
BLAS targeted for AMD EPYC and Ryzen CPUs."""

toolchain = {'name': 'GCC', 'version': '15.2.0'}
toolchainopts = {'openmp': True}

source_urls = ['https://github.com/amd/blis/archive/']
sources = ['%(version)s.tar.gz']
checksums = ['c553bd543eedc87920df9b82634ae4c02662145ed737f51fdf4c9bca5e588028']

builddependencies = [
('Python', '3.14.2'),
('Perl', '5.42.0'),
]

runtest = 'check'

moduleclass = 'numlib'
22 changes: 22 additions & 0 deletions easybuild/easyconfigs/b/BLIS/BLIS-2.0-GCC-15.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name = 'BLIS'
version = '2.0'

homepage = 'https://github.com/flame/blis/'
description = """BLIS is a portable software framework for instantiating high-performance
BLAS-like dense linear algebra libraries."""

toolchain = {'name': 'GCC', 'version': '15.2.0'}
toolchainopts = {'openmp': True}

source_urls = ['https://github.com/flame/blis/archive/']
sources = ['%(version)s.tar.gz']
checksums = ['08bbebd77914a6d1a43874ae5ec2f54fe6a77cba745f2532df28361b0f1ad1b3']

builddependencies = [
('Python', '3.14.2'),
('Perl', '5.42.0'),
]

runtest = 'check'

moduleclass = 'numlib'
67 changes: 67 additions & 0 deletions easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.5.0-GCC-15.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
easyblock = 'Bundle'

name = 'FlexiBLAS'
version = '3.5.0'

homepage = 'https://gitlab.mpi-magdeburg.mpg.de/software/flexiblas-release'
description = """FlexiBLAS is a wrapper library that enables the exchange of the BLAS and LAPACK implementation
used by a program without recompiling or relinking it."""

toolchain = {'name': 'GCC', 'version': '15.2.0'}
local_extra_flags = "-fstack-protector-strong -fstack-clash-protection"
toolchainopts = {'pic': True, 'extra_cflags': local_extra_flags, 'extra_fflags': local_extra_flags}

builddependencies = [
('CMake', '4.2.1'),
('Python', '3.14.2'), # required for running the tests
('BLIS', '2.0'),
]
if ARCH == 'x86_64':
builddependencies.append(('AOCL-BLAS', '5.2'))
if ARCH == 'aarch64':
builddependencies.append(('NVPL', '25.11', '', SYSTEM))

dependencies = [
('OpenBLAS', '0.3.31'),
]

# note: first listed backend will be used as default by FlexiBLAS,
# unless otherwise specified via easyconfig parameter flexiblas_default
local_backends = ['OpenBLAS', 'BLIS']

# imkl supplies its backend via the imkl module, not as a dependency
if ARCH == 'x86_64':
local_backends.extend(['AOCL-BLAS', 'imkl'])
if ARCH == 'aarch64':
local_backends.extend(['NVPL'])

default_component_specs = {'start_dir': '%(namelower)s-%(version)s'}
sanity_check_all_components = True

# Also build and install LAPACKE. FlexiBLAS v3.5.0 mentions support for LAPACKE
# and provides a fallback shared library, but does not include pkgconf files for it.
# LAPACK version matches the one built by FlexiBLAS v3.5.0.
components = [
(name, version, {
'source_urls':
['https://gitlab.mpi-magdeburg.mpg.de/api/v4/projects/386/packages/generic/flexiblas-source/v%(version)s/'],
'sources': [SOURCELOWER_TAR_GZ],
'checksums': ['4f135fd3d4d844f221624b13734acd0d221a4347a19fa78604a6cbcaa3f477ea'],
'backends': local_backends,
}),
('LAPACK', '3.12.1', {
'easyblock': 'CMakeMake',
'source_urls': ['https://github.com/Reference-LAPACK/lapack/archive/'],
'sources': ['v%(version)s.tar.gz'],
'checksums': ['2ca6407a001a474d4d4d35f3a61550156050c48016d949f0da0529c0aa052422'],
'configopts': ('-DBUILD_SHARED_LIBS=ON -DUSE_OPTIMIZED_BLAS=ON -DLAPACKE=ON '
'-DUSE_OPTIMIZED_LAPACK=ON -DBUILD_DEPRECATED=ON -DBUILD_INDEX64_EXT_API=OFF '
'-DCMAKE_INSTALL_INCLUDEDIR=%(installdir)s/include/flexiblas'),
'sanity_check_paths': {
'files': ['lib/liblapacke.%s' % SHLIB_EXT, 'include/flexiblas/lapacke.h'],
'dirs': [],
},
}),
]

moduleclass = 'lib'
29 changes: 29 additions & 0 deletions easybuild/easyconfigs/m/make/make-4.4.1-GCCcore-15.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
easyblock = 'ConfigureMake'

name = 'make'
version = '4.4.1'

homepage = 'https://www.gnu.org/software/make/make.html'
description = "GNU version of make utility"

toolchain = {'name': 'GCCcore', 'version': '15.2.0'}

source_urls = [GNU_SOURCE]
sources = [SOURCE_TAR_GZ]
checksums = ['dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3']

builddependencies = [('binutils', '2.45')]

postinstallcmds = ["cd %(installdir)s/bin && ln -s make gmake"]

sanity_check_paths = {
'files': ['bin/gmake', 'bin/make'],
'dirs': []
}

sanity_check_commands = [
"gmake --help",
"make --help",
]

moduleclass = 'devel'
43 changes: 43 additions & 0 deletions easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.31-GCC-15.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name = 'OpenBLAS'
version = '0.3.31'

homepage = 'https://www.openblas.net/'
description = "OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version."

toolchain = {'name': 'GCC', 'version': '15.2.0'}

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',
]
checksums = [
{'v0.3.31.tar.gz': '6dd2a63ac9d32643b7cc636eab57bf4e57d0ed1fff926dfbc5d3d97f2d2be3a6'},
{'large.tgz': 'f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1'},
{'timing.tgz': '999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af'},
{'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch':
'e6b326fb8c4a8a6fd07741d9983c37a72c55c9ff9a4f74a80e1352ce5f975971'},
{'OpenBLAS-0.3.21_fix-order-vectorization.patch':
'08af834e5d60441fd35c128758ed9c092ba6887c829e0471ecd489079539047d'},
]

builddependencies = [
('make', '4.4.1'),
# required by LAPACK test suite
('Python', '3.14.2'),
]

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'

moduleclass = 'numlib'