{{tag>Drivers Matériel Privateur}}
= Install drivers graphique propriétaire Nvidia CUDA
**Procédure d'installation de [[https://www.gnu.org/proprietary/proprietary.fr.html|logicielle privateur]]**
Voir :
* https://wiki.debian.org/fr/NvidiaGraphicsDrivers
* http://developer.download.nvidia.com/compute/cuda/6_5/rel/docs/CUDA_Getting_Started_Linux.pdf
* [[https://gist.github.com/wangruohui/bc7b9f424e3d5deb0c0b8bba990b1bc5|Intel for display, NVIDIA for computing]]
Voir aussi :
* [[https://www.easy-tensorflow.com|Easy TensorFlow]]
* [[https://developer.nvidia.com/cudnn|NVIDIA CUDA® Deep Neural Network library (cuDNN)]]
* [[https://devblogs.nvidia.com/parallelforall/increase-performance-gpu-boost-k80-autoboost/|GPU Boost]]
Pour CUDA voir OpenCL
== glxinfo
glxinfo
Les lignes intéressantes du glxinfo sont:
direct rendering: Yes
OpenGL vendor string: nouveau
== Install Drivers + CUDA8 sur Debian Jessie (Debian 8)
Install des dépendances
apt-get update
apt-get install build-essential binutils g++ mpich2 libxmu-dev libxi-dev linux-headers-$(uname -r)
Install de Cuda
cp *.run /root/
cd /root/
./cuda_8.0.44_linux.run
export PATH=$PATH:/usr/local/cuda/bin/
echo "export PATH=$PATH:/usr/local/cuda/bin" >> ~/.bashrc
#export LD_LIBRARY_PATH=/usr/local/cuda/lib64/:$LD_LIBRARY_PATH
echo "/usr/local/cuda/lib64" > /etc/ld.so.conf.d/cuda.conf
ldconfig
Redémarrage, car le drivers Libre est encore chargé
lsmod |grep nouveau
reboot
Le driver Libre **nouveau** n'est plus chargé
lsmod |grep nouveau
Grâce à ''/etc/modprobe.d/nvidia-installer-disable-nouveau.conf''
''/etc/modprobe.d/nvidia-installer-disable-nouveau.conf''
# generated by nvidia-installer
blacklist nouveau
options nouveau modeset=0
sudo update-initramfs -u
Install des derniers drivers
systemctl stop gdm
./NVIDIA-Linux-x86_64-375.20.run
On redémarre
reboot
== Install de Cuda Docker
l faut désinstaller tous les paquets Debian cuda et nvidia :
#apt-get purge $(dpkg -l |egrep 'cuda|nvidia' |grep ^ii |awk '{print $2}')
apt purge 'nvidia-*'
Install de CUDA
./cuda_9.2.88_396.26_linux.run
./cuda_9.2.88.1_linux.run # Patch nvidia
echo 'export PATH=$PATH:/usr/local/cuda/bin' |sudo tee /etc/profile.d/cuda.sh
echo "/usr/local/cuda/lib64" |sudo tee /etc/ld.so.conf.d/cuda.conf
sudo ldconfig
''/etc/apt/sources.list.d/nvidia-docker.list''
deb https://nvidia.github.io/libnvidia-container/debian9/$(ARCH) /
deb https://nvidia.github.io/nvidia-container-runtime/debian9/$(ARCH) /
deb https://nvidia.github.io/nvidia-docker/debian9/$(ARCH) /
Installer nvidia-docker2
sudo apt-get update
sudo apt-get install nvidia-docker2
nvidia-docker run -it -p 8888:8888 tensorflow/tensorflow:latest-gpu
== Vérif
On vérif que le driver en chargé
lsmod |grep nvidia
nvidia-smi && echo OK
nvidia-smi topo -m
nvcc --version
sudo apt-get install clinfo
clinfo
sudo apt-get install pyrit
pyrit list_cores
cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module 375.20 Tue Nov 15 16:49:10 PST 2016
GCC version: gcc version 4.9.2 (Debian 4.9.2-10)
En root
cd /usr/local/cuda/samples/1_Utilities/deviceQuery
make
./deviceQuery
cd /usr/local/cuda/samples/1_Utilities/bandwidthTest
make
/usr/local/cuda/samples/bin/x86_64/linux/release/bandwidthTest
== cudnn
=== Install
Voir :
* https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html
* https://www.easy-tensorflow.com/tf-tutorials/install/cuda-cudnn
Unzip the cuDNN package.
tar -xzvf cudnn-10.2-linux-x64-v7.6.5.32.tgz
Copy the following files into the CUDA Toolkit directory, and change the file permissions.
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
Needed ?
sudo apt-get install libcupti-dev
ou
# the runtime library
sudo dpkg -i libcudnn7_7.0.5.15–1+cuda9.0_amd64.deb
# the developer library
sudo dpkg -i libcudnn7-dev_7.0.5.15–1+cuda9.0_amd64.deb
# the code samples
sudo dpkg -i libcudnn7-doc_7.0.5.15–1+cuda9.0_amd64.deb
==== Autres
''~/.bashrc''
# put the following line in the end or your .bashrc file
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/extras/CUPTI/lib64"
sudo ldconfig
=== Test
Voir : http://www.robot.t.u-tokyo.ac.jp/~miyagusuku/deeplearning,/install/2018/10/01/dlbox_install.html
cp -r /usr/src/cudnn_samples_v7/ ~
cd ~/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN
== Autres
cd /usr/local/cuda/samples/5_Simulations/nbody
make
GLPATH=/usr/lib make
GLPATH=/usr/lib/x86_64-linux-gnu make
./nbody -benchmark -numbodies=256000 -device=0
apt-get install gcc g++ gcc-4.8 g++-4.8 gcc-4.9 g++-4.9 libxi6 libxi-dev libglu1-mesa libglu1-mesa-dev libxmu6 linux-headers-amd64 linux-source freeglut3-dev
Voir https://andrewbolster.info/2016/04/fixcuda-on-debian-jessie