Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Dernière révision Les deux révisions suivantes | ||
developpement:activites:integration:cuda4stretch [2016/08/01 16:14] equemene [Préparation du système] |
developpement:activites:integration:cuda4stretch [2016/08/29 14:54] equemene [Rétroportage du composants Python PyCUDA] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Rétroportage de pilote Nvidia & Cuda sur une Debian Stretch ====== | ====== Rétroportage de pilote Nvidia & Cuda sur une Debian Stretch ====== | ||
- | ===== Rétroportage de CUDA 6.5 sous Stretch ===== | + | ===== Rétroportage de CUDA sous Stretch ===== |
- | La Debian Stretch ne dispose que de la version 7.5 de CUDA et du pilote 352.79. Ces versions peuvent rapidement sembler insuffisantes pour ceux qui désirent utiliser les dernières fonctionnalités de CUDA 6 ou simplement utiliser les dernières cartes video Nvidia. | + | La Debian Stretch ne dispose que de la version 7.5 de CUDA et du pilote 364.19. Ces versions peuvent rapidement sembler insuffisantes pour ceux qui désirent utiliser les dernières fonctionnalités de CUDA 8 ou simplement utiliser les dernières cartes video Nvidia. |
- | Voici la méthode permettant d'installer à partir d'un rétro-portage les paquets Nvidia ainsi que tout l'environnement associé. Au 28 juin 2016, il est à nouveau possible de récupérer la version 355.11 se trouvant dans l'archive **experimental** : le module NVIDIA se construit correctement à l'installation par DKMS. L'environnement de développement, le 6.5.19, sera rétroporté directement de l'archive **experimental**. | + | Voici la méthode permettant d'installer à partir d'un rétro-portage les paquets Nvidia ainsi que tout l'environnement associé. Au 29 août 2016, il est possible de récupérer la version 367.44 indispensable pour les cartes GTX1080. 11 se trouvant dans l'archive **experimental** : le module NVIDIA se construit correctement à l'installation par DKMS. L'environnement de développement, le 6.5.19, sera rétroporté directement de l'archive **experimental**. |
<note warning>Pour une compilation dans SIDUS, ne pas oublier de monter le ''/proc''</note> | <note warning>Pour une compilation dans SIDUS, ne pas oublier de monter le ''/proc''</note> | ||
Ligne 19: | Ligne 19: | ||
==== Préparation du système ==== | ==== Préparation du système ==== | ||
- | Il est nécessaire d'insérer les sources des paquets sid et expérimentaux pour disposer de la dernière version de CUDA packagée (la 6.5.14). | + | Il est nécessaire d'insérer les sources des paquets sid et expérimentaux pour disposer de la dernière version de CUDA packagée. |
<code> | <code> | ||
Ligne 33: | Ligne 33: | ||
<code> | <code> | ||
- | mkdir -p /root/nvidia/debian | + | export NVIDIAROOT=/root/nvidia-$(date "+%Y%m%d") |
- | cd /root/nvidia | + | mkdir -p $NVIDIAROOT/debian |
+ | cd $NVIDIAROOT | ||
apt-get source glx-alternatives | apt-get source glx-alternatives | ||
apt-get build-dep glx-alternatives -y | apt-get build-dep glx-alternatives -y | ||
Ligne 55: | Ligne 56: | ||
<code> | <code> | ||
- | cd /root/nvidia | + | cd $NVIDIAROOT |
apt-get source -y nvidia-xconfig nvidia-support nvidia-modprobe libvdpau-dev | apt-get source -y nvidia-xconfig nvidia-support nvidia-modprobe libvdpau-dev | ||
apt-get build-dep -y libvdpau-dev | apt-get build-dep -y libvdpau-dev | ||
- | cd /root/nvidia/libvdpau-* | + | cd $NVIDIAROOT/libvdpau-* |
debuild | debuild | ||
cd .. | cd .. | ||
Ligne 69: | Ligne 70: | ||
<code> | <code> | ||
- | cd /root/nvidia/ | + | cd $NVIDIAROOT |
cd nvidia-graphics-drivers-* | cd nvidia-graphics-drivers-* | ||
debuild | debuild | ||
Ligne 79: | Ligne 80: | ||
Les paquets créés sont les suivants : | Les paquets créés sont les suivants : | ||
<code> | <code> | ||
- | libcuda1_355.11-4_amd64.deb | + | libcuda1_367.44-1_amd64.deb |
- | libegl1-glvnd-nvidia_355.11-4_amd64.deb | + | libegl1-glvnd-nvidia_367.44-1_amd64.deb |
- | libegl1-nvidia_355.11-4_amd64.deb | + | libegl1-nvidia_367.44-1_amd64.deb |
- | libegl-nvidia0_355.11-4_amd64.deb | + | libegl-nvidia0_367.44-1_amd64.deb |
- | libgl1-nvidia-glx_355.11-4_amd64.deb | + | libgl1-glvnd-nvidia-glx_367.44-1_amd64.deb |
- | libgldispatch0-nvidia_355.11-4_amd64.deb | + | libgl1-nvidia-glx_367.44-1_amd64.deb |
- | libgles1-nvidia_355.11-4_amd64.deb | + | libgldispatch0-nvidia_367.44-1_amd64.deb |
- | libgles2-nvidia_355.11-4_amd64.deb | + | libgles1-glvnd-nvidia_367.44-1_amd64.deb |
- | libnvcuvid1_355.11-4_amd64.deb | + | libgles1-nvidia_367.44-1_amd64.deb |
- | libnvidia-compiler_355.11-4_amd64.deb | + | libgles2-glvnd-nvidia_367.44-1_amd64.deb |
- | libnvidia-eglcore_355.11-4_amd64.deb | + | libgles2-nvidia_367.44-1_amd64.deb |
- | libnvidia-encode1_355.11-4_amd64.deb | + | libgles-nvidia1_367.44-1_amd64.deb |
- | libnvidia-fbc1_355.11-4_amd64.deb | + | libgles-nvidia2_367.44-1_amd64.deb |
- | libnvidia-ifr1_355.11-4_amd64.deb | + | libglx0-glvnd-nvidia_367.44-1_amd64.deb |
- | libnvidia-ml1_355.11-4_amd64.deb | + | libglx-nvidia0_367.44-1_amd64.deb |
- | libopengl0-nvidia_355.11-4_amd64.deb | + | libnvcuvid1_367.44-1_amd64.deb |
- | nvidia-alternative_355.11-4_amd64.deb | + | libnvidia-cfg1_367.44-1_amd64.deb |
- | nvidia-cuda-mps_355.11-4_amd64.deb | + | libnvidia-compiler_367.44-1_amd64.deb |
- | nvidia-detect_355.11-4_amd64.deb | + | libnvidia-eglcore_367.44-1_amd64.deb |
- | nvidia-driver_355.11-4_amd64.deb | + | libnvidia-egl-wayland_367.44-1_amd64.deb |
- | nvidia-driver-bin_355.11-4_amd64.deb | + | libnvidia-encode1_367.44-1_amd64.deb |
- | nvidia-driver-libs_355.11-4_amd64.deb | + | libnvidia-fatbinaryloader_367.44-1_amd64.deb |
- | nvidia-kernel-dkms_355.11-4_amd64.deb | + | libnvidia-fbc1_367.44-1_amd64.deb |
- | nvidia-kernel-source_355.11-4_amd64.deb | + | libnvidia-glcore_367.44-1_amd64.deb |
- | nvidia-kernel-support_355.11-4_amd64.deb | + | libnvidia-ifr1_367.44-1_amd64.deb |
- | nvidia-legacy-check_355.11-4_amd64.deb | + | libnvidia-ml1_367.44-1_amd64.deb |
- | nvidia-libopencl1_355.11-4_amd64.deb | + | libnvidia-ptxjitcompiler_367.44-1_amd64.deb |
- | nvidia-opencl-common_355.11-4_amd64.deb | + | libopengl0-glvnd-nvidia_367.44-1_amd64.deb |
- | nvidia-opencl-icd_355.11-4_amd64.deb | + | nvidia-alternative_367.44-1_amd64.deb |
- | nvidia-smi_355.11-4_amd64.deb | + | nvidia-cuda-mps_367.44-1_amd64.deb |
- | nvidia-vdpau-driver_355.11-4_amd64.deb | + | nvidia-detect_367.44-1_amd64.deb |
- | xserver-xorg-video-nvidia_355.11-4_amd64.deb | + | nvidia-driver_367.44-1_amd64.deb |
+ | nvidia-driver-bin_367.44-1_amd64.deb | ||
+ | nvidia-driver-libs_367.44-1_amd64.deb | ||
+ | nvidia-kernel-dkms_367.44-1_amd64.deb | ||
+ | nvidia-kernel-source_367.44-1_amd64.deb | ||
+ | nvidia-kernel-support_367.44-1_amd64.deb | ||
+ | nvidia-legacy-check_367.44-1_amd64.deb | ||
+ | nvidia-libopencl1_367.44-1_amd64.deb | ||
+ | nvidia-opencl-common_367.44-1_amd64.deb | ||
+ | nvidia-opencl-icd_367.44-1_amd64.deb | ||
+ | nvidia-smi_367.44-1_amd64.deb | ||
+ | nvidia-vdpau-driver_367.44-1_amd64.deb | ||
+ | nvidia-vulkan-common_367.44-1_amd64.deb | ||
+ | nvidia-vulkan-icd_367.44-1_amd64.deb | ||
+ | xserver-xorg-video-nvidia_367.44-1_amd64.deb | ||
</code> | </code> | ||
<code> | <code> | ||
- | cd /root/nvidia/nvidia-modprobe-*/ | + | cd $NVIDIAROOT/nvidia-modprobe-*/ |
debuild | debuild | ||
cd .. | cd .. | ||
Ligne 130: | Ligne 145: | ||
apt-get source -y nvidia-settings | apt-get source -y nvidia-settings | ||
apt-get build-dep -y nvidia-settings | apt-get build-dep -y nvidia-settings | ||
- | cd /root/nvidia/nvidia-settings-* | + | cd $NVIDIAROOT/nvidia-settings-* |
debuild | debuild | ||
cd .. | cd .. | ||
Ligne 140: | Ligne 155: | ||
<code> | <code> | ||
libxnvctrl0_346.59-1_amd64.deb | libxnvctrl0_346.59-1_amd64.deb | ||
+ | libxnvctrl0-dbgsym_346.59-1_amd64.deb | ||
libxnvctrl-dev_346.59-1_amd64.deb | libxnvctrl-dev_346.59-1_amd64.deb | ||
nvidia-settings_346.59-1_amd64.deb | nvidia-settings_346.59-1_amd64.deb | ||
+ | nvidia-settings-dbgsym_346.59-1_amd64.deb | ||
</code> | </code> | ||
<code> | <code> | ||
- | cd /root/nvidia/nvidia-xconfig-*/ | + | cd $NVIDIAROOT/nvidia-xconfig-*/ |
debuild | debuild | ||
cd .. | cd .. | ||
Ligne 154: | Ligne 171: | ||
Le paquet créé est le suivant : | Le paquet créé est le suivant : | ||
<code> | <code> | ||
- | libxnvctrl0_346.59-1_amd64.deb | + | nvidia-xconfig_352.79-1_amd64.deb |
- | libxnvctrl0-dbgsym_346.59-1_amd64.deb | + | nvidia-xconfig-dbgsym_352.79-1_amd64.deb |
- | libxnvctrl-dev_346.59-1_amd64.deb | + | |
- | nvidia-settings_346.59-1_amd64.deb | + | |
- | nvidia-settings-dbgsym_346.59-1_amd64.deb | + | |
</code> | </code> | ||
<code> | <code> | ||
- | cd /root/nvidia/nvidia-support-*/ | + | cd $NVIDIAROOT/nvidia-support-*/ |
debuild | debuild | ||
cd .. | cd .. | ||
Ligne 175: | Ligne 189: | ||
nvidia-support_20151021+4_amd64.deb | nvidia-support_20151021+4_amd64.deb | ||
</code> | </code> | ||
- | |||
==== Installation des composants Nvidia ==== | ==== Installation des composants Nvidia ==== | ||
<code> | <code> | ||
- | cd /root/nvidia/debian | + | cd $NVIDIAROOT/debian |
+ | rmmod nvidia_drm | ||
+ | rmmod nvidia_modeset | ||
rmmod nvidia | rmmod nvidia | ||
sync | sync | ||
Ligne 195: | Ligne 210: | ||
dpkg -i nvidia-alternative_*_amd64.deb | dpkg -i nvidia-alternative_*_amd64.deb | ||
+ | dpkg -i libnvidia-glcore_*_amd64.deb | ||
dpkg -i libgl1-nvidia-glx_*_amd64.deb | dpkg -i libgl1-nvidia-glx_*_amd64.deb | ||
Ligne 210: | Ligne 226: | ||
dpkg -i xserver-xorg-video-nvidia_* | dpkg -i xserver-xorg-video-nvidia_* | ||
- | dpkg -i nvidia-vdpau-driver_*_amd64.deb nvidia-driver_*_amd64.deb nvidia-driver-bin_*_amd64.deb | + | dpkg -i nvidia-vdpau-driver_*_amd64.deb nvidia-driver_*_amd64.deb nvidia-driver-libs_*_amd64.deb nvidia-driver-bin_*_amd64.deb |
ls *$(dpkg -l | grep nvidia-kernel-dkms | awk '{ print $3 }')*deb | grep -v ^lib | grep -v nvidia-kernel | grep -v libopencl | xargs -I '{}' dpkg -i '{}' | ls *$(dpkg -l | grep nvidia-kernel-dkms | awk '{ print $3 }')*deb | grep -v ^lib | grep -v nvidia-kernel | grep -v libopencl | xargs -I '{}' dpkg -i '{}' | ||
- | dpkg -i nvidia-driver-bin_*deb nvidia-driver_*deb nvidia-xconfig* nvidia-settings* libxnvctrl* nvidia-smi_* | + | dpkg -i nvidia-driver_*deb nvidia-xconfig* nvidia-settings* libxnvctrl* nvidia-smi_* |
apt-get -f install | apt-get -f install | ||
Ligne 223: | Ligne 239: | ||
<code> | <code> | ||
- | cd /root/nvidia | + | cd $NVIDIAROOT |
apt-get -y source nvidia-cuda-toolkit | apt-get -y source nvidia-cuda-toolkit | ||
apt-get -y build-dep nvidia-cuda-toolkit | apt-get -y build-dep nvidia-cuda-toolkit | ||
Ligne 235: | Ligne 251: | ||
Les paquets créés sont les suivants : | Les paquets créés sont les suivants : | ||
<code> | <code> | ||
- | libcublas7.0_7.0.28-4_amd64.deb | + | libcublas7.5_7.5.18-3_amd64.deb |
- | libcudart7.0_7.0.28-4_amd64.deb | + | libcudart7.5_7.5.18-3_amd64.deb |
- | libcufft7.0_7.0.28-4_amd64.deb | + | libcufft7.5_7.5.18-3_amd64.deb |
- | libcufftw7.0_7.0.28-4_amd64.deb | + | libcufftw7.5_7.5.18-3_amd64.deb |
- | libcuinj64-7.0_7.0.28-4_amd64.deb | + | libcuinj64-7.5_7.5.18-3_amd64.deb |
- | libcupti7.0_7.0.28-4_amd64.deb | + | libcupti7.5_7.5.18-3_amd64.deb |
- | libcupti-dev_7.0.28-4_amd64.deb | + | libcupti-dev_7.5.18-3_amd64.deb |
- | libcupti-doc_7.0.28-4_all.deb | + | libcupti-doc_7.5.18-3_all.deb |
- | libcurand7.0_7.0.28-4_amd64.deb | + | libcurand7.5_7.5.18-3_amd64.deb |
- | libcusolver7.0_7.0.28-4_amd64.deb | + | libcusolver7.5_7.5.18-3_amd64.deb |
- | libcusparse7.0_7.0.28-4_amd64.deb | + | libcusparse7.5_7.5.18-3_amd64.deb |
- | libnppc7.0_7.0.28-4_amd64.deb | + | libnppc7.5_7.5.18-3_amd64.deb |
- | libnppi7.0_7.0.28-4_amd64.deb | + | libnppi7.5_7.5.18-3_amd64.deb |
- | libnpps7.0_7.0.28-4_amd64.deb | + | libnpps7.5_7.5.18-3_amd64.deb |
- | libnvblas7.0_7.0.28-4_amd64.deb | + | libnvblas7.5_7.5.18-3_amd64.deb |
- | libnvrtc7.0_7.0.28-4_amd64.deb | + | libnvrtc7.5_7.5.18-3_amd64.deb |
- | libnvtoolsext1_7.0.28-4_amd64.deb | + | libnvtoolsext1_7.5.18-3_amd64.deb |
- | libnvvm3_7.0.28-4_amd64.deb | + | libnvvm3_7.5.18-3_amd64.deb |
- | nvidia-cuda-dev_7.0.28-4_amd64.deb | + | nvidia-cuda-dev_7.5.18-3_amd64.deb |
- | nvidia-cuda-doc_7.0.28-4_all.deb | + | nvidia-cuda-doc_7.5.18-3_all.deb |
- | nvidia-cuda-gdb_7.0.28-4_amd64.deb | + | nvidia-cuda-gdb_7.5.18-3_amd64.deb |
- | nvidia-cuda-toolkit_7.0.28-4_amd64.deb | + | nvidia-cuda-toolkit_7.5.18-3_amd64.deb |
- | nvidia-nsight_7.0.28-4_amd64.deb | + | nvidia-nsight_7.5.18-3_amd64.deb |
- | nvidia-opencl-dev_7.0.28-4_amd64.deb | + | nvidia-opencl-dev_7.5.18-3_amd64.deb |
- | nvidia-profiler_7.0.28-4_amd64.deb | + | nvidia-profiler_7.5.18-3_amd64.deb |
- | nvidia-visual-profiler_7.0.28-4_amd64.deb | + | nvidia-visual-profiler_7.5.18-3_amd64.deb |
</code> | </code> | ||
Ligne 268: | Ligne 284: | ||
apt-get install -y opencl-headers ocl-icd-opencl-dev | apt-get install -y opencl-headers ocl-icd-opencl-dev | ||
cd /root/nvidia/debian | cd /root/nvidia/debian | ||
- | ls *7.0.28*deb | grep -v opencl | xargs -I '{}' dpkg -i '{}' | + | ls *7.5.18*deb | grep -v opencl | xargs -I '{}' dpkg -i '{}' |
# Il arrive que l'installeur rale sur nvidia-cuda-toolkit. Si c'est le cas, la commande suivante s'impose | # Il arrive que l'installeur rale sur nvidia-cuda-toolkit. Si c'est le cas, la commande suivante s'impose | ||
apt-get -f install | apt-get -f install | ||
Ligne 276: | Ligne 292: | ||
<code> | <code> | ||
- | cd /root/nvidia | + | cd $NVIDIAROOT |
- | apt-get -y build-dep pycuda | + | apt-get -y build-dep pyopencl |
apt-get -y install python-setuptools python3-setuptools | apt-get -y install python-setuptools python3-setuptools | ||
- | wget http://snapshot.debian.org/archive/debian/20150617T043723Z/pool/main/p/pyopencl/pyopencl_2015.1-2.debian.tar.xz | + | apt-get source pyopencl |
- | wget http://snapshot.debian.org/archive/debian/20150617T043723Z/pool/main/p/pyopencl/pyopencl_2015.1-2.dsc | + | |
- | wget http://snapshot.debian.org/archive/debian/20150610T042543Z/pool/main/p/pyopencl/pyopencl_2015.1.orig.tar.xz | + | |
- | tar Jxf pyopencl_2015.1.orig.tar.xz | + | |
cd pyopencl-*/ | cd pyopencl-*/ | ||
- | tar Jxf ../pyopencl_2015.1-2.debian.tar.xz | ||
debuild | debuild | ||
cd .. | cd .. | ||
Ligne 293: | Ligne 305: | ||
Les paquets créés sont les suivants : | Les paquets créés sont les suivants : | ||
<code> | <code> | ||
- | python3-pyopencl_2015.1-2_amd64.deb | + | python3-pyopencl_2015.2.4-1_amd64.deb |
- | python3-pyopencl-dbg_2015.1-2_amd64.deb | + | python3-pyopencl-dbg_2015.2.4-1_amd64.deb |
- | python-pyopencl_2015.1-2_amd64.deb | + | python-pyopencl_2015.2.4-1_amd64.deb |
- | python-pyopencl-dbg_2015.1-2_amd64.deb | + | python-pyopencl-dbg_2015.2.4-1_amd64.deb |
- | python-pyopencl-doc_2015.1-2_all.deb | + | python-pyopencl-doc_2015.2.4-1_all.deb |
</code> | </code> | ||
Ligne 308: | Ligne 320: | ||
</code> | </code> | ||
- | Il n'est pas possible de rétroporter la dernière version de pycuda en Jessie à cause des dépendances entre PyCUDA et d'autres librairies récentes n'acceptant pas le rétroportage. | + | Il n'est nécessaire de rétroporter la version la plus récente de pycuda, étant dans la même version. |
- | <code> | ||
- | cd /root/nvidia | ||
- | apt-get -y build-dep pycuda | ||
- | apt-get -y install python-setuptools python3-setuptools | ||
- | wget http://snapshot.debian.org/archive/debian/20150710T034220Z/pool/contrib/p/pycuda/pycuda_2015.1.2-1.debian.tar.xz | ||
- | wget http://snapshot.debian.org/archive/debian/20150710T034220Z/pool/contrib/p/pycuda/pycuda_2015.1.2-1.dsc | ||
- | wget http://snapshot.debian.org/archive/debian/20150710T034220Z/pool/contrib/p/pycuda/pycuda_2015.1.2.orig.tar.xz | ||
- | tar Jxf pycuda_2015.1.2.orig.tar.xz | ||
- | cd pycuda-*/ | ||
- | tar Jxf ../pycuda_2015.1.2-1.debian.tar.xz | ||
- | debuild | ||
- | cd .. | ||
- | ls -1 *.deb | ||
- | mv *.deb debian | ||
- | </code> | ||
- | |||
- | <code> | ||
- | python3-pycuda_2015.1.2-1_amd64.deb | ||
- | python3-pycuda-dbg_2015.1.2-1_amd64.deb | ||
- | python-pycuda_2015.1.2-1_amd64.deb | ||
- | python-pycuda-dbg_2015.1.2-1_amd64.deb | ||
- | python-pycuda-doc_2015.1.2-1_all.deb | ||
- | </code> | ||
==== Installation des composants Python ==== | ==== Installation des composants Python ==== |