I have been trying to enable CUDA to run PyMC3 with the assistance of the GPU. Here are the specs of the machine/software I have been using:
- Windows 10
- Visual Studio Community 2019
- Python 3.8.12
- CUDA 10.2 (I tried 11.2 before that and obtained the same problem)
- CuDNN 7.6.5 (I tried 8.1 with CUDA 11.2 and obtained the same problem)
- TensorFlow 2.7.0
- Theano-PyMC 1.1.2
- Aesara 2.3.2 (the successor to Theano)
- PyMC3 3.11.4
- MKL 2.4.0
For the proper installation of Theano and CUDA in a Windows environment, I followed the advice provided on these web pages:
I have tested the installation against Tensorflow and it works. I have also used the tests provided on the Theano and Aesara “Read the Docs” sites (Using the GPU — Aesara 2.3.2+21.g9b787864a.dirty documentation) and ran the check_blas test provided with Theano/Aesara (https://raw.githubusercontent.com/Theano/Theano/master/theano/misc/check_blas.py). After all this, I still get these disappointing error/warning messages:
WARNING (aesara.tensor.blas): Using NumPy C-API based implementation for BLAS functions.
UserWarning: Your cuDNN version is more recent than Aesara. If you encounter problems, try updating Aesara or downgrading cuDNN to a version >= v5 and <= v7
even though I have already downgraded cuDNN to 7.6.5 (and, obviously, can’t use the GPU with Theano/Aesara/PyMC3).
With respect to the BLAS warning, I tried setting the blas__ldflags (Aesara) or blas.ldflags (Theano) as environment variables, assigning them the recommended MKL values -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lguide -liomp5 -lmkl_mc -lpthread
, still nothing works.
Can anybody please help me address these two issues?