BLAS/LAPACK#
The following numerical libraries provide optimised CPU implementations of BLAS and LAPACK on the system:
The modules for each of these libraries provide some convenience environment variables: N8CIR_LINALG_CFLAGS
contains the compiler arguments to link BLAS and LAPACK to C code; N8CIR_LINALG_FFLAGS
contains the same to link to Fortran. When used with variables such as CC
, commands to build software can become entirely independent of what compilers and numerical libraries you have loaded, eg. for ESSL:
module load gcc essl/6.2
$CC -o myprog myprog.c $N8CIR_LINALG_CFLAGS
ppc64le partitions only
ESSL is only provided on ppc64le
partitions/nodes (gpu
, infer
, test
).
Or for OpenBLAS:
module load gcc openblas/0.3.10
$CC -o myprog myprog.c $N8CIR_LINALG_CFLAGS
module load gcc openblas/0.3.26
$CC -o myprog myprog.c $N8CIR_LINALG_CFLAGS
# or
module load gcc openblas/0.3.26omp
$CC -o myprog myprog.c $N8CIR_LINALG_CFLAGS