How can I make tensorflow run on a GPU with capability 2.x?

Recent GPU versions of tensorflow require compute capability 3.5 or higher (and use cuDNN to access the GPU.

cuDNN also requires a GPU of cc3.0 or higher:

cuDNN is supported on Windows, Linux and MacOS systems with Pascal, Kepler, Maxwell, Tegra K1 or Tegra X1 GPUs.

  • Kepler = cc3.x
  • Maxwell = cc5.x
  • Pascal = cc6.x
  • TK1 = cc3.2
  • TX1 = cc5.3

Fermi GPUs (cc2.0, cc2.1) are not supported by cuDNN.

Older GPUs (e.g. compute capability 1.x) are also not supported by cuDNN.

Note that there has never been either a version of cuDNN or any version of TF that officially supported NVIDIA GPUs less than cc3.0. The initial version of cuDNN started out by requiring cc3.0 GPUs, and the initial version of TF started out by requiring cc3.0 GPUs.


Sep.2017 Update: No way to do that without problems and pains. I've tried hard all the ways and even apply below trick to force it run but finally I had to give up. If you are serious with Tensorflow just go ahead and buy 3.0 compute capability GPU.

This is a trick to force tensorflow run on 2.0 compute capability GPU (not officially):

  1. Find the file in Lib/site-packages/tensorflow/python/_pywrap_tensorflow_internal.pyd (orLib/site-packages/tensorflow/python/_pywrap_tensorflow.pyd)
  2. Open it with Notepad++ or something similar

  3. Search for the first occurence of 3\.5.*5\.2 using regex

  4. You see the 3.0 before 3.5*5.2, change it to 2.0

I changed as above and can do simple calculation with GPU, but get stuck with strange and unknown issues when try with practical projects(those projects run well with 3.0 compute capability GPU)