Différences

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

Lien vers cette vue comparative

developpement:activites:integration:stream4wheezy [2014/02/24 15:41]
equemene
developpement:activites:integration:stream4wheezy [2015/01/07 10:04]
Ligne 1: Ligne 1:
-====== Utilisation des librairies Stream sur une Debian Wheezy ====== 
  
-<note important>​Attention ! Le pilote 14.1 de AMD/ATI ne fonctionne pas sur les cartes AMD V5900</​note>​ 
- 
-===== Rétroportage de Stream sous Wheezy ===== 
- 
-La Debian Wheezy ne dispose que de la version 12.6 pour le pilote AMD/ATU et OpenCL et du pilote 304.88. Ces versions peuvent rapidement sembler insuffisantes pour ceux qui désirent utiliser les dernières fonctionnalités de OpenCL ou simplement utiliser les dernières cartes video AMD/ATI efficacement. 
- 
-Voici la méthode permettant d'​installer à partir d'un rétro-portage les paquets AMD/ATI ainsi que tout l'​environnement associé. 
- 
-<note warning>​Pour une compilation dans SIDUS, ne pas oublier de monter le ''/​proc''</​note>​ 
- 
-==== Purge des paquets AMD/ATI originels ==== 
- 
-<​code>​ 
-dpkg -l | egrep "​(clinfo|amd-opencl|amd-libopencl|fglrx)"​ | awk '{ print $2 }' | xargs -I '​{}'​ apt-get -y purge '​{}'​ 
-dpkg -l | grep opencl | grep -v openclip | awk '{ print $2 }' | xargs -I '​{}'​ apt-get -y purge '​{}'​ 
-</​code>​ 
- 
-==== 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 FGLRX packagée comprenant tout l'​environnement. 
- 
-<​code>​ 
-apt-get install -y pbuilder pciutils 
-[ $(grep sid /​etc/​apt/​sources.list | 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 experimental /​etc/​apt/​sources.list | wc -l) -gt 0 ] && echo "​Already present"​ || echo "​deb-src http://​ftp.fr.debian.org/​debian/​ experimental main contrib non-free"​ >> /​etc/​apt/​sources.list 
-aptitude update 
-</​code>​ 
- 
-==== Rétroportage des composants Système ==== 
- 
-<​code>​ 
-mkdir -p /​root/​stream/​debian 
-cd /​root/​stream 
-apt-get source glx-alternatives 
-apt-get build-dep glx-alternatives 
-cd glx-alternatives-* 
-debuild 
-cd .. 
-ls -1 *.deb 
-mv *.deb debian 
-</​code>​ 
- 
-Les paquets créés sont les suivants : 
-<​code>​ 
-glx-alternative-fglrx_0.4.1_amd64.deb 
-glx-alternative-mesa_0.4.1_amd64.deb 
-glx-alternative-nvidia_0.4.1_amd64.deb 
-glx-diversions_0.4.1_amd64.deb 
-</​code>​ 
-==== Rétroportage des composants FGLRX ==== 
- 
-<​code>​ 
-cd /​root/​stream 
-apt-get source fglrx-driver ​ 
-apt-get install ocl-icd-libopencl1 opencl-headers 
-apt-get -y build-dep fglrx-driver clinfo 
-</​code>​ 
- 
-<​code>​ 
-cd /​root/​stream/​fglrx-driver-*/​ 
-debuild 
-cd .. 
-ls -1 *.deb 
-mv *.deb debian 
-</​code>​ 
- 
-Les paquets créés sont les suivants :  
-<​code>​ 
-amd-clinfo_14.1~beta1.3-1_amd64.deb 
-amd-libopencl1_14.1~beta1.3-1_amd64.deb 
-amd-opencl-dev_14.1~beta1.3-1_amd64.deb 
-amd-opencl-icd_14.1~beta1.3-1_amd64.deb 
-fglrx-atieventsd_14.1~beta1.3-1_amd64.deb 
-fglrx-control_14.1~beta1.3-1_amd64.deb 
-fglrx-driver_14.1~beta1.3-1_amd64.deb 
-fglrx-modules-dkms_14.1~beta1.3-1_amd64.deb 
-fglrx-source_14.1~beta1.3-1_amd64.deb 
-libfglrx-amdxvba1_14.1~beta1.3-1_amd64.deb 
-libfglrx_14.1~beta1.3-1_amd64.deb 
-libgl1-fglrx-glx_14.1~beta1.3-1_amd64.deb 
-libxvbaw-dev_14.1~beta1.3-1_amd64.deb 
-</​code>​ 
- 
-<​code>​ 
-cd /root/ 
-debuild 
-cd .. 
-ls -1 *.deb 
-mv *.deb debian 
-</​code>​ 
- 
-Les paquets créés sont les suivants :  
-<​code>​ 
- 
-</​code>​ 
- 
- 
-==== Installation des composants FGLRX ==== 
- 
-<​code>​ 
-cd /​root/​stream/​debian 
-dpkg -i glx-diversions_*_amd64.deb glx-alternative-mesa_*_amd64.deb 
-dpkg -i glx-alternative-fglrx_*_amd64.deb 
-dpkg -i libfglrx_14.1~beta1.3-1_amd64.deb 
-dpkg -i libgl1-fglrx-glx_14.1~beta1.3-1_amd64.deb 
-apt-get install xserver-xorg-core libaudit0 libxkbfile1 x11-xkb-utils xfonts-base xserver-common 
-dpkg -i fglrx-modules-dkms_14.1~beta1.3-1_amd64.deb 
-dpkg -i fglrx-driver_14.1~beta1.3-1_amd64.deb 
-dpkg -i libfglrx-amdxvba1_14.1~beta1.3-1_amd64.deb 
-dpkg -i libxvbaw-dev_14.1~beta1.3-1_amd64.deb 
-dpkg -i fglrx-atieventsd_14.1~beta1.3-1_amd64.deb 
-dpkg -i fglrx-control_14.1~beta1.3-1_amd64.deb 
-</​code>​ 
- 
-==== Installation des composants Cuda & OpenCL ==== 
- 
-<​code>​ 
-cd /​root/​stream/​debian 
-dpkg -i amd-clinfo_14.1~beta1.3-1_amd64.deb 
-dpkg -i amd-opencl-icd_14.1~beta1.3-1_amd64.deb 
-</​code>​ 
- 
-==== 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. 
- 
-<​code>​ 
-cd /​root/​stream 
-apt-get source python-pytools 
-apt-get -y build-dep python-pytools 
-cd /​root/​stream/​pytools-*/​ 
-debuild 
-cd .. 
-ls -1 *.deb 
-mv *.deb debian 
-</​code>​ 
- 
-<​code>​ 
-python3-pytools_2013.5.7-1_all.deb 
-python-pytools_2013.5.7-1_all.deb 
-</​code>​ 
- 
-<​code>​ 
-cd /​root/​stream/​debian 
-dpkg -i python3-pytools_*.deb python-pytools_*.deb ​ 
-</​code>​ 
- 
-<​code>​ 
-cd /​root/​stream/​ 
-apt-get source pyopencl 
-apt-get -y build-dep pyopencl 
-cd /​root/​stream/​pyopencl-*/​ 
-debuild 
-cd .. 
-ls -1 *.deb 
-mv *.deb debian 
-</​code>​ 
- 
-Les paquets créés sont les suivants :  
-<​code>​ 
-python3-pyopencl_2013.2-1_amd64.deb 
-python3-pyopencl-dbg_2013.2-1_amd64.deb 
-python-pyopencl_2013.2-1_amd64.deb 
-python-pyopencl-dbg_2013.2-1_amd64.deb 
-python-pyopencl-doc_2013.2-1_all.deb 
-</​code>​ 
- 
-==== Installation des composants Python ==== 
- 
-<​code>​ 
-cd /​root/​stream/​debian 
-# Les paquets suivants issus de AMD sont necessaires pour le premier et bien utile pour le second 
-dpkg -i python-pyopencl_*.deb python3-pyopencl_*.deb python-pyopencl-doc_*.deb 
-</​code>​ 
- 
-==== Exécution des exemples ==== 
- 
-<​code>​ 
-cd /​usr/​share/​doc/​python-pyopencl-doc/​examples 
-python benchmark.py ​ 
-</​code>​ 
- 
-Sur une carte HD5850 (et un Dell Precision 5600):<​code>​ 
-Execution time of test without OpenCL: ​ 0.105705976486 s 
-=============================================================== 
-Platform name: AMD Accelerated Parallel Processing 
-Platform profile: FULL_PROFILE 
-Platform vendor: Advanced Micro Devices, Inc. 
-Platform version: OpenCL 1.2 AMD-APP (1411.4) 
---------------------------------------------------------------- 
-Device name: Cypress 
-Device type: GPU 
-Device memory: ​ 512 MB 
-Device max clock speed: 725 MHz 
-Device compute units: 18 
-Device max work group size: 256 
-Device max work item sizes: [256, 256, 256] 
-Data points: 8388608 
-Workers: 256 
-Preferred work group size multiple: 64 
-Execution time of test: 0.0196992 s 
-Results OK 
-=============================================================== 
-Platform name: AMD Accelerated Parallel Processing 
-Platform profile: FULL_PROFILE 
-Platform vendor: Advanced Micro Devices, Inc. 
-Platform version: OpenCL 1.2 AMD-APP (1411.4) 
---------------------------------------------------------------- 
-Device name: Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz 
-Device type: CPU 
-Device memory: ​ 32201 MB 
-Device max clock speed: 2001 MHz 
-Device compute units: 12 
-Device max work group size: 1024 
-Device max work item sizes: [1024, 1024, 1024] 
-Data points: 8388608 
-Workers: 256 
-Preferred work group size multiple: 1 
-Execution time of test: 0.0133983 s 
-Results OK 
-</​code>​ 
- 
-Vous aurez noter que l'​installation préalable d'un SDK AMD a permis de disposer d'un support OpenCL sur le processeur. 
- 
-====== Installation de PyFFT ====== 
- 
-[[http://​packages.python.org/​pyfft/​|PyFFT]] permet l'​exploitation de PyCUDA et PyOpenCL pour effectuer tranquillement ses FFT directement à partir de ses scripts Python. 
- 
-Pour son installation,​ suivre la page : http://​www.cbp.ens-lyon.fr/​emmanuel.quemener/​dokuwiki/​doku.php?​id=pyfft4squeeze 
- 
- --- //​[[emmanuel.quemener@ens-lyon.fr|Emmanuel Quemener]] 2014/02/24 14:29// 
developpement/activites/integration/stream4wheezy.txt · Dernière modification: 2015/01/07 10:04 (modification externe)