At the start of the summer I finally got BOINC running on my CUDA-capable NVIDIA graphics card. About the same time I stopped running BOINC since the last thing I needed over the summer was a space heater under my desk. Now that fall is officially upon us, I’m willing to burn some CPU cycles — and warm my feet. I started up BOINC only to discover that it isn’t recognizing the CUDA device any longer. Hurmph.
After some digging it appears that the problem was that some Fedora update along the way tightened up security such that the user running the BOINC service (ie: boinc) was unable to access the /dev/nvidia0 device. Following these instructions I was able to get the permissions fixed and the whole thing working.
Granted, setting up CUDA in the first place was a herculean task since the CUDA libraries have to exactly match the NVIDIA X11 driver versions. Then you have to make sure BOINC knows about the library (ln -s /usr/local/cuda/lib/libcudart.so /var/lib/boinc/libcudart.so for instance). The whole matching versions thing is quite the pain in the ass as the X11 drivers can be updated more frequently than the CUDA drivers forcing you to either delay updating the X11 driver install until the CUDA driver matches or upgrading the X11 driver and having CUDA disabled until the CUDA driver catches up.
Oh well, that’s what happens when you live on the bleeding edge!