CUDA on OpenSUSE Tumbleweed
Just for fun, I wanted to try installing CUDA on my new system. At first there was some scepticism since edge distributions do not play nicely but after some light google search I found out that’s its possible to install CUDA with the NVIDIA G06 drivers with no issues at all.
Only the following steps are required:
- Install the NVIDIA Driver from the Community repository nvidia-computeG06
- Add the CUDA repository and execute the install steps
- Clone the CUDA samples from GitHub to make sure everything can be compiled successfully and thus used
Install the NVIDIA Driver
The most likely thing is that drivers will be selected by default, installed and updated avoiding any pesky issues with the open source driver
zypper addrepo --refresh https://download.nvidia.com/opensuse/tumbleweed NVIDIA
zypper in nvidia-glG06 nvidia-computeG06 nvidia-gfxG06-kmp-default x11-video-nvidiaG06
Once this is done, the system must be rebooted.
Add the CUDA Repository and install it
For this particular repository there must be some considerations. Installing the NVIDIA driver from this repo is not required since the support its not the best but fortunately we can skip it if we add the OpenSuse Repository with a lower priority and install only the required packages
zypper addrepo -p 100 http://developer.download.nvidia.com/compute/cuda/repos/opensuse15/x86_64/cuda-opensuse15.repo
zypper ref
The list is a bit extensive alas it has everything in the CUDA meta-package but the driver. Compiling the CUDA samples should not be an issue
zypper in cuda-cccl-11-6 cuda-command-line-tools-11-6 cuda-compiler-11-6 cuda-cudart-11-6 cuda-cudart-devel-11-6 cuda-cuobjdump-11-6 cuda-cupti-11-6 cuda-cuxxfilt-11-6 cuda-demo-suite-11-6 cuda-documentation-11-6 cuda-driver-devel-11-6 cuda-gdb-11-6 cuda-libraries-11-6 cuda-libraries-devel-11-6 cuda-memcheck-11-6 cuda-nvcc-11-6 cuda-nvdisasm-11-6 cuda-nvml-devel-11-6 cuda-nvprof-11-6 cuda-nvprune-11-6 cuda-nvrtc-11-6 cuda-nvrtc-devel-11-6 cuda-nvtx-11-6 cuda-samples-11-6 cuda-sanitizer-11-6 cuda-toolkit-11-6-config-common libcublas-11-6 libcublas-devel-11-6 libcufft-11-6 libcufft-devel-11-6 libcufile-11-6 libcufile-devel-11-6 libcurand-11-6 libcurand-devel-11-6 libcusolver-11-6 libcusolver-devel-11-6 libcusparse-11-6 libcusparse-devel-11-6 libnpp-11-6 libnpp-devel-11-6 libnvjpeg-11-6 libnvjpeg-devel-11-6
Clone the CUDA samples and compile
Since a few versions back CUDA samples are no longer on the installed package but that can be found on GitHub.
git clone https://github.com/NVIDIA/cuda-samples.git
cd cuda-samples
make
Samples will take a while to compile and by doing this we can make sure that everything required for programing with CUDA is at hand.