ImportError: Could not find 'cudart64_100.dll

69,758

Solution 1

The simplest way to fix is to install the latest ‘NVIDIA GPU Computing Toolkit’, because if it's not there, you'll be missing the 'cudart64_100.dll' library. The only issue is that the latest copy of CUDA has this particular library upgraded to 'cudart64_101.dll', while the latest TensorFlow still requires the older 'cudart64_100.dll'. Anyways, one way to deal with this issue is to install the latest CUDA + CUDA from September 2018 and then copy 'cudart64_100.dll' library from old install to the new one.

Or just visit my site where I linked the 'cudart64_100.dll' library downloaded from the CUDA Toolkit 10.0 (Sept 2018), to make it easier to copy it into the latest CUDA directory.

Here are some screenshots to illustrate the process: https://www.joe0.com/2019/10/19/how-resolve-tensorflow-2-0-error-could-not-load-dynamic-library-cudart64_100-dll-dlerror-cudart64_100-dll-not-found/

Solution 2

I have faced similar issue. I have added the directory of the cudart64_100.dll file to the PATH variable but still it prompts the error "cudart64_100.dll" not found. In the end I finally manage to make it work by adding the following codes. Hope it helps.

import ctypes

hllDll = ctypes.WinDLL("C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v10.0\\bin\\cudart64_100.dll")

Solution 3

I had similar error:

cudart64_101.dll not found

It is because the latest version of CUDA requires older CUDA-version.dll files to work properly. The solution would be try installing the previous version of CUDA.

Once you have downloaded CUDA 10.1 run the .exe file which will first extract the necessary files in C:\Users\your_user_name\AppData\Local\Temp\CUDA.

Once the extraction is completed do not proceed with the installation navigate to the directory C:\Users\your_user_name\AppData\Local\Temp\CUDA\cudart\bin and here you will find the missing DLL file cudart64_101.dll and cudart32_101.dll copy both the files to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin and then cancel the installation.

Follow the same steps for any CUDA version will work for sure. Hope this helps thank you!!!

Solution 4

*EDIT
Every Tensorflow version requires a specific version of CUDA. The easiest way is to open https://www.tensorflow.org/install/gpu and read which version did you need.

ex. CUDA® Toolkit —TensorFlow supports CUDA® 11.2 (TensorFlow >= 2.5.0)

If you want to install Tensor Flow v 2.5.0 you must have exactly CUDA v 11.2 installed.

TensorFlow 2.2 try to import cudart64_101.dll, cusparse64_10.dll and cublas64_10.dll but they are part from CUDA 10.1 If you have OTHER cuda version will get ImportError: Could not find 'cudart64_100.dll as this files are only available in cuda 10.1.

If you want to use older tensorflow version you have to use it with appropriate cuda version

Solution 5

I also was dealing with the current situation that tensorflow expects cudart64_101.dll and NVIDIA offers Version 10.2 as main version (including cudart64_102.dll).

I simply installed both versions. I have both versions in the windows path. Beside disc space, I did not have problems so far and GPU is used in tensorflow.

Share:
69,758

Related videos on Youtube

Alex Zaitsev
Author by

Alex Zaitsev

Updated on July 09, 2022

Comments

  • Alex Zaitsev
    Alex Zaitsev almost 2 years

    I'm trying to install tensorflow-gpu==2.0.0-beta1 on my Windows 10 machine and got this error:

    ImportError: Could not find 'cudart64_100.dll'. TensorFlow requires that this DLL be installed in a directory that is named in your %PATH% environment variable. Download and install CUDA 10.0 from this URL: https://developer.nvidia.com/cuda-90-download-archive

    I made all things from:

    But error still occurs

    How can I fix this?

    • jdehesa
      jdehesa over 4 years
      Sounds like it should be able to find it. Check out the PATH that the Python interpreter is seeing in os.environ['PATH'] (in Python 3 you can read it more easily with import os; print(*os.environ['PATH'].split(';'), sep='\n')). If you have just changed the environment variables, you may need to open a new command line or even restart the system.
    • Alex Zaitsev
      Alex Zaitsev over 4 years
      @jdehesa, thanks for you comment. I did system restart, that didn't help me. Also I have C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin in os.environ['PATH']
    • Humza Ismail
      Humza Ismail over 4 years
      download.mersenne.ca/CUDA-DLLs/CUDA-10.0 In this link you find cudart64_100.dll file. just download it and paste in C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin . Your Problem will be solved . InshaAllah.
    • Reaper
      Reaper over 3 years
      Fixing this leads to another error - Could not find 'cudnn64_7.dll', here's an answer with all the steps.
  • Zachary Canann
    Zachary Canann over 4 years
    Sad that this ended up being the solution -- but this was the only solution that worked in my case. Reinstalls, restarts, etc. all failed
  • Joe
    Joe over 4 years
    This doesn't really work. It seems to load but there are run time errors later. Better downgrade to 10.0 instead.
  • Bear
    Bear over 4 years
    The most usefull comment regarding TF2.0 state as of Jan2020. Such a disgrace that TF crashes due to cudart64_101.dll not being cudart64_100.dll. (both CUDA 10.1).
  • Carson
    Carson about 4 years
    download cudart64_101.dll, cudart32_101.dll --> download.mersenne.ca/CUDA-DLLs/CUDA-10.1
  • mic
    mic almost 4 years
    Note that Tensorflow 2.1–2.2 supports CUDA 10.1 and not 10.2. Not quite the latest CUDA.
  • Jake Armstrong
    Jake Armstrong over 3 years
    How come this has to be the fix? Shouldn't Tensorflow automatically do something like this? How could I get a more permanent solution?
  • Chacal
    Chacal about 3 years
    This solution was the only one that worked for me as well. I had to include all my DLL files like this. I was using the python version installed from the Windows Store... after uninstalling it and installing Python from python.org, I no longer had to include the WinDLL statements.