spack/var/spack/repos/builtin/packages/blaspp
Axel Huebl bcc370102f
openblas: add "locking" variant, updated blaspp (#21770)
BlasPP by ECP SLATE will fail to install by default
(`spack install blaspp`) because:
- the default BLAS installation in Spack is OpenBLAS
- BlasPP conflicts with `threads=none` for all recent OpenBLAS releases

OpenBLAS introduced a threadsafe compile option
with 0.3.7+ aka `USE_LOCKING`:
```
   61 # If you want to build a single-threaded OpenBLAS, but expect to call this
   62 # from several concurrent threads in some other program, comment this in for
   63 # thread safety. (This is done automatically for USE_THREAD=1 , and should not
   64 # be necessary when USE_OPENMP=1)
   65 # USE_LOCKING = 1
```

According to tests, with `spack install --test root blaspp`,
this exactly addresses the issues in BlasPP tests.

It also seems to be a good option to set by default for OpenBLAS and
users that do not need this safety net can always disable it.

Solve issues with newer OpenBLAS by requiring
`+locking` over none-default threading options.
2021-02-23 09:16:02 +01:00
..
package.py openblas: add "locking" variant, updated blaspp (#21770) 2021-02-23 09:16:02 +01:00