CUDA 6.5 and 340 driver?

I have an old ION GT218 GPU. My understanding is that I can only use up to NVidia driver version 340 with this card.

However, when I try to install the official NVidia CUDA 6.5 package from the apt repository, I get the following error:

The following packages have unmet dependencies:
cuda-runtime-6-5 : Depends: cuda-drivers (>= 343.19) but it is not going to be installed

Is there a way for me to use CUDA 6.5 on this hardware?

Use the runfile installer method. It’s covered in the CUDA 6.5 linux installation guide.

http://developer.download.nvidia.com/compute/cuda/6_5/rel/docs/CUDA_Getting_Started_Linux.pdf

Be sure to clean out your old package manager installation first.

Be sure to remove nouveau and follow all the directions in the above linked guide.

You can get the cuda 6.5 installer from the cuda toolkit archive page.

Google “cuda toolkit archive” and take the first hit.

https://developer.nvidia.com/cuda-toolkit-65

Thanks! I’m familiar with the runfile installation method. If you’re confident that it will work, that’s good to know.

I’d really rather use a package if possible, though, so that it’s easier to uninstall if I want to do so later. Is there a way to get the package to install properly on this system? Why does it require a newer driver, if the runfile does not?

I’m sure there is. Methods to work around the “unmet dependencies” issue are covered in various places on the web. To be clear, I was responding, with one possible approach, to this question:

regarding this:

The runfile is designed to work with the driver that is included in the runfile installer. CUDA 6.5 requires, roughly speaking, a 340.xx driver or newer. A particular package can be set up to have a dependency on any particular driver. I don’t know for sure which package you are using, nor do I spend much time installing CUDA 6.5 from packages anymore.

Probably none of this really answers your questions. When trying to help people, I can learn a single reliable method and describe that (runfile installer) or I can try to learn the details of every packaging system on every linux OS, along with all the official and non-official packages that people may try to use, along with all the fragmentation of packages just for driver install, as well as those for toolkit install and samples installation. I choose the former method.

If you’re wanting to use the package manager method, have at it. I’m sure it can be made to work.

I second txbob’s recommendation of installing CUDA using the runfile installer method. Using the publicly published runtime installer never failed me in ten years of using CUDA on Linux.

@txbob – just for reference, regarding which package I’m using, I am following the official NVidia instructions for how to install on Ubuntu:

http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-linux/#ubuntu-installation

If the official NVidia instructions are wrong and users should use the runfile on this platform, is there a way to file a ticket with NVidia or something to ask someone on their end to correct the official docs?

To be clear, I didn’t say the NVIDIA instructions are wrong. I said I recommended the runfile installer because its easier for me to remember the instructions NOT because the package manager method is broken. I never said the package manager method is broken. What I said was I’m sure it can be made to work.

I’m fairly certain they work correctly with a proper machine setup. Clearly there are things you can do to your machine that will ruin an attempt at package manager install. Whether or not any of these apply in your case, I don’t know because you’ve given an incomplete description of what is going on. I don’t see which OS you are using, for example. (“Ubuntu” is an incomplete description of the OS.) Machine history matters as well. The only way I know of to take machine history out of the equation is to do a clean load of the OS in question.

Feel free to file a bug - you can do so at developer.nvidia.com

That is the correct method to “file a ticket with NVIDIA”

@txbob – if you’d like, I’d be happy to give you a brain-dump on how Ubuntu packaging works. (My guess is that you’re not interested :-) But I think it might help you understand some of the questions that you’re implicitly raising about my comments.)

What I’m really trying to do is find the newest matching CUDA version and NVidia driver that are compatible with my machine. I thought that would be “CUDA 6.5 and NVidia 340”; I’m trying to understand why this package is saying that those two aren’t compatible with each other.

I have admittedly provided very little information, but I believe it is sufficient information for an expert in .deb packaging (which I realize is not most people) to recognize that the “debian/control” file that NVidia is using to build their CUDA 6.5 tools has a “Depends” entry that requires their driver version 343.19 or greater. Which, I believe, means one of two things:

  • CUDA 6.5 actually requires the NVidia driver version 343.19 or greater. In which case it will not work on my machine because my GPU is too old; I will have to use CUDA 6.0 or earlier.
  • CUDA 6.5 doesn’t actually require the NVidia driver version 343.19 or greater; it can work with the NVIDIA 340 driver as well, which does support my GPU. In this case there’s a package bug, or there’s a documentation bug that’s pointing me at the wrong repository so I’m downloading the wrong package.

I can’t find any official statement in NVidia’s documentation saying what driver version CUDA 6.5 requires. There are a variety of third-party sites that claim that it requires the 340 driver or newer. I know how to force Ubuntu’s package manager to do what I want; that’s the easy part :-) The question is, would I be doing the right thing?

The request for more detail about the machine is fair, though: I’m running a mostly-stock Ubuntu 14.04 x86_64 installation. I’m using the official Ubuntu-provided NVidia packages. I have taken care to keep its package repository sane, and I know enough about how apt and dpkg work internally to fix it if that were the problem.

Anyway, thanks for your help so far. I have enough information that I’m no longer stuck; I’m just trying to better understand what’s going on to see if there’s a bug here that’s worth reporting.

I guarantee you that CUDA 6.5 works with a 340.xx driver and does not require a 343.xx driver. I’m also quite certain that if you downloaded the CUDA 6.5 runfile installer it would contain a sub-installer for a 340.xx driver (340.29, if memory serves).

However, new features appear in newer drivers and bugs get fixed in newer drivers. Therefore I think it’s possible that someone updated the dependencies in the CUDA 6.5 repo to require a 343.xx driver (which would also work for CUDA 6.5, and was in fact the last driver branch to support cc1.x devices like the one you are mentioning - 346.xx was the first driver branch to drop support for cc1.x devices). It might be a reasonable thing to do - to have people use newer drivers that don’t break any compatibilities (e.g. with CUDA 6.5 or with supported devices)

So I suspect it is not a package bug. I think it’s just a difference of opinion about how things should work. But I haven’t actually tried it (recently). Documentation bugs are often arguable. Maybe not in this case.

You should probably just file a bug.