I am checking the CUDA and cuDNN installation on a system, and have several observations:
CUDA has two versions, 9.0 and 11.2
cuDNN was only found in the installation directory of CUDA 9.0
In the directory of CUDA 9.0, it has cudafe.exe while the directory of CUDA 11.2 does not have
In accordance with the current scenario, do I have to uninstall one of CUDA versions to avoid conflict?
You can have both versions together. However, you can only use one of them a time. For cuDNN, you will need to download it from here for CUDA 11.2, and put the files in "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2". Finally, make sure you set the system path to the desired version. For example, if you want CUDA 11.2, then open "Environment Variables", and make sure that both "CUDA_PATH" and "CUDNN" are "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2". Also it must inside the variable "Path".
Related
while importing tensorflow
Could not load dynamic library 'libcudart.so.10.1'; dlerror: libcudart.so.10.1: cannot open shared object file: No such file or directory
2020-08-28 00:21:19.206030: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
system
Hp 245 g5 notebook
operating system ubuntu 18.4
How to solve the problem?
It seems you are trying to use the TensorFlow-GPU version and you have downloaded conflicting software versions for it.
Note: GPU support is available for Ubuntu and Windows with CUDA enabled cards only.
If you have a Cuda enabled card follow the instructions provided below.
As stated in Tensorflow documentation. The software requirements are as follows.
Nvidia gpu drivers - 418.x or higher
Cuda - 10.1 (TensorFlow >= 2.1.0)
cuDNN - 7.6
Make sure you have these exact versions of the software mentioned above. See this
Also, check the system requirements here.
For downloading the software mentioned above see here.
For downloading TensorFlow follow the instructions provided here to correctly install the necessary packages.
I want support for both Visual Studio 2019 (which needs CUDA 10.1) and TensorFlow-GPU 1.14 (which needs CUDA 10.0) on a Windows PC. Is there any methods?
I simply installed CUDA 10.0 and CUDA 10.1, and add both directory into environment variable CUDA_PATH. cuDNN is already installed.
The result is Visual Studio can detect CUDA but TensorFlow cannot.
Yes, more than one version of the CUDA toolkit can exist on a system and be used by different applications.
How are you installing TensorFlow-GPU? If you're compiling it yourself, during configuration you can specify the path to whichever version of CUDA that you want to use. If you're installing a pre-built set of binaries (e.g. using something like Anaconda) then that's already been built against a specific version of the CUDA toolkit; you'll need to fetch a different version of the binaries compiled for whichever CUDA toolkit you want, or build it yourself.
If you use Anaconda to install TensorFlow-GPU, you should also receive the correct version of the CUDA toolkit that's needed to run whichever version of TensorFlow-GPU that you've installed; it takes care of those dependencies for you.
The requirements of the current version of tensorflow 1.11 to run on GPU are
CUDA® Toolkit —TensorFlow supports CUDA 9.0.
cuDNN SDK (>= 7.2)
However the CuDNN downlad page only lists
Download cuDNN v7.2.1 (August 7, 2018), for CUDA 9.2
Given that CuDNN comes with different binaries for minor revisions of the CUDA toolkit (e.g. CuDNN 7.1.3 has one binary for CUDA 9.1 and another for CUDA 9.0), I suppose that this binary of CuDNN 7.2 is not compatible with CUDA 9.0.
Is is a documentation bug? If not, how to fullfill the requirements of TF 1.11?
I found the below answer by modifying the addresses from the publicly available libraries: https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v7.2.1/prod/9.0_20180806/cudnn-9.0-windows10-x64-v7.2.1.38
As #emilyfy suggested, addresses for other, hosted but not published versions and OSs can also be acquired.
Go to this page instead. https://developer.nvidia.com/rdp/cudnn-download
It has the link for
Download cuDNN v7.3.0 (Sept 19, 2018), for CUDA 9.0
cuDNN v7.2.1 for CUDA 9.0 used to be there but now that they have v7.3.0 it's not in the archives anymore. I'm having the same problems too with a model I built on another PC. Luckily I hadn't deleted the installers. I'll share them (only the deb installers for Linux) here.
I am currently working as a working student and now I have trouble installing Tensorflow-gpu on a machine using a Nvidia Quadro GV100 GPU.
On the Tensorflow homepage I found out that I need to install CUDA 9.0 and Cudnn 7.x in order to run Tensorflow-gpu 1.9. The problem is that I can't find a suitable CUDA version supporting the GV100. Could it be that there is no CUDA version yet? Is it possible that one can't use the GV100 for tensoflow-gpu?
Sorry for the stupid question, I am new to installing DL frameworks :-)
Thank you very much for your help!
On the Tensorflow homepage I found out that I need to install CUDA 9.0 and Cudnn 7.x in order to run Tensorflow-gpu 1.9.
That is if you want to install a pre-built Tensorflow binary distribution. In that case you need to use the version of CUDA which the Tensorflow binaries were built against, which in this case in CUDA 9.0
The problem is that I can't find a suitable CUDA version supporting the GV100
The CUDA 9.0 and later toolkits fully support Volta cards and that should include the Quadro GV100. The driver which ships with CUDA 9.0 is a 384 series which won't support your GPU. If you are referring to a driver support issue, then the solution would be to install the recommended driver for your GPU, and only install the CUDA toolkit from the CUDA 9.0 bundle, not the toolkit and driver, which is the default.
Otherwise you can use CUDA 9.1 or 9.2, which should have support for your GPU with their supplied drivers, but you will then need to build Tensorflow yourself from source.
I installed CUDA 9.0 because without it, Tensorflow gives the error:
ImportError: Could not find 'cudart64_90.dll'. TensorFlow requires that this DLL be installed in a directory that is named in your %PATH% environment variable.
I have the path variable set to the bin directory of CUDA 9.0 installation, where the required DLL file is present. I tried setting it to its parent directory too. But it still gives me the same error.
I found the solution. And it was the good old advice - "Have you tried turning it off and on again?"
I restarted the computer, Tensorflow found cudart64_90.dll, but now it could not find cudnn64_7.dll. I'm providing the steps ahead to get rid of the issues I encountered.
If you've installed Tensorflow GPU version, you're likely to run into the problem mentioned in the post. Especially if you've not installed NVDIA development toolkits before. Follow these steps:
1. Install CUDA
Get it from here. Install only the version mentioned in Tensorflow's ImportError.
ImportError: Could not find 'cudart64_90.dll'. TensorFlow requires that this DLL be installed in a directory that is named in your %PATH% environment variable. Download and install CUDA 9.0 from this URL: https://developer.nvidia.com/cuda-toolkit
It explicitly tells you the version number. Initially, I installed CUDA 9.1 instead of 9.0, it didn't work. The installation on Windows is straight forward. Run the .exe, uncheck NVIDIA Geforce and other packages if you already have them installed.
2. Include CUDA path in PATH variable
Point it to the bin directory of your tensorflow installation.
Check here if you don't know how to set the PATH variable. Now try importing Tensorflow, if it still doesn't work, try rebooting the system.
Now you will likely run into the error:
ImportError: Could not find 'cudnn64_7.dll'. TensorFlow requires that this DLL be installed in a directory that is named in your %PATH% environment variable. Note that installing cuDNN is a separate step from installing CUDA, and this DLL is often found in a different directory from the CUDA DLLs. You may install the necessary DLL by downloading cuDNN 7 from this URL: https://developer.nvidia.com/cudnn
3. Install cuDNN
Once again, only install the version mentioned in the error.To get the installer, you need to have an NVIDIA developer account. If you don't have it, sign up and it will direct you to the link to download cuDNN. Select the version compatible with your CUDA version (it's in the package name). Download the zip archive. Extract it somewhere on your disk.
4. Include cuDNN path in PATH variable
Similar to step two. This time, point it to the bin directory in your extracted archive of cuDNN. Now import Tensorflow. Restart system if required.
It should now work.
When I reached to step 3, I copied and pasted the files inside the archive
as in here
Copy <installpath>\cuda\bin\cudnn64_7.dll to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin.
Copy <installpath>\cuda\ include\cudnn.h to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include.
Copy <installpath>\cuda\lib\x64\cudnn.lib to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64.
I had the same problem for a couple hours as well. Just restarted my computer and that fixed the issue you were having, so give that a try.
Always check the cuda version, in this case you have to install cuda version 9.0 this will create the cudart64_90.dll file in C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin folder.
This will surely work.