I’ve been working with CUDA in Windows and want to port my work to Linux, specifically OpenSUSE. I downloaded the latest OpenSUSE version, which is 11.2, but the latest CUDA code available is only for version 11.1. I notice there are 5 different versions of OpenSUSE supported by NVidia, but only up to 11.1. A similar situation exists for other Linux versions. I tried to compile the sample CUDA programs but got compilation errors. My paths are set up, and running nvcc -V returns a valid version number.
It seems counterintuitive to me that the Toolkit and SDK codes would be so highly dependent on even small changes in the Linux version number. Do I need to wait for a matching version number, or will the 11.1 CUDA code work with the later OpenSUSE release?
The toolkit is very dependent on the gcc/libc version used in the release.
If 11.1 was using gcc 4.3 and 11.2 is using gcc 4.4, you will get a lot of errors/warnings.
That makes sense, since nvcc has to work closely with gcc. I’m thinking that also means that once I have the NVidia code working on a particular Linux version, it would be best to turn off any updating of Linux (particularly gcc) until an updated matching toolkit/SDK is available.
The problem is probably what mfatica already suggested as OpenSUSE 11.2 comes with gcc 4.4. However, you should be able to install and use gcc 4.3 instead. For this it comes handy the update-alternatives command which is a neat tool to maintain (through symbolic links) and quickly switch between several installed versions of a program.