Hi,
I have some computational speed related issues with my pymc3 model running on the numpy c-based api. I have been trying to configure the theano.tensor.blas in order to use the theano backend, but with little effect on the computational speed. Is there anyone here who may be able to help me with this?
Thank you!
Hi Bjorn,
IIUC, I think I’d try switching from openblas
to MKL. openblas
is what Numpy uses by default for algebra computations and has a long history of issues involving multiprocessing.
You can do conda list | grep blas
to see if you’re using openblas
in your virtual dev. The third column should tell which one it is:
libblas 3.8.0 16_openblas conda-forge
libcblas 3.8.0 16_openblas conda-forge
If your env uses openblas
, you can try MKL or blis
: conda install "libblas=*=*mkl" -c conda-forge
. You’ll probably need to install mkl
and mkl-service
too. Doc about these options is here.
After replacing blas
with MKL instead of openblas
, you should see:
libblas 3.8.0 14_mkl conda-forge
libcblas 3.8.0 14_mkl conda-forge
...
mkl 2019.5 281 conda-forge
mkl-service 2.3.0 py37h0b31af3_0 conda-forge
Maybe it’s not the whole issue, but this should help with computational speed
1 Like