2436
Comment:
|
3826
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
## page was renamed from Howto/NVIDIA_CUDA | |
Line 10: | Line 11: |
* RHEL/CentOS 7 {{{ sudo yum install http://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-repo-rhel7-8.0.44-1.x86_64.rpm |
* RHEL/CentOS 7 {{{ sudo yum install http://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-repo-rhel7-9.0.176-1.x86_64.rpm |
Line 14: | Line 15: |
* RHEL/CentOS 6 {{{ sudo yum install http://developer.download.nvidia.com/compute/cuda/repos/rhel6/x86_64/cuda-repo-rhel6-8.0.44-1.x86_64.rpm |
* RHEL/CentOS 6 {{{ sudo yum install http://developer.download.nvidia.com/compute/cuda/repos/rhel6/x86_64/cuda-repo-rhel6-9.0.176-1.x86_64.rpm |
Line 18: | Line 19: |
* Fedora 23 (and later) {{{ sudo dnf install http://developer.download.nvidia.com/compute/cuda/repos/fedora23/x86_64/cuda-repo-fedora23-8.0.44-1.x86_64.rpm |
* Fedora 25 (and later) {{{ sudo dnf install http://developer.download.nvidia.com/compute/cuda/repos/fedora25/x86_64/cuda-repo-fedora25-9.0.176-1.x86_64.rpm |
Line 28: | Line 29: |
* Tweak the /usr/local/cuda-8.0/targets/x86_64-linux/include/host_defines.h to accept the Fedora default compiler. | * Tweak the /usr/local/cuda-9.0/targets/x86_64-linux/include/host_defines.h to accept the Fedora default compiler. |
Line 30: | Line 31: |
* Install the appropriate gcc version for CentOS developper toolset. Please see https://www.softwarecollections.org/en/scls/rhscl/devtoolset-4/ | * Install the appropriate gcc version for CentOS developper toolset. Please see https://www.softwarecollections.org/en/scls/rhscl/devtoolset-6/ |
Line 33: | Line 34: |
sudo dnf install http://ftp.ciril.fr/pub/linux/centos/7.3.1611/extras/x86_64/Packages/centos-release-scl-2-2.el7.centos.noarch.rpm sudo dnf install devtoolset-4-toolchain |
sudo dnf install http://ftp.ciril.fr/pub/linux/centos/7.4.1708/extras/x86_64/Packages/centos-release-scl-2-2.el7.centos.noarch.rpm sudo dnf install devtoolset-6-toolchain |
Line 36: | Line 37: |
You cannot install the whole devtoolset-4 collection, but the toolchain is enough , then each time you need to build using cuda, you start by | You cannot install the whole devtoolset-6 collection, but the toolchain is enough , then each time you need to build using cuda, you start by |
Line 38: | Line 39: |
scl run devtoolset-4 bash | scl run devtoolset-6 bash |
Line 40: | Line 41: |
gcc (GCC) 5.2.1 20150902 (Red Hat 5.2.1-2) Copyright (C) 2015 Free Software Foundation, Inc. |
gcc (GCC) 6.3.1 20170216 (Red Hat 6.3.1-3) Copyright (C) 2016 Free Software Foundation, Inc. |
Line 43: | Line 44: |
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
Line 46: | Line 47: |
gcc (GCC) 6.2.1 20160916 (Red Hat 6.2.1-2) Copyright © 2016 Free Software Foundation, Inc. Ce logiciel est libre; voir les sources pour les conditions de copie. Il n'y a PAS GARANTIE; ni implicite pour le MARCHANDAGE ou pour un BUT PARTICULIER |
gcc (GCC) 7.2.1 20170915 (Red Hat 7.2.1-2) Copyright (C) 2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. }}} === Which driver Package === Both "CUDA" and "RPM Fusion" repositories provide the nvidia driver packages. Usually, the package provided by RPM Fusion is higher. But in case you want to avoid the risk, add this: {{{ #/etc/yum.repos.d/cuda.repo [cuda] name=cuda ... exclude=xorg-x11-drv-nvidia\*,akmod-nvidia\* }}} === NVIDIA provided libOpenCL === NVIDIA only advertise OpenCL 1.2 with the binary driver at this time. As a consequence, they provide an old version of libOpenCL.so.1 which works fine with their binary driver. As most software in Fedora and RPM Fusion are built using a newer libOpenCL, the system linker detects that and issues the following message: {{{ /usr/local/cuda-9.0/targets/x86_64-linux/lib/libOpenCL.so.1: no version information available (required by ffmpeg) }}} You can either ignore the message or manually delete the libOpenCL.so.1 provided by NVIDIA (run sudo ldconfig once deleted). Please verify to not have other OpenCL providers that might interfere with NVIDIA OpenCL usage. (looking at /etc/OpenCL/vendors ). === Running blender === Even when only running blender, you need a CUDA compatible compiler as described above. This is because blender will compile a "CUDA Kernel" optimized for your own GPU. You can run blender with: {{{ scl run devtoolset-6 blender |
Line 54: | Line 82: |
* CUDA Start quide: https://developer.nvidia.com/compute/cuda/8.0/prod/docs/sidebar/CUDA_Quick_Start_Guide-pdf | * CUDA Start quide: https://developer.nvidia.com/compute/cuda/9.0/prod/docs/sidebar/CUDA_Quick_Start_Guide-pdf |
Line 56: | Line 84: |
* CUDA documentation: https://docs.nvidia.com/cuda/index.html | * CUDA documentation: https://docs.nvidia.com/cuda/index.html |
Contents
Installation
This Howto provides a way to install the official NVIDIA packages for CUDA.
Repository
This repository contains a given version of CUDA that is parallel installable along with another version.
Please use the Official link: https://developer.nvidia.com/cuda-downloads
RHEL/CentOS 7
sudo yum install http://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-repo-rhel7-9.0.176-1.x86_64.rpm sudo yum install cuda
RHEL/CentOS 6
sudo yum install http://developer.download.nvidia.com/compute/cuda/repos/rhel6/x86_64/cuda-repo-rhel6-9.0.176-1.x86_64.rpm sudo yum install cuda
Fedora 25 (and later)
sudo dnf install http://developer.download.nvidia.com/compute/cuda/repos/fedora25/x86_64/cuda-repo-fedora25-9.0.176-1.x86_64.rpm sudo dnf install cuda
Known issues
GCC version
When using a later version of Fedora than what is supported by the NVIDIA CUDA Official repository, you might be unable to compile. You can either:
- Tweak the /usr/local/cuda-9.0/targets/x86_64-linux/include/host_defines.h to accept the Fedora default compiler.
Install the appropriate gcc version for CentOS developper toolset. Please see https://www.softwarecollections.org/en/scls/rhscl/devtoolset-6/
sudo dnf install http://ftp.ciril.fr/pub/linux/centos/7.4.1708/extras/x86_64/Packages/centos-release-scl-2-2.el7.centos.noarch.rpm sudo dnf install devtoolset-6-toolchain
You cannot install the whole devtoolset-6 collection, but the toolchain is enough , then each time you need to build using cuda, you start by
scl run devtoolset-6 bash gcc --version gcc (GCC) 6.3.1 20170216 (Red Hat 6.3.1-3) Copyright (C) 2016 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. exit gcc --version gcc (GCC) 7.2.1 20170915 (Red Hat 7.2.1-2) Copyright (C) 2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Which driver Package
Both "CUDA" and "RPM Fusion" repositories provide the nvidia driver packages. Usually, the package provided by RPM Fusion is higher. But in case you want to avoid the risk, add this:
#/etc/yum.repos.d/cuda.repo [cuda] name=cuda ... exclude=xorg-x11-drv-nvidia\*,akmod-nvidia\*
NVIDIA provided libOpenCL
NVIDIA only advertise OpenCL 1.2 with the binary driver at this time. As a consequence, they provide an old version of libOpenCL.so.1 which works fine with their binary driver. As most software in Fedora and RPM Fusion are built using a newer libOpenCL, the system linker detects that and issues the following message:
/usr/local/cuda-9.0/targets/x86_64-linux/lib/libOpenCL.so.1: no version information available (required by ffmpeg)
You can either ignore the message or manually delete the libOpenCL.so.1 provided by NVIDIA (run sudo ldconfig once deleted). Please verify to not have other OpenCL providers that might interfere with NVIDIA OpenCL usage. (looking at /etc/OpenCL/vendors ).
Running blender
Even when only running blender, you need a CUDA compatible compiler as described above. This is because blender will compile a "CUDA Kernel" optimized for your own GPU. You can run blender with:
scl run devtoolset-6 blender
References
CUDA Start quide: https://developer.nvidia.com/compute/cuda/9.0/prod/docs/sidebar/CUDA_Quick_Start_Guide-pdf
CUDA documentation: https://docs.nvidia.com/cuda/index.html