Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:iddilabs
blender
SUSE-NVIDIA-GPU-rendering.txt
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File SUSE-NVIDIA-GPU-rendering.txt of Package blender
NVIDIA GPU rendering on openSUSE Prerequisites A CUDA-enabled GPU If you are designated for this task, determine your exact GPU model with: $ sudo hwinfo --gfxcard Look up the model of your card (the part in square brackets of the Model: line at https://developer.nvidia.com/cuda-gpus. If the "Compute Capability" level for your GPU is 3.0 at least, you're set. Install the x11-video-nvidiaG0x driver. Please follow https://en.opensuse.org/SDB:NVIDIA_drivers and come back, when you're ready. Next, you need to install the cuda libraries from NVIDIA. This is documented here: https://docs.nvidia.com/cuda/cuda-installation-guide-linux/ Short version (at the time of this writing): $ sudo zypper addrepo http://developer.download.nvidia.com/compute/cuda/repos/opensuse15/x86_64/cuda-opensuse15.repo $ sudo zypper refresh $ sudo zypper install cuda-toolkit-10-2 Be careful, other cuda packages may want to deinstall the NVIDIA driver, which would be better avoided at this point. Please add any user, that want to use NVIDIA GPU rendering, to the video group: $ sudo usermod -a -G video <userid> Now set up CUDA environment, e.g. in ~/.bashrc or in /etc/profile.local: export PATH=/usr/local/cuda-10.2/bin:/usr/local/cuda-10.2/NsightCompute-2019.1${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} Relogin or reboot to activate these changes. Optional: verify the installation As a prepared user (see above), run: Check, if the correct driver if installed: $ cat /proc/driver/nvidia/version Check, if the nvidia compiler is installed correctly: $ nvcc -V Install the sample source code in <dir> $ cuda-install-samples-10.2.sh <dir> At the time of this writing, gcc9 or later is not supported from CUDA 10.2. For Tumbleweed, you may want to create compatibility symlinks: $ ln -s /usr/bin/gcc-7 ~/bin/gcc $ ln -s /usr/bin/g++-7 ~/bin/g++ Compile the sample code: $ cd <dir>/NVIDIA_CUDA-10.2_Samples $ make -k We run make with the keep going option, because it is expected to fail to compile a few modules, e.g.: In file included from cudaNvSci.cpp:12:0: cudaNvSci.h:14:10: fatal error: nvscibuf.h: No such file or directory #include <nvscibuf.h> Don't bother. Check the device from CUDA POV: $ ./bin/x86_64/linux/release/deviceQuery ./bin/x86_64/linux/release/deviceQuery Starting... CUDA Device Query (Runtime API) version (CUDART static linking) Detected 1 CUDA Capable device(s) Device 0: "GeForce GTX 650" [...] You're set. Run blender, check Edit -> Preferences -> System -> CUDA Enable devices to your liking. Troubleshooting Check, that user is member of the video group: $ id Check driver: $ cat /proc/driver/nvidia/version NVRM version: NVIDIA UNIX x86_64 Kernel Module 440.59 Thu Jan 30 01:00:41 UTC 2020 GCC version: gcc version 9.2.1 20200128 [revision 83f65674e78d97d27537361de1a9d74067ff228d] (SUSE Linux) $ nvidia-smi Sun Feb 23 16:54:48 2020 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 440.59 Driver Version: 440.59 CUDA Version: 10.2 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce GTX 650 Off | 00000000:01:00.0 N/A | N/A | | 16% 29C P8 N/A / N/A | 207MiB / 1991MiB | N/A Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | 0 Not Supported | +-----------------------------------------------------------------------------+ Check devices and permissions: $ ls -la /dev/nvidia* crw-rw----+ 1 root video 195, 0 21. Feb 13:51 /dev/nvidia0 crw-rw----+ 1 root video 195, 255 21. Feb 13:51 /dev/nvidiactl crw-rw----+ 1 root video 195, 254 21. Feb 13:51 /dev/nvidia-modeset crw-rw----+ 1 root video 240, 0 21. Feb 13:51 /dev/nvidia-uvm $ chacl -l /dev/nvidia* /dev/nvidia0 [u::rw-,u:<userid>:rw-,g::rw-,m::rw-,o::---] /dev/nvidiactl [u::rw-,u:<userid>:rw-,g::rw-,m::rw-,o::---] /dev/nvidia-modeset [u::rw-,u:<userid>:rw-,g::rw-,m::rw-,o::---] /dev/nvidia-uvm [u::rw-,u:<userid>:rw-,g::rw-,m::rw-,o::---] Problem: gcc 12 unsupported If blender shows an error during initial compilation of the cuda kernel similar to: #error -- unsupported GNU version! gcc versions later than 11 are not supported! The nvcc flag '-allow-unsupported-compiler' can be used to override this version check; however, using an unsupported host compiler may cause compilation failure or incorrect run time execution. Use at your own risk. Solution: $ zypper in gcc11{,-c++} $ cd /usr/local/cuda/bin/ $ ln -s ../../../bin/gcc-11 gcc $ ln -s ../../../bin/g++-11 g++ At this point, the CUDA kernel should build properly, and CUDA devices should be available. Remember: Blender needs a CUDA "Compute Capability" of 3.0 at least. As a final resort, create a bug report at https://bugzilla.opensuse.org. Enjoy!
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor