icl-utk-edu / blaspp

BLAS++ is a C++ wrapper around CPU and GPU BLAS (basic linear algebra subroutines), developed as part of the SLATE project.
https://icl.utk.edu/slate/
BSD 3-Clause "New" or "Revised" License
66 stars 23 forks source link

cmake: add blaspp_ namespace #59

Closed mgates3 closed 1 year ago

mgates3 commented 1 year ago

Avoids conflict with LAPACK++ so it can find -llapack with ESSL. The issue is BLAS++ needs a subset of LAPACK, which is provided by ESSL (e.g., potrf), whereas LAPACK++ needs the whole of LAPACK (e.g., pstrf, lacpy, laset, ...), which is provided by Netlib LAPACK in -llapack. The BLAS++ CMake runs first and discovers ESSL, then LAPACK++ CMake runs and saw the cached value. This PR makes a namespace to avoid LAPACK++ seeing the cached value from BLAS++.