"Your cuDNN version is more recent than Theano"

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?

Not sure if you have already seen Installation Guide (Windows) · pymc-devs/pymc Wiki · GitHub. In case you haven’t it might be worth a try.

The first thing I’d recommend is to use separated conda environments and try to install as little things as possible. If you are using pymc 3.11.4 you need theano-pymc but no aesara at all, and in fact it’s recommended to not install it to avoid install/version issues with downstream dependencies of both packages. If tensorflow is not needed at the same time as pymc, I’d also avoid installing it in this environment.

I hope it helps a bit, I can’t help with anything related to flags though.