I've been happily using CUDA with cycles for a while now - set Cycles Renderer up top, then File->User Preferences->System->Compute Device=CUDA and in Preferences(bottom right panel)-> Render tab->Render section->Device=GPU Compute. Can then shift-z to use cycles to render the preview in addition to just rendering.

But firing it up today results in:

Unsupported CUDA version 5.0 detected, you need CUDA 6.5.

Which is strange, because:

> ls -la /usr/local/
cuda -> /usr/local/cuda-6.5

> export | grep -i cuda
declare -x CUDA_HOME="/usr/local/cuda"
declare -x LD_LIBRARY_PATH="/usr/local/cuda/lib64"
declare -x PATH="/usr/local/cuda/bin:..."

> nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2014 NVIDIA Corporation
Built on Thu_Jul_17_21:41:27_CDT_2014
Cuda compilation tools, release 6.5, V6.5.12

As far as I can see my environment is already set for 6.5. I get the same for both the Fedora 21 package (2.72) and one I compiled from the source (2.73). How is blender finding the older version? I suspect I've done something to mess up my environment but can't find what it is. Any ideas?


strace shows blender goes straight to the cuda-5.0 directory, perhaps due to this:

> grep "/usr/local/cuda-5.0/" /usr/bin/blender
Binary file /usr/bin/blender matches

Reinstalling cuda-6.5 didn't fix it, but it did break my permissions, so:

sudo chmod -R o+rX /usr/local/cuda-6.5/

I have recently updated to nvidia driver 346.35, maybe that did something to my environment. Either way it seems like blender first looks in /usr/local/cuda-5.0/bin/ for nvcc and then /usr/local/cuda/bin/ (this seems like a bug to me). If it finds cuda 6.5 first, either via simlinking cuda-5.0 to cuda-6.5 or moving/renaming the directory, I get hit with this error:

Compiling CUDA kernel ...
"/usr/local/cuda/bin/nvcc" -arch=sm_52 ...
nvcc fatal   : Value 'sm_52' is not defined for option 'gpu-architecture'

Similar blender error mentioned here and here, and theano error here. I have just moved from a gtx titan to a 980. Maybe that's related.

UPDATE: Yes, it's the new card. Going back to the titan works just fine. Surprised others don't have similar issues with the 980.


As your /usr/local/ directory shows you have installed multiple versions of CUDA (/usr/bin/nvidia-uninstall would only uninstall the last one). When upgrading I had first to uninstall all CUDA files:

From pre-installation-actions

Use the following command to uninstall a Toolkit runfile installation:

$ sudo /usr/local/cuda-X.Y/bin/uninstall_cuda_X.Y.pl

Use the following command to uninstall a Driver runfile installation:

$ sudo /usr/bin/nvidia-uninstall

Use the following commands to uninstall a RPM/Deb installation:

$ sudo apt-get --purge remove <package_name>          # Ubuntu
$ sudo yum remove <package_name>                      # Fedora/Redhat/CentOS
$ sudo zypper remove <package_name>                   # OpenSUSE/SLES

Check for remaining packages:

$ dpkg -l

and remove them also. After a re-install of the most recent version should work.

  • $\begingroup$ My problem isn't uninstalling cuda, I just want to point blender to the right one. That's what it looks like the automatically created symlink is there for. I can compile and run my own cuda stuff just fine. I just want to know what mechanism blender is using to find cuda. $\endgroup$ – jozxyqk Feb 5 '15 at 8:47
  • $\begingroup$ Then you could launch Blender with strace and grep for cuda paths. $\endgroup$ – stacker Feb 5 '15 at 9:29
  • $\begingroup$ Thanks. But I think it's time for me to give up for the day. $\endgroup$ – jozxyqk Feb 5 '15 at 10:14
  • $\begingroup$ At a guess I think blender is detecting a newer architecture than the current nvcc supports. Is there a way I can tell cycles to use an older -arch version? $\endgroup$ – jozxyqk Feb 19 '15 at 6:35
  • $\begingroup$ @jozxyqk I don't know, sorry. $\endgroup$ – stacker Feb 19 '15 at 7:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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