Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
developpement:activites:integration:cuda4wheezy [2014/10/04 11:35]
equemene [Préparation du système]
developpement:activites:integration:cuda4wheezy [2015/01/07 10:04] (Version actuelle)
Ligne 1: Ligne 1:
 ====== Utilisation des librairies Cuda sur une Debian Wheezy ====== ====== Utilisation des librairies Cuda sur une Debian Wheezy ======
  
-<note important>​Au 25 mai 2014, Debian a corrigé l'​implémentation OpenCL dans sa version 331.79 des pilotes.</​note>​ 
  
-===== Rétroportage de CUDA 5.sous Wheezy =====+===== Rétroportage de CUDA 6.sous Wheezy =====
  
 La Debian Wheezy ne dispose que de la version 4.2.9 de CUDA et du pilote 304.88. Ces versions peuvent rapidement sembler insuffisantes pour ceux qui désirent utiliser les dernières fonctionnalités de CUDA 5 ou simplement utiliser les dernières cartes video Nvidia. La Debian Wheezy ne dispose que de la version 4.2.9 de CUDA et du pilote 304.88. Ces versions peuvent rapidement sembler insuffisantes pour ceux qui désirent utiliser les dernières fonctionnalités de CUDA 5 ou simplement utiliser les dernières cartes video Nvidia.
  
-La Debian Wheezy dispose de ses propres paquets rétroportés mais, même s'ils sont plus récents, ils ne proposent que les versions 5.0.35 de CUDA et 3.19.72 du pilote. L'​exploitation des dernières cartes peut donc poser problème, même dans ces versions.+La Debian Wheezy dispose de ses propres paquets rétroportés mais, même s'ils sont plus récents, ils ne proposent que les versions 5.5.22 de CUDA et 3.19.82 du pilote. L'​exploitation des dernières cartes peut donc poser problème, même dans ces versions.
  
-Voici la méthode permettant d'​installer à partir d'un rétro-portage les paquets Nvidia ainsi que tout l'​environnement associé.+Voici la méthode permettant d'​installer à partir d'un rétro-portage les paquets Nvidia ainsi que tout l'​environnement associé. Au 26 novembre, cela installe le pilote 343.22 et l'​environnement de développement 6.0.37.
  
 <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 21: Ligne 20:
 ==== 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 5.5.22) et du dernier pilote Nvidia qui fonctionne (le 331.49).+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.0.37) et du dernier pilote Nvidia qui fonctionne (le 343.22).
  
 <​code>​ <​code>​
-apt-get install -y pbuilder pciutils debhelper quilt+apt-get install -y pbuilder pciutils debhelper quilt libgtk2.0-dev libjansson-dev libvdpau-dev libxv-dev libxxf86vm-dev
  
 [ $(grep wheezy /​etc/​apt/​sources.list | grep deb-src | wc -l) -gt 0 ] && echo "​Already present"​ || echo "​deb-src http://​ftp.fr.debian.org/​debian/​ sid main contrib non-free"​ >> /​etc/​apt/​sources.list [ $(grep wheezy /​etc/​apt/​sources.list | grep deb-src | wc -l) -gt 0 ] && echo "​Already present"​ || echo "​deb-src http://​ftp.fr.debian.org/​debian/​ sid main contrib non-free"​ >> /​etc/​apt/​sources.list
Ligne 38: Ligne 37:
 cd /​root/​nvidia cd /​root/​nvidia
 apt-get source glx-alternatives apt-get source glx-alternatives
-apt-get build-dep glx-alternatives+apt-get build-dep glx-alternatives ​-y
 cd glx-alternatives-* cd glx-alternatives-*
 debuild debuild
Ligne 48: Ligne 47:
 Les paquets créés sont les suivants : Les paquets créés sont les suivants :
 <​code>​ <​code>​
-glx-alternative-fglrx_0.4.1_amd64.deb +glx-alternative-fglrx_0.5.1_amd64.deb 
-glx-alternative-mesa_0.4.1_amd64.deb +glx-alternative-mesa_0.5.1_amd64.deb 
-glx-alternative-nvidia_0.4.1_amd64.deb +glx-alternative-nvidia_0.5.1_amd64.deb 
-glx-diversions_0.4.1_amd64.deb+glx-diversions_0.5.1_amd64.deb
 </​code>​ </​code>​
  
Ligne 58: Ligne 57:
 <​code>​ <​code>​
 cd /​root/​nvidia cd /​root/​nvidia
-apt-get source nvidia-xconfig nvidia-settings nvidia-support nvidia-modprobe nvidia-graphics-drivers=331.79-1 +apt-get source nvidia-xconfig nvidia-settings nvidia-support nvidia-modprobe nvidia-graphics-drivers  
-apt-get -y build-dep nvidia-xconfig nvidia-settings nvidia-graphics-drivers ​ nvidia-support nvidia-modprobe nvidia-graphics-drivers=331.79-1+apt-get -y build-dep nvidia-xconfig nvidia-settings nvidia-graphics-drivers ​ nvidia-support nvidia-modprobe nvidia-graphics-drivers
 </​code>​ </​code>​
  
 <​code>​ <​code>​
 cd /​root/​nvidia/​ cd /​root/​nvidia/​
-apt-get source nvidia-graphics-drivers=331.79-1 +cd nvidia-graphics-drivers-*
-cd nvidia-graphics-drivers-331.79+
 debuild debuild
 cd .. cd ..
Ligne 74: Ligne 72:
 Les paquets créés sont les suivants :  Les paquets créés sont les suivants : 
 <​code>​ <​code>​
-libcuda1_331.79-1_amd64.deb +libcuda1_343.22-2_amd64.deb 
-libgl1-nvidia-glx_331.79-1_amd64.deb +libegl1-nvidia_343.22-2_amd64.deb 
-libnvcuvid1_331.79-1_amd64.deb +libgl1-nvidia-glx_343.22-2_amd64.deb 
-libnvidia-compiler_331.79-1_amd64.deb +libgles1-nvidia_343.22-2_amd64.deb 
-libnvidia-encode1_331.79-1_amd64.deb +libgles2-nvidia_343.22-2_amd64.deb 
-libnvidia-fbc1_331.79-1_amd64.deb +libnvcuvid1_343.22-2_amd64.deb 
-libnvidia-ifr1_331.79-1_amd64.deb +libnvidia-compiler_343.22-2_amd64.deb 
-libnvidia-ml1_331.79-1_amd64.deb +libnvidia-eglcore_343.22-2_amd64.deb 
-nvidia-alternative_331.79-1_amd64.deb +libnvidia-encode1_343.22-2_amd64.deb 
-nvidia-cuda-mps_331.79-1_amd64.deb +libnvidia-fbc1_343.22-2_amd64.deb 
-nvidia-detect_331.79-1_amd64.deb +libnvidia-ifr1_343.22-2_amd64.deb 
-nvidia-driver_331.79-1_amd64.deb +libnvidia-ml1_343.22-2_amd64.deb 
-nvidia-glx_331.79-1_amd64.deb +nvidia-alternative_343.22-2_amd64.deb 
-nvidia-kernel-dkms_331.79-1_amd64.deb +nvidia-cuda-mps_343.22-2_amd64.deb 
-nvidia-kernel-source_331.79-1_amd64.deb +nvidia-detect_343.22-2_amd64.deb 
-nvidia-libopencl1_331.79-1_amd64.deb +nvidia-driver-bin_343.22-2_amd64.deb 
-nvidia-opencl-common_331.79-1_amd64.deb +nvidia-driver_343.22-2_amd64.deb 
-nvidia-opencl-icd_331.79-1_amd64.deb +nvidia-glx_343.22-2_amd64.deb 
-nvidia-smi_331.79-1_amd64.deb +nvidia-kernel-dkms_343.22-2_amd64.deb 
-nvidia-vdpau-driver_331.79-1_amd64.deb +nvidia-kernel-source_343.22-2_amd64.deb 
-xserver-xorg-video-nvidia_331.79-1_amd64.deb+nvidia-libopencl1_343.22-2_amd64.deb 
 +nvidia-opencl-common_343.22-2_amd64.deb 
 +nvidia-opencl-icd_343.22-2_amd64.deb 
 +nvidia-smi_343.22-2_amd64.deb 
 +nvidia-vdpau-driver_343.22-2_amd64.deb 
 +xserver-xorg-video-nvidia_343.22-2_amd64.deb
 </​code>​ </​code>​
  
Ligne 107: Ligne 110:
 Les paquets créés sont les suivants :  Les paquets créés sont les suivants : 
 <​code>​ <​code>​
-nvidia-modprobe_334.16-1_amd64.deb+nvidia-modprobe_340.46-1_amd64.deb
 </​code>​ </​code>​
  
Ligne 120: Ligne 123:
 Les paquets créés sont les suivants :  Les paquets créés sont les suivants : 
 <​code>​ <​code>​
-libxnvctrl0_331.67-1_amd64.deb +libxnvctrl-dev_343.22-1_amd64.deb 
-libxnvctrl-dev_331.67-1_amd64.deb +libxnvctrl0_343.22-1_amd64.deb 
-nvidia-settings_331.67-1_amd64.deb+nvidia-settings_343.22-1_amd64.deb
 </​code>​ </​code>​
  
Ligne 135: Ligne 138:
 Le paquet créé est le suivant :  Le paquet créé est le suivant : 
 <​code>​ <​code>​
-nvidia-xconfig_331.67-1_amd64.deb+nvidia-xconfig_340.46-1_amd64.deb
 </​code>​ </​code>​
  
Ligne 180: Ligne 183:
 dpkg -i nvidia-kernel-dkms_*_amd64.deb dpkg -i nvidia-kernel-dkms_*_amd64.deb
  
-ls -1 lib*331.79* lib*334.16* | xargs -I '​{}'​ dpkg -i '​{}'​+ls -1 lib*343.22*deb | xargs -I '​{}'​ dpkg -i '​{}'​
  
 apt-get -f install apt-get -f install
Ligne 188: Ligne 191:
 dpkg -i nvidia-vdpau-driver_*_amd64.deb nvidia-driver_*_amd64.deb dpkg -i nvidia-vdpau-driver_*_amd64.deb nvidia-driver_*_amd64.deb
  
-ls *331.79* *334.16*  | grep -v ^lib | grep -v nvidia-kernel | grep -v libopencl | xargs -I '​{}'​ dpkg -i '​{}'​+ls *343.22*deb  | grep -v ^lib | grep -v nvidia-kernel | grep -v libopencl | xargs -I '​{}'​ dpkg -i '​{}'​
  
 dpkg -i nvidia-xconfig* nvidia-settings* libxnvctrl* dpkg -i nvidia-xconfig* nvidia-settings* libxnvctrl*
Ligne 202: Ligne 205:
 apt-get source nvidia-cuda-toolkit apt-get source nvidia-cuda-toolkit
 apt-get -y build-dep nvidia-cuda-toolkit apt-get -y build-dep nvidia-cuda-toolkit
-cd nvidia-cuda-toolkit-5.5.22+cd nvidia-cuda-toolkit-*
 debuild debuild
 cd .. cd ..
Ligne 211: Ligne 214:
 Les paquets créés sont les suivants :  Les paquets créés sont les suivants : 
 <​code>​ <​code>​
-libcublas5.5_5.5.22-4_amd64.deb +libcublas6.0_6.0.37-5_amd64.deb 
-libcudart5.5_5.5.22-4_amd64.deb +libcudart6.0_6.0.37-5_amd64.deb 
-libcufft5.5_5.5.22-4_amd64.deb +libcufft6.0_6.0.37-5_amd64.deb 
-libcufftw5.5_5.5.22-4_amd64.deb +libcufftw6.0_6.0.37-5_amd64.deb 
-libcuinj64-5.5_5.5.22-4_amd64.deb +libcuinj64-6.0_6.0.37-5_amd64.deb 
-libcupti5.5_5.5.22-4_amd64.deb +libcupti-dev_6.0.37-5_amd64.deb 
-libcupti-dev_5.5.22-4_amd64.deb +libcupti-doc_6.0.37-5_all.deb 
-libcupti-doc_5.5.22-4_all.deb +libcupti6.0_6.0.37-5_amd64.deb 
-libcurand5.5_5.5.22-4_amd64.deb +libcurand6.0_6.0.37-5_amd64.deb 
-libcusparse5.5_5.5.22-4_amd64.deb +libcusparse6.0_6.0.37-5_amd64.deb 
-libnppc5.5_5.5.22-4_amd64.deb +libnppc6.0_6.0.37-5_amd64.deb 
-libnppi5.5_5.5.22-4_amd64.deb +libnppi6.0_6.0.37-5_amd64.deb 
-libnpps5.5_5.5.22-4_amd64.deb +libnpps6.0_6.0.37-5_amd64.deb 
-libnvtoolsext1_5.5.22-4_amd64.deb +libnvblas6.0_6.0.37-5_amd64.deb 
-libnvvm2_5.5.22-4_amd64.deb +libnvtoolsext1_6.0.37-5_amd64.deb 
-nvidia-cuda-dev_5.5.22-4_amd64.deb +libnvvm2_6.0.37-5_amd64.deb 
-nvidia-cuda-doc_5.5.22-4_all.deb +nvidia-cuda-dev_6.0.37-5_amd64.deb 
-nvidia-cuda-gdb_5.5.22-4_amd64.deb +nvidia-cuda-doc_6.0.37-5_all.deb 
-nvidia-cuda-toolkit_5.5.22-4_amd64.deb +nvidia-cuda-gdb_6.0.37-5_amd64.deb 
-nvidia-nsight_5.5.22-4_amd64.deb +nvidia-cuda-toolkit_6.0.37-5_amd64.deb 
-nvidia-opencl-dev_5.5.22-4_amd64.deb +nvidia-nsight_6.0.37-5_amd64.deb 
-nvidia-profiler_5.5.22-4_amd64.deb +nvidia-opencl-dev_6.0.37-5_amd64.deb 
-nvidia-visual-profiler_5.5.22-4_amd64.deb +nvidia-profiler_6.0.37-5_amd64.deb 
 +nvidia-visual-profiler_6.0.37-5_amd64.deb
 </​code>​ </​code>​
  
Ligne 240: Ligne 243:
  
 <​code>​ <​code>​
-apt-get install -y opencl-headers ocl-icd-opencl-dev g++-4.6 libthrust-dev libstdc++6-4.6-dev+apt-get install -y opencl-headers ocl-icd-opencl-dev g++-4.6 ​openjdk-6-jdk ​libthrust-dev libstdc++6-4.6-dev
 cd /​root/​nvidia/​debian cd /​root/​nvidia/​debian
-ls *5.5.22* | grep -v opencl | xargs -I '​{}'​ dpkg -i '​{}'​+ls *6.0.37*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 249: Ligne 252:
 ==== Rétroportage du composant Python PyOpenCL ==== ==== Rétroportage du composant Python PyOpenCL ====
  
-La dépendance sur une version plus récente de PyTools impose le rétroportage de cette dernière.+La dépendance sur une version plus récente de PyTools impose le rétroportage ​à partir ​de la dernière ​version qui se rétroporte correctement.
  
 <​code>​ <​code>​
 cd /​root/​nvidia cd /​root/​nvidia
-apt-get source python-pytools +wget http://​snapshot.debian.org/​archive/​debian/​20140824T220017Z/​pool/​main/​p/​pytools/​pytools_2014.3-1.debian.tar.xz 
-apt-get -y build-dep python-pytools +wget http://​snapshot.debian.org/​archive/​debian/​20140824T220017Z/​pool/​main/​p/​pytools/​pytools_2014.3-1.dsc 
-cd /root/nvidia/pytools-*/+wget http://snapshot.debian.org/​archive/​debian/​20140824T220017Z/​pool/​main/​p/pytools/​pytools_2014.3.orig.tar.gz 
 +tar xzf pytools_2014.3.orig.tar.gz 
 +cd pytools-2014.3 
 +tar Jxf ../pytools_2014.3-1.debian.tar.xz
 debuild debuild
 cd .. cd ..
Ligne 263: Ligne 269:
  
 <​code>​ <​code>​
-python-pytools_2014.2.1-1_all.deb +python3-pytools_2014.3-1_all.deb 
-python3-pytools_2014.2.1-1_all.deb+python-pytools_2014.3-1_all.deb
 </​code>​ </​code>​
  
Ligne 272: Ligne 278:
 </​code>​ </​code>​
  
 +
 +La Debian Wheezy devient trop ancienne pour rétroporter le dernier paquet Debian. Voici la plus récente qui se compile correctement pour la Wheezy.
 <​code>​ <​code>​
 cd /​root/​nvidia cd /​root/​nvidia
-apt-cache showsrc pyopencl | grep ^Version: | head -1 | awk '{ print $2 }' | xargs -I '​{}'​ apt-get source pyopencl='​{}'​ +apt-get -y build-dep ​python-pyopencl 
-apt-get -y build-dep pyopencl +wget http://snapshot.debian.org/​archive/​debian/​20131129T144754Z/​pool/​contrib/​p/pyopencl/​pyopencl_2013.2-1.debian.tar.gz 
-cd /root/nvidia/pyopencl-*/+wget http://​snapshot.debian.org/​archive/​debian/​20131129T144754Z/​pool/​contrib/​p/​pyopencl/​pyopencl_2013.2-1.dsc 
 +wget http://​snapshot.debian.org/​archive/​debian/​20131129T144754Z/​pool/​contrib/​p/​pyopencl/​pyopencl_2013.2.orig.tar.gz 
 +tar xzf pyopencl_2013.2.orig.tar.gz  
 +cd pyopencl-2013.2/​ 
 +tar xzf ../​pyopencl_2013.2-1.debian.tar.gz ​
 debuild debuild
 cd .. cd ..
Ligne 285: Ligne 297:
 Les paquets créés sont les suivants :  Les paquets créés sont les suivants : 
 <​code>​ <​code>​
-python3-pyopencl_2012.1.dfsg-1_amd64.deb +python-pyopencl-dbg_2013.2-1_amd64.deb 
-python-pyopencl_2012.1.dfsg-1_amd64.deb +python-pyopencl-doc_2013.2-1_all.deb 
-python-pyopencl-doc_2012.1.dfsg-1_all.deb +python-pyopencl_2013.2-1_amd64.deb 
-python-pyopencl-headers_2012.1.dfsg-1_all.deb+python3-pyopencl-dbg_2013.2-1_amd64.deb 
 +python3-pyopencl_2013.2-1_amd64.deb
 </​code>​ </​code>​
  
Ligne 297: Ligne 310:
 cd /​root/​nvidia/​debian cd /​root/​nvidia/​debian
 dpkg -i nvidia-opencl-common_*_amd64.deb nvidia-opencl-icd_*_amd64.deb dpkg -i nvidia-opencl-common_*_amd64.deb nvidia-opencl-icd_*_amd64.deb
-</​code>​ 
- 
-<​code>​ 
-cd /​root/​nvidia/​debian 
-apt-get purge -y ocl-icd-libopencl1 amd-libopencl1:​amd64 
-dpkg -i nvidia-libopencl1_*_amd64.deb 
-dpkg -i --force-all $(ls *5.5.22-*.deb) ​ 
 </​code>​ </​code>​
  
Ligne 310: Ligne 316:
 <​code>​ <​code>​
 cd /​root/​nvidia cd /​root/​nvidia
-apt-cache showsrc pycuda | grep ^Version: | head -1 | awk '{ print $2 }' | xargs -I '​{}'​ apt-get source pycuda='​{}'​ 
 apt-get -y build-dep pycuda apt-get -y build-dep pycuda
-cd /root/nvidia/pycuda-*/+wget http://snapshot.debian.org/​archive/​debian/​20131129T144754Z/​pool/​contrib/​p/pycuda/​pycuda_2013.1.1%2Bgit20131128-1.debian.tar.gz 
 +wget http://​snapshot.debian.org/​archive/​debian/​20131129T144754Z/​pool/​contrib/​p/​pycuda/​pycuda_2013.1.1%2Bgit20131128-1.dsc 
 +wget http://​snapshot.debian.org/​archive/​debian/​20131129T144754Z/​pool/​contrib/​p/​pycuda/​pycuda_2013.1.1%2Bgit20131128.orig.tar.gz 
 +tar xzf pycuda_2013.1.1+git20131128.orig.tar.gz  
 +cd pycuda-2013.1.1+git20131128/​ 
 +tar xzf ../​pycuda_2013.1.1+git20131128-1.debian.tar.gz
 debuild debuild
 cd .. cd ..
Ligne 320: Ligne 330:
  
 <​code>​ <​code>​
-python-pycuda_2012.1-1_amd64.deb +python3-pycuda_2013.1.1+git20131128-1_amd64.deb 
-python-pycuda-doc_2012.1-1_all.deb +python3-pycuda-dbg_2013.1.1+git20131128-1_amd64.deb 
-python-pycuda-headers_2012.1-1_all.deb+python-pycuda_2013.1.1+git20131128-1_amd64.deb 
 +python-pycuda-dbg_2013.1.1+git20131128-1_amd64.deb 
 +python-pycuda-doc_2013.1.1+git20131128-1_all.deb
 </​code>​ </​code>​
  
Ligne 333: Ligne 345:
 apt-get install -y amd-opencl-icd amd-clinfo apt-get install -y amd-opencl-icd amd-clinfo
 # Les paquets icd standard ocl-icd-opencl-dev ocl-icd-libopencl1 # Les paquets icd standard ocl-icd-opencl-dev ocl-icd-libopencl1
-dpkg -i python-pyopencl*.deb+dpkg -i python-pyopencl*.deb ​ python3-pyopencl*.deb
 </​code>​ </​code>​
  
 <​code>​ <​code>​
 cd /​root/​nvidia/​debian cd /​root/​nvidia/​debian
-dpkg -i python-pycuda*deb+apt-get install python-pytest python3-pytest  
 +dpkg -i python-pycuda*deb python3-pycuda*deb
 </​code>​ </​code>​
  
Ligne 344: Ligne 357:
  
 <​code> ​ <​code> ​
-python /​usr/​share/​doc/​python-pyopencl-doc/​examples/​benchmark-all.py +python /​usr/​share/​doc/​python-pyopencl-doc/​examples/​benchmark.py ​
 </​code>​ </​code>​
  
developpement/activites/integration/cuda4wheezy.1412415339.txt.gz · Dernière modification: 2015/01/07 10:04 (modification externe)