Skip to content

blas

This test is adapted from the BLAS test included in the BLIS v1.1 sources at https://github.com/flame/blis/tree/1.1/test/3

Customizations to the original BLAS test: - adapted and simplified Makefile for FlexiBLAS support - custom simplified run.sh script

Notes: - a buildenv module, which includes FlexiBLAS, and BLIS module must be loaded to run the test, even if BLIS or OpenBLAS are not used. the buildenv module is automatically added by eessi_mixin by setting "require_buildenv_module = True" - by default OpenBLAS is already included as a dependency of FlexiBLAS. this means that, if multiple OpenBLAS modules are present in the same toolchain, the OpenBLAS versions not included in FlexiBLAS may fail to load due to a version conflict. to fix this, you may want to run: export LMOD_DISABLE_SAME_NAME_AUTOSWAP=no before running the test. - BLAS modules with hyphens in the version string are not supported.

Supported tags in this ReFrame test (in addition to the common tags): - BLAS implementation: openblas, blis, aocl-blas, imkl - CI tag: runs only openblas

EESSI_BLAS_AOCLBLAS_mt

Bases: EESSI_BLAS_base, EESSI_Mixin

multi-threaded AOCL-BLAS test

EESSI_BLAS_BLIS_mt

Bases: EESSI_BLAS_base, EESSI_Mixin

multi-threaded BLIS test

EESSI_BLAS_OpenBLAS_mt

Bases: EESSI_BLAS_base, EESSI_Mixin

multi-threaded OpenBLAS test

EESSI_BLAS_base

Bases: RunOnlyRegressionTest

base BLAS test

set_executable_opts()

Set executable_opts

set_flexiblas_blas_lib()

Set FLEXIBLAS environment variable to selected BLAS lib

set_perf_vars()

Set performance variables

set_prerun_cmds()

Set prerun_cmds

EESSI_BLAS_imkl_mt

Bases: EESSI_BLAS_base, EESSI_Mixin

multi-threaded imkl test

get_blas_modules(blas_name)

Find available blas_name modules and (latest) matching BLIS module

Returns: a list of lists: each inner list has the blas_name module as first item, and the matching BLIS module as second item. The BLIS module must be second to avoid segmentation fault for AOCL-BLAS

get_imkl_modules()

Find available imkl modules and (latest) BLIS module Only imkl modules with SYSTEM toolchain are used

Returns: a list of lists: each inner list has the imkl module as first item, and the latest BLIS module as second item.

multi_thread_scales()

Scales for multi-threaded BLAS tests