Compatibility of Build From Source Tensorflow Versions with CUDA Version - tensorflow

I have seen the list of tested TF version and it's CUDA version compatibility Here, but I am having a doubt whether every TF version can be build from source with any CUDA version or not. For example:- can TF 1.14 build with CUDA 11.1 or not?

No, T.F. 1x is not compatible with CUDA 11.1. For CUDA 11.1 you need to go for T.F. 2.3 or higher.
If you wish to use T.F. 1.x then the best will be to use CUDA 10.0-10.2

Related

how to check which cuda is being used by tensorflow gpu

In my laptop there are three versions of cuda, 8.0, 9.0 and 10.0 installed, all of which are configured in the environment path. When I use tensorflow-gpu 2.0.0, how to know which version of cuda is to be deployed, without considering that the present version of tensorflow is only compatible with cuda 10.0. Is there any way to print the information on python console?
I found answers here get the CUDA and CUDNN version on windows with Anaconda installe:
from tensorflow.python.platform import build_info as tf_build_info
print(tf_build_info.cuda_version_number)
#10.0
print(tf_build_info.cudnn_version_number)
#7

Tensorflow 1.11 needs CuDNN 7.2 for CUDA 9.0, but there is no such library

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.

How to run tensorflow-gpu on Nvidia Quadro GV100?

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.

Is there a tensorflow version that is compatible with Cuda 9.0 and cudnn 7.1

I have a machine with cuda 9.0 and cudnn 7.1.
I've tried using tensorflow 1.7.0 on this machine but it does not work since this version of tensorflow has been created for cudnn 7.0
I'm getting this error when launching a training on my gpu:
Loaded runtime CuDNN library: 7102 (compatibility version 7100) but source was compiled with 7005 (compatibility version 7000).
Is there a tensorflow version that is compatible with my cuda and cudnn versions? I also need this working tensorflow version to be >=1.7.0.
I have googled this, searched every question but I never got answers for these particular versions of cuda and cudnn.
This should be possible with tensorflow_gpu-1.9.0. Linked below is a table which displays compatibilities of CUDA and cuDNN with varying versions of tensorflow.
https://www.tensorflow.org/install/install_sources#tested_source_configurations
Ok, seems I missed some installation steps.
By installing the last version of tensorflow, which at the time of writing is 1.9.0, it did work on my machine.

Would cuDNN v6.0 work with TensorFlow currently?

Do we specifically need cuDNN v5.1 (as suggested) for TensorFlow, or would the latest version (v6.0) work as well? Is there backward compatibility in cuDNN versions?
No, cuDNN 6.0 is not supported in the latest 1.2 version. But there is a hope: the official release notes tell the following:
TensorFlow 1.2 may be the last time we build with cuDNN 5.1. Starting
with TensorFlow 1.3, we will try to build all our prebuilt binaries
with cuDNN 6.0. While we will try to keep our source code compatible
with cuDNN 5.1, it will be best effort.
So hopefully the next 1.3 version will use cuDNN 6.0. Especially now, when 7.0 is right around the corner.
Today ( 21 August 2017 ) I installed the latest Tensorflow release v1.3 and I can confirm that it REQUIRES cuDNN v6.0 and WILL NOT WORK with v5.1 . It will ask in fact for the library libcudnn.so.6 and not the libcudnn.so.5
P.s. If you want it to work with cuDNN 5.1. you can install a previous version e.g. v1.2 which is at this link:
https://www.tensorflow.org/versions/r0.12/get_started/os_setup#virtualenv_installation
This would be an updated answer of Salvador Dali's response.
I have upgraded the tensorflow version to 1.2.1 and then cudnn 6.0 seems to work with no problem. I used pip
pip install tensorflow
pip install --upgrade tensorflow
Installation details are here.