Supported Distribution Criteria

There seem to be several threads with people asking “Can I run CUDA on version X of Linux distro Y?”. Each CUDA release has a specific list of officially supported distributions, however, from many of the postings in this forum it appears that other releases can be made to work with a little tinkering. What are the criteria for a distro to be officially supported? Is it just testing performed by NVIDIA?

The customizations for getting a specific release of a distro to work with CUDA appear to deal solely with switching to a supported version of gcc. As an example, Ubuntu 8.04 is officially supported by CUDA 2.1 and contains gcc 4.2. Postings here indicate that Ubuntu 8.10 (which comes with gcc 4.3) will work if you install gcc 4.2 and tell CUDA to use it as the gcc compiler. Confusingly, it appears that other entries in the supported distribution list already have gcc 4.3 as the native compiler.

I understand the point of an officially supported distro list from NVIDIA’s perspective and that I am on my own if I try to get CUDA working on a different distro. Are there components other than gcc that are used by CUDA though? Will I be okay (without official support) if I only fix the version of gcc used?

A supported Linux distribution is one that NVIDIA has rigorously tested. This involves alot more than just the ‘right’ version of gcc, as glibc, the kernel and other components all play a role in whether CUDA works well.