0

I have a clean install of CUDA drivers and TensorFlow, but I cannot get TensorFlow to use my CUDA drivers.

My version of Windows 11 Pro is 22H2.

I'm running Anaconda Python 3.9.15.

Here is the information on my CUDA drivers (by running nvidia-smi):

Sat Apr  8 16:44:56 2023
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 531.14                 Driver Version: 531.14       CUDA Version: 12.1     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                      TCC/WDDM | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf            Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 2080 S...  WDDM | 00000000:01:00.0  On |                  N/A |
| N/A   48C    P8               10W /  N/A|   2049MiB /  8192MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

My installation of TensorFlow showed:

>pip install tensorflow
Requirement already satisfied: tensorflow in h:\anaconda3\lib\site-packages (2.10.0)
Requirement already satisfied: wrapt>=1.11.0 in h:\anaconda3\lib\site-packages (from tensorflow) (1.15.0)
Requirement already satisfied: keras<2.11,>=2.10.0 in h:\anaconda3\lib\site-packages (from tensorflow) (2.10.0)
Requirement already satisfied: flatbuffers>=2.0 in h:\anaconda3\lib\site-packages (from tensorflow) (23.1.21)
Requirement already satisfied: typing-extensions>=3.6.6 in h:\anaconda3\lib\site-packages (from tensorflow) (4.5.0)
Requirement already satisfied: packaging in h:\anaconda3\lib\site-packages (from tensorflow) (23.0)
Requirement already satisfied: absl-py>=1.0.0 in h:\anaconda3\lib\site-packages (from tensorflow) (1.4.0)
Requirement already satisfied: opt-einsum>=2.3.2 in h:\anaconda3\lib\site-packages (from tensorflow) (3.3.0)
Requirement already satisfied: numpy>=1.20 in h:\anaconda3\lib\site-packages (from tensorflow) (1.21.6)
Requirement already satisfied: six>=1.12.0 in h:\anaconda3\lib\site-packages (from tensorflow) (1.16.0)
Requirement already satisfied: libclang>=13.0.0 in h:\anaconda3\lib\site-packages (from tensorflow) (14.0.6)
Requirement already satisfied: tensorflow-io-gcs-filesystem>=0.23.1 in h:\anaconda3\lib\site-packages (from tensorflow) (0.27.0)
Requirement already satisfied: keras-preprocessing>=1.1.1 in h:\anaconda3\lib\site-packages (from tensorflow) (1.1.2)
Requirement already satisfied: tensorflow-estimator<2.11,>=2.10.0 in h:\anaconda3\lib\site-packages (from tensorflow) (2.10.0)
Requirement already satisfied: grpcio<2.0,>=1.24.3 in h:\anaconda3\lib\site-packages (from tensorflow) (1.46.0)
Requirement already satisfied: setuptools in h:\anaconda3\lib\site-packages (from tensorflow) (65.6.3)
Requirement already satisfied: astunparse>=1.6.0 in h:\anaconda3\lib\site-packages (from tensorflow) (1.6.3)
Requirement already satisfied: termcolor>=1.1.0 in h:\anaconda3\lib\site-packages (from tensorflow) (2.2.0)
Requirement already satisfied: tensorboard<2.11,>=2.10 in h:\anaconda3\lib\site-packages (from tensorflow) (2.10.1)
Requirement already satisfied: protobuf<3.20,>=3.9.2 in h:\anaconda3\lib\site-packages (from tensorflow) (3.19.6)
Requirement already satisfied: gast<=0.4.0,>=0.2.1 in h:\anaconda3\lib\site-packages (from tensorflow) (0.4.0)
Requirement already satisfied: h5py>=2.9.0 in h:\anaconda3\lib\site-packages (from tensorflow) (2.10.0)
Requirement already satisfied: google-pasta>=0.1.1 in h:\anaconda3\lib\site-packages (from tensorflow) (0.2.0)
Requirement already satisfied: wheel<1.0,>=0.23.0 in h:\anaconda3\lib\site-packages (from astunparse>=1.6.0->tensorflow) (0.40.0)
Requirement already satisfied: google-auth<3,>=1.6.3 in h:\anaconda3\lib\site-packages (from tensorboard<2.11,>=2.10->tensorflow) (2.17.2)
Requirement already satisfied: tensorboard-data-server<0.7.0,>=0.6.0 in h:\anaconda3\lib\site-packages (from tensorboard<2.11,>=2.10->tensorflow) (0.6.1)
Requirement already satisfied: werkzeug>=1.0.1 in h:\anaconda3\lib\site-packages (from tensorboard<2.11,>=2.10->tensorflow) (2.2.3)
Requirement already satisfied: google-auth-oauthlib<0.5,>=0.4.1 in h:\anaconda3\lib\site-packages (from tensorboard<2.11,>=2.10->tensorflow) (0.4.6)
Requirement already satisfied: requests<3,>=2.21.0 in h:\anaconda3\lib\site-packages (from tensorboard<2.11,>=2.10->tensorflow) (2.28.2)
Requirement already satisfied: markdown>=2.6.8 in h:\anaconda3\lib\site-packages (from tensorboard<2.11,>=2.10->tensorflow) (3.4.3)
Requirement already satisfied: tensorboard-plugin-wit>=1.6.0 in h:\anaconda3\lib\site-packages (from tensorboard<2.11,>=2.10->tensorflow) (1.8.1)
Requirement already satisfied: rsa<5,>=3.1.4 in h:\anaconda3\lib\site-packages (from google-auth<3,>=1.6.3->tensorboard<2.11,>=2.10->tensorflow) (4.9)
Requirement already satisfied: pyasn1-modules>=0.2.1 in h:\anaconda3\lib\site-packages (from google-auth<3,>=1.6.3->tensorboard<2.11,>=2.10->tensorflow) (0.2.7)
Requirement already satisfied: cachetools<6.0,>=2.0.0 in h:\anaconda3\lib\site-packages (from google-auth<3,>=1.6.3->tensorboard<2.11,>=2.10->tensorflow) (5.3.0)
Requirement already satisfied: requests-oauthlib>=0.7.0 in h:\anaconda3\lib\site-packages (from google-auth-oauthlib<0.5,>=0.4.1->tensorboard<2.11,>=2.10->tensorflow) (1.3.1)
Requirement already satisfied: importlib-metadata>=4.4 in h:\anaconda3\lib\site-packages (from markdown>=2.6.8->tensorboard<2.11,>=2.10->tensorflow) (6.2.0)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in h:\anaconda3\lib\site-packages (from requests<3,>=2.21.0->tensorboard<2.11,>=2.10->tensorflow) (1.26.15)
Requirement already satisfied: certifi>=2017.4.17 in h:\anaconda3\lib\site-packages (from requests<3,>=2.21.0->tensorboard<2.11,>=2.10->tensorflow) (2022.12.7)
Requirement already satisfied: idna<4,>=2.5 in h:\anaconda3\lib\site-packages (from requests<3,>=2.21.0->tensorboard<2.11,>=2.10->tensorflow) (3.4)
Requirement already satisfied: charset-normalizer<4,>=2 in h:\anaconda3\lib\site-packages (from requests<3,>=2.21.0->tensorboard<2.11,>=2.10->tensorflow) (2.1.1)
Requirement already satisfied: MarkupSafe>=2.1.1 in h:\anaconda3\lib\site-packages (from werkzeug>=1.0.1->tensorboard<2.11,>=2.10->tensorflow) (2.1.2)
Requirement already satisfied: zipp>=0.5 in h:\anaconda3\lib\site-packages (from importlib-metadata>=4.4->markdown>=2.6.8->tensorboard<2.11,>=2.10->tensorflow) (3.15.0)
Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in h:\anaconda3\lib\site-packages (from pyasn1-modules>=0.2.1->google-auth<3,>=1.6.3->tensorboard<2.11,>=2.10->tensorflow) (0.4.8)
Requirement already satisfied: oauthlib>=3.0.0 in h:\anaconda3\lib\site-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tensorboard<2.11,>=2.10->tensorflow) (3.2.2)

When I run the following test it shows that TensorFlow cannot find the CUDA driver

>python -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"
[]
halfer
  • 19,824
  • 17
  • 99
  • 186
user274610
  • 509
  • 9
  • 18
  • Did you install `tensorflow-gpu` or `tensorflow`? By the looks of your output, you have `tensorflow`, but you really need `tensorflow-gpu`. – nanofarad Apr 09 '23 at 00:33

2 Answers2

0
  1. Check if there are any issues with your CUDA installation:

    nvcc -V

  2. Verify that you have set the environment variables correctly: CUDA_HOME: The path to the CUDA installation directory. PATH: The path to the CUDA and cuDNN bin directories. LD_LIBRARY_PATH: The path to the CUDA and cuDNN library directories.

  3. if TensorFlow is detecting your GPU:

    import tensorflow as tf print(tf.config.list_physical_devices('GPU'))

Nurgali
  • 16
  • nvcc looks ok,\. I got: H:\HedgeTools>nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2023 NVIDIA Corporation Built on Wed_Feb__8_05:53:42_Coordinated_Universal_Time_2023 Cuda compilation tools, release 12.1, V12.1.66 Build cuda_12.1.r12.1/compiler.32415258_0 – user274610 Apr 09 '23 at 01:52
  • Pls take a look: https://stackoverflow.com/questions/67084512/tensorflow-after-1-15-no-need-to-install-tensorflow-gpu-package – Nurgali Apr 09 '23 at 02:23
  • Go to: https://www.tensorflow.org/install/pip#windows-native_1. It says: "Caution: TensorFlow 2.10 was the last TensorFlow release that supported GPU on native-Windows." Oh well, so much for TensorFlow! I tried a Julia ML App and I found that Julia found my CUDA drivers and Julia used them! – user274610 Apr 10 '23 at 15:28
0

There is a note on the TensorFlow native Windows installation instructions that:

TensorFlow 2.10 was the last TensorFlow release that supported GPU on native-Windows. Starting with TensorFlow 2.11, you will need to install TensorFlow in WSL2, or install tensorflow-cpu and, optionally, try the TensorFlow-DirectML-Plugin.

So if you want to stick with Windows your options are as follows:

  1. Use an older version of Tensorflow-GPU <= 2.10, and ensure you are using the requirements from the tested build configurations for Windows with GPU support. For example, tensorflow-gpu versions 2.8 through 2.10 were tested with Python 3.7-3.10, cuDNN 8.1 and CUDA 11.2.

  2. Install the Windows Subsystem for Linux (WSL2) on a Windows system running Windows 10 19044 or higher. WSL allows one to run a Linux distribution (default is Ubuntu but others can be used) to use Linux applications, utilities etc. directly on Windows without modification or the overhead of virtual machines. Again, one must also ensure they are using tested build configurations for Linux with GPU support. For example, the latest version of TensorFlow at the time of writing this is 2.12 which requires Python version 3.8-3.11, cuDNN 8.6 and CUDA 11.8.

If you want to get serious about development, care about your data and privacy, and experience the benefits of the free and open-source software community, the better option is to move to Linux (assuming you have control over the system and what OS it uses).

Kyle F Hartzenberg
  • 2,567
  • 3
  • 6
  • 24