Peano
Loading...
Searching...
No Matches
OpenBLAS / libxsmmJIT / Lapack

OpenBLAS is an implementation of BLAS, which provide some basic linear algebra subroutines. libxsmmJIT (available as submodule) and lapack (more complicated linear algebra routines, used for matrix inversion etc) depend on this.

We provide a few configure options to make sure all the headers and libraries are available. When running configure script (see Installation) you should include

-openblas

to enable OpenBLAS. Further, you should use with-lapack to enable lapack and similarly with-libxsmmjit. Configuration for these two options will fail without OpenBLAS enabled.

We leave it up to the user to modify the CXXFLAGS, LDFLAGS and LD_LIBRARY_PATH correctly. These options were tested on COSMA (see Reference Configurations for Some Machines), where installations of openblas were already available.

When configuring, be sure to add:

  • A link to the include directory for the version of openblas for your compiler to CXXFLAGS
  • A link to the lib directory for the version of openblas for your compiler to LDFLAGS
  • A link to the lib directory for the version of openblas for your compiler to LD_LIBRARY_PATH
  • -lopenblas to LDFLAGS

The call to configure should look something like this (for example, on COSMA):

./configure --with-openblas --with-lapack [other configure options] CXXFLAGS="... -I/cosma/local/openblas/intel_2020-update2/0.3.12cosma7/include/"
LDFLAGS="-L/cosma/local/openblas/intel_2020-update2/0.3.12cosma7/lib/ -lopenblas" ...

Make sure to export your LD_LIBRARY_PATH first.