According to Wikipedia, the GeForce GTX 670M has a Compute Capability of 2.1 (and a Fermi micro-architecture), which is confirmed by TensorFlow (I can read "2.1" in the error it rises).

Wikipedia says that CUDA 8.0 supports compute capabilities from 2.0 to 5.x (Fermi micro-architecture included). It even says that it's the "last version with support for compute capability 2.x (Fermi)". However, the error rised by TensorFlow says that my being-used CUDA version support at least compute capability of... 3.0... And thus my GeForce GTX 670M is ignored and my CPU is used to compute :-( . It's a big problem.

Since several CUDA versions are installed in my computer, I wanted to be sure it was CUDA 8.0 that was being used. So I typed, in the PyCharm's terminal: nvcc --version which outputs:

nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2016 NVIDIA Corporation Built on Mon_Jan__9_17:32:33_CST_2017 Cuda compilation tools, release 8.0, V8.0.60

Thus, CUDA 8.0 is actually being used.

The error is the following:

2019-08-01 22:04:28.366003: I C:\tf_jenkins\home\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\platform\cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX

2019-08-01 22:04:28.561338: I C:\tf_jenkins\home\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\gpu\gpu_device.cc:1030] Found device 0 with properties:

name: GeForce GTX 670M major: 2 minor: 1 memoryClockRate(GHz): 1.24

pciBusID: 0000:01:00.0

totalMemory: 3.00GiB freeMemory: 2.48GiB

2019-08-01 22:04:28.561814: I C:\tf_jenkins\home\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\gpu\gpu_device.cc:1093] Ignoring visible gpu device (device: 0, name: GeForce GTX 670M, pci bus id: 0000:01:00.0, compute capability: 2.1) with Cuda compute capability 2.1. The minimum required Cuda capability is 3.0.

My setup

I've described the problem. Now I'm going to give you more informations about my setup.

  • I'm working on Windows 10 with PyCharm and Keras (so TensorFlow)
  • Since I thought I had to use CUDA 8.0, I checked in the TensorFlow Website which version I should use. I've found that: for CUDA 8.0, I should use TensorFlow GPU version 1.4.0 with CUDNN version 6.
  • In reality, I'm using: CUDA V8.0.60, CUDNN V6.0 (found on the CUDNN Website for CUDA 8.0) and TensorFlow-GPU V1.4.0
  • Here is a screenshot of my Windows 10's %PATH%'s value. Note that the being-used CUDA version ("CUDA_PATH") is actually 8.0, as you can see it on the screenshot. enter image description here

Final question

Could you please tell me what version of CUDA I should use for being able to use my GeForce GTX 670M as a compute unit for my networks training? Wikipedia seems to be wrong...


1 Answer 1


CUDNN and Tensorflow require a GPU which has a compute capacity of 3.0 at least: not only the CUDA version must take account of this CC, but also these both programs.

Indeed: https://stackoverflow.com/questions/38542763/how-can-i-make-tensorflow-run-on-a-gpu-with-capability-2-0/38543201#38543201


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.