diff --git a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.4.4-GCC-13.3.0.eb b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.4.4-GCC-13.3.0.eb new file mode 100644 index 00000000000..9b9f5e8edb2 --- /dev/null +++ b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.4.4-GCC-13.3.0.eb @@ -0,0 +1,59 @@ +easyblock = 'Bundle' + +name = 'FlexiBLAS' +version = '3.4.4' + +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': '13.3.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', '3.29.3'), + ('Python', '3.12.3'), # required for running the tests + ('BLIS', '1.0'), +] + +dependencies = [ + ('OpenBLAS', '0.3.27'), +] + +# 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.append('imkl') + +default_component_specs = {'start_dir': '%(namelower)s-%(version)s'} +sanity_check_all_components = True + +# Also build and install LAPACKE, which FlexiBLAS does not support yet +components = [ + (name, version, { + 'source_urls': + ['https://gitlab.mpi-magdeburg.mpg.de/api/v4/projects/386/packages/generic/flexiblas-source/v3.4.4/'], + 'sources': [SOURCELOWER_TAR_GZ], + 'checksums': ['05040ae092142dd0bf38d1bb9ce33f6b475d9f9bb455e33be997932ae855c22b'], + 'backends': local_backends, + }), + ('LAPACK', '3.12.0', { + 'easyblock': 'CMakeMake', + 'source_urls': ['https://github.com/Reference-LAPACK/lapack/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['eac9570f8e0ad6f30ce4b963f4f033f0f643e7c3912fc9ee6cd99120675ad48b'], + 'configopts': ('-DBUILD_SHARED_LIBS=ON -DUSE_OPTIMIZED_BLAS=ON -DLAPACKE=ON ' + '-DUSE_OPTIMIZED_LAPACK=ON -DBUILD_DEPRECATED=ON ' + '-DCMAKE_INSTALL_INCLUDEDIR=%(installdir)s/include/flexiblas'), + 'sanity_check_paths': { + 'files': ['lib/liblapacke.%s' % SHLIB_EXT, 'include/flexiblas/lapacke.h'], + 'dirs': [], + }, + }), +] + +moduleclass = 'lib'