CUDA 8.0 is compatible with my GeForce GTX 670M Wikipedia says, but TensorFlow rises an error: GTX 670M's Compute Capability is < 3.0

datascience.stackexchange https://datascience.stackexchange.com/questions/56795

Question

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...

No correct solution

Licensed under: CC-BY-SA with attribution
Not affiliated with datascience.stackexchange
scroll top