2
$\begingroup$

Yes, I've read this post already. But it didn't work. Now I'm looking for more information and ways to diagnose the problem... and perhaps find a solution.

The base system is an Ubuntu machine (14.04 LTS), 64 bit, and a GTX 970.

The GTX 970 is a "rather new" card and is not supported by the proprietary nvidia driver that "comes" with 14.04. You have to install version 343.22 which is available via the xorg/edgers ppa repo.

Additionally, as mentioned here, the utility nvidia-moprobe has to be installed, to give non-root users access to CUDA.

Furthermore, they also recommend to install the newest development build from https://builder.blender.org/download/, as 2.72b does not support the GTX 970/980 (no idea why), and to install CUDA 6.5 from nvidia for the CUDA 6.5 toolkit.

I've done all this, but it's still not working. Along the way, I came across some conflicting information, which I hope some of you can clarify.

I've read on various sites, that the GTX 970/980 is only supported starting from nvidia driver 343.22, and CUDA 6.5. So I think this is a given fact.

Which means, that I can't use the CUDA library from the main Ubuntu repo, which is v5.5.

In some postings I've read that the builds from the buildbot contain a pre-compiled CUDA kernel and installing the CUDA toolkit is not necessary, in other places a CUDA update is recommended for better performance.

There is an Ubuntu bug report regarding the nvidia-modprobe, however I have no idea if this also relates to Blender.

Apparently the current Blender build (2240c26, Nov. 28, 2014) does not recognize the GTX 970 in the described configuration.

The nvidia-settings utility confirms that 343.22 is running on my system. And the GTX 970 is listed there.

My questions are:

  • Does the builderbot version come with a CUDA kernel and if so, is it 6.5 compatible? If not, is there a way to tell Blender to use the external toolkit (short of compiling from source)?
  • Which devices does Blender use under Linux to access CUDA? I.e. is nvidida-modprobe necessary, and if so, how can I tell that it is working?
  • What does the developer build have, that 2.72b hasn't, that is needed here?
  • Are there any switches when starting blender, that might shed some light why it does not use CUDA?

Thank you for reading this far :) - any help is welcome.

$\endgroup$

1 Answer 1

5
$\begingroup$

I got it working, and I can at least partially answer my questions:

Problem #1: There are two CUDA 6.5 packages at nvidia, a "normal" one and one "with Support for GeForce GTX9xx GPUs" (here). Choose the later one.

Problem #2: I had already installed the nvidia 343.22 driver from xorg/edgers. The CUDA packages comes with its own 343.19 (as well as its own nivdia-modprobe).

FYI: I've used the .deb file (not the .run one). This drops a handful of other .deb files onto the system, but does not install them. After apt-get update-ing they can be installed using: apt-get install cuda

I needed to bring the system into a terminal-only state where no nvidia driver was running in order to remove the 343.22 one and install the cuda package.

Regarding to my questions:

  • Blender does use the (external) CUDA install.
  • 2.42b produces a black screen and an error message in the terminal, i.e. there is a code change needed for the GTX 970 to work
  • nvidia-modprobe is part of the package - i.e. no need to install it separately.
$\endgroup$
2
  • $\begingroup$ Thanks for your specific answer. i followed your steps and blender still can't detect cuda. Is there anything else I can do? do you suggest installing the 343.19 driver? - thanks! $\endgroup$ Apr 18, 2016 at 8:23
  • $\begingroup$ (i get the following error after installing cuda: modprobe: ERROR: ../libkmod/libkmod-module.c:809 kmod_module_insert_module() could not find module by name='nvidia_343' modprobe: ERROR: could not insert 'nvidia_343': Function not implemented) $\endgroup$ Apr 18, 2016 at 8:33

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .