Rasa OS installation issue: CUDA version

Hello,

I am doing a fresh installation of rasa 2.2.0 on Ubuntu 20.04 with Lambda Stack installed. This includes CUDA v11.1, cuDNN v7.6.5, and TF v2.3.0. Any rasa command throws a dlerror for libcudart.so.10.1. It looks like rasa depends on CUDA 10. Installing from source doesn’t change this.

Further evidence: a virtual environment before pip3 install rasa successfully accesses libcudart.so.11.1; after the command, the above mentioned error is thrown.

Does rasa have a hard dependency on CUDA 10? Can it run TF on CUDA 11 instead? If yes, how should it be configured?

Thanks in advance,

Ivo

CUDA version depends on tf version, I don’t know which one tf requires

@ivogeorg As mentioned here CUDA 11 is only supported for TF>=2.4.0. Since rasa==2.2.0 requires tensorflow~=2.3.0, I would recommend you to downgrade CUDA to 10.1 or similar.

1 Like

Thanks @dakshvar22.

These important dependencies are a bit difficult to know ahead of installation. To be sure, one can do the following:

  1. Go to the rasa development repository.
  2. Open the tags.
  3. Find the version you want to install, say, 2.2.2.
  4. Download and unzip the source.
  5. All dependencies are in poetry.lock. In this case, tensorflow = ">=2.3.0,<2.4".
  6. Then look up the corresponding CUDA version on TF’s installation docs, for Linux GPU, in this case.

A bit convoluted. It would help to have this more handy in the rasa documentation.

The appropriate CUDA can then be installed in a conda environment with cudatoolkit=10.1.*.

@Ghostvv is it possible to build rasa with a specific cuda toolkit version? I am very new to poetry build tool, but I see that rasa/poetry.lock at main · RasaHQ/rasa · GitHub mentions cuda* extras from rasa’s dependencies spacy and thinc. And, for example, I can install spacy with a support to a specific cuda version using pip: pip install -U spacy[cuda92]. It would be great to be able to build rasa with an extra build parameters like cuda92. Thanks!