I'm trying to package fflas-ffpack for conda and the calls to openblas_num_threads(1)
is problematic. This is an issue because we package openblas with parallelism and
other packages like scipy etc rely on it.
If fflas-ffpack links to openblas dynamically, then once fflas is loaded into a process
with scipy in it, scipy's linalg calls will become slow because of openblas_num_threads(1).
In order to avoid this problem, I want to statically link in openblas to libfflas.so.
The issue here is that these cblas calls are in inline headers and when linbox uses
fflas functions, linbox creates calls to openblas as well. Then we have link openblas
statically for linbox too. Same for all downstream uses of fflas-ffpack.
A solution to this is to move cblas calls from inline functions to the library.
Thoughts?
I'm trying to package fflas-ffpack for conda and the calls to
openblas_num_threads(1)is problematic. This is an issue because we package openblas with parallelism and
other packages like scipy etc rely on it.
If fflas-ffpack links to openblas dynamically, then once fflas is loaded into a process
with scipy in it, scipy's linalg calls will become slow because of
openblas_num_threads(1).In order to avoid this problem, I want to statically link in openblas to libfflas.so.
The issue here is that these cblas calls are in inline headers and when linbox uses
fflas functions, linbox creates calls to openblas as well. Then we have link openblas
statically for linbox too. Same for all downstream uses of fflas-ffpack.
A solution to this is to move cblas calls from inline functions to the library.
Thoughts?