BLAS/LAPACK

BLAS/LAPACK#

The following numerical libraries provide optimised CPU implementations of BLAS and LAPACK on the system:

  • ESSL (IBM Engineering and Scientific Subroutine Library)

  • OpenBLAS

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

Or for OpenBLAS:

module load gcc openblas/0.3.10
$CC -o myprog myprog.c $N8CIR_LINALG_CFLAGS