Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| developpement:activites:integration:stream4wheezy [2013/03/22 15:45] – [Stream SDK ATI sur une Debian Wheezy] sbarends | developpement:activites:integration:stream4wheezy [2014/09/08 09:00] (Version actuelle) – [Installation des composants FGLRX] equemene | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | * [[developpement: | + | ====== Utilisation des librairies Stream sur une Debian Wheezy ====== |
| - | ====== Stream SDK ATI sur une Debian Wheezy ====== | + | <note important> |
| - | ===== Pourquoi cette page ? ===== | + | ===== Rétroportage de Stream sous Wheezy |
| - | La distribution | + | La Debian |
| - | Rappelons que l'API ATI.AMD dispose | + | Voici la méthode permettant d'installer à partir |
| - | ===== Installation du SDK 2.8 ===== | + | <note warning> |
| - | Contrairement à Nvidia, | + | ==== Purge des paquets AMD/ATI originels ==== |
| - | Le lien suivant défini les différents paquets à installer : | ||
| - | * le pilote : la version 13.1 pour [[http:// | ||
| - | * le pilote : la version 13.2 pour [[http:// | ||
| < | < | ||
| - | # Pour le pilote " | + | dpkg -l | egrep "(clinfo|amd-opencl|amd-libopencl|fglrx)" |
| - | wget http:// | + | dpkg -l | grep opencl | grep -v openclip |
| - | # Pour le pilote | + | |
| - | wget http:// | + | |
| - | </ | + | |
| - | * la boîte à outils : la version 2.8 pour [[http:// | + | |
| - | * La version future de OpenCL 1.2 [[http:// | + | |
| - | http:// | + | |
| </ | </ | ||
| - | ==== Installation | + | ==== Préparation |
| - | Pour commencer, plus grand chose sinon que le pilote AMD/ATI utilise '' | + | 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. |
| - | # arret de GDM s'il est lancé | + | |
| - | /etc/init.d/gdm stop | + | < |
| + | apt-get install | ||
| + | [ $(grep sid / | ||
| + | [ $(grep experimental | ||
| + | aptitude update | ||
| </ | </ | ||
| - | <note important> | + | ==== Rétroportage |
| - | Le redémarrage semble nécessaire pour que le pilote '' | + | < |
| + | mkdir -p / | ||
| + | cd / | ||
| + | apt-get source glx-alternatives | ||
| + | apt-get build-dep glx-alternatives | ||
| + | cd glx-alternatives-* | ||
| + | debuild | ||
| + | cd .. | ||
| + | ls -1 *.deb | ||
| + | mv *.deb debian | ||
| + | </ | ||
| - | Puis, même lancement de l' | + | Les paquets créés sont les suivants |
| - | unzip amd-driver-installer-catalyst-13.1-linux-x86.x86_64.zip | + | < |
| - | CC=/ | + | 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 | ||
| + | </ | ||
| + | ==== Rétroportage des composants FGLRX ==== | ||
| - | Au 1er mars 2013, le composant graphique intégré à l'AMD E2-1800 est un HD7340 : le pilote 13.1 ne fonctionne pas. Il faut donc passer sur le pilote beta, le 13.2-beta7 à cette date :< | + | < |
| - | unzip amd-driver-installer-catalyst-13.2-beta7-linux-x86.x86_64.zip | + | cd /root/stream |
| - | CC=/usr/bin/gcc-4.6 amd-driver-installer-catalyst-13.2-beta7-linux-x86.x86_64.run | + | apt-get source fglrx-driver |
| + | apt-get install ocl-icd-libopencl1 opencl-headers | ||
| + | apt-get -y build-dep fglrx-driver clinfo | ||
| + | </ | ||
| - | ==== Installation de la boîte à outils ==== | + | < |
| + | cd / | ||
| + | debuild | ||
| + | cd .. | ||
| + | ls -1 *.deb | ||
| + | mv *.deb debian | ||
| + | </ | ||
| - | Pour le SDK, toujours aussi simple, par une simple décompression de l' | + | Les paquets créés sont les suivants |
| - | # Renommage d'un /opt/AMDAPP précédent | + | < |
| - | [ -d /opt/AMDAPP ] && mv /opt/AMDAPP /opt/AMDAPP.old | + | amd-clinfo_14.6~betav1.0-1_amd64.deb |
| - | mkdir /tmp/AMDSDK-2.8 | + | amd-libopencl1_14.6~betav1.0-1_amd64.deb |
| - | cd /tmp/AMDSDK-2.8 | + | amd-opencl-dev_14.6~betav1.0-1_amd64.deb |
| - | # En 32 bits, décompresser l' | + | amd-opencl-icd_14.6~betav1.0-1_amd64.deb |
| - | tar xzf /root/AMD-APP-SDK-v2.8-lnx32.tgz | + | fglrx-atieventsd_14.6~betav1.0-1_amd64.deb |
| - | # En 64 bits, décompresser l' | + | fglrx-control_14.6~betav1.0-1_amd64.deb |
| - | tar xzf /root/AMD-APP-SDK-v2.8-lnx64.tgz | + | fglrx-driver_14.6~betav1.0-1_amd64.deb |
| - | # Lancer le script d' | + | fglrx-modules-dkms_14.6~betav1.0-1_amd64.deb |
| - | ./Install-AMD-APP.sh | + | fglrx-source_14.6~betav1.0-1_amd64.deb |
| - | # Etablir un lien pour pointer de manière générique les pilotes | + | libfglrx_14.6~betav1.0-1_amd64.deb |
| - | cd /opt | + | libfglrx-amdxvba1_14.6~betav1.0-1_amd64.deb |
| - | mv AMDAPP AMDAPP-2.8 | + | libgl1-fglrx-glx_14.6~betav1.0-1_amd64.deb |
| - | ln -s AMDAPP-2.8 AMDAPP | + | libxvbaw-dev_14.6~betav1.0-1_amd64.deb |
| - | # Generation du ld | + | |
| - | ldconfig | + | |
| </ | </ | ||
| - | ===== Installation de librairies scientifiques ===== | ||
| - | ==== Téléchargement des sources et des exemples ==== | + | ==== Installation des composants FGLRX ==== |
| - | + | ||
| - | Les éléments : | + | |
| - | * http:// | + | |
| - | * http:// | + | |
| - | * http:// | + | |
| - | + | ||
| - | * http:// | + | |
| - | * http:// | + | |
| - | * http:// | + | |
| - | + | ||
| - | ==== Installation des librairies BLAS et FFT ==== | + | |
| < | < | ||
| - | mkdir / | + | cd /root/stream/ |
| - | cd /tmp/CLAMD | + | dpkg -i glx-diversions_*_amd64.deb glx-alternative-mesa_*_amd64.deb |
| - | tar xzf / | + | dpkg -i glx-alternative-fglrx_*_amd64.deb |
| - | ./install-clAmdBlas-1.8.291.sh | + | dpkg -i libfglrx_*_amd64.deb |
| - | # Taper accept pour accepter les conditions d' | + | dpkg -i libgl1-fglrx-glx_*_amd64.deb |
| - | # Taper < | + | apt-get |
| - | tar xzf / | + | dpkg -i fglrx-modules-dkms_*_amd64.deb |
| - | ./install-clAmdFft-1.8.291.sh | + | dpkg -i fglrx-driver_*_amd64.deb |
| - | # Taper accept pour accepter les conditions d' | + | dpkg -i libfglrx-amdxvba1_*_amd64.deb |
| - | # Taper < | + | dpkg -i libxvbaw-dev_*_amd64.deb |
| - | cd /opt | + | dpkg -i fglrx-atieventsd_*_amd64.deb |
| - | ln -s clAmdBlas-1.8.291 clAmdBlas | + | dpkg -i fglrx-control_*_amd64.deb |
| - | ln -s clAmdFft-1.8.291 clAmdFft | + | |
| - | # | + | |
| - | chown -R root.root / | + | |
| - | # Pour une architecture 64 bits | + | |
| - | echo -e "/ | + | |
| - | # Pour une architecture 32 bits | + | |
| - | echo -e "/ | + | |
| - | # | + | |
| - | ldconfig | + | |
| </ | </ | ||
| - | ==== Installation des librairies aparapi | + | ==== Installation des composants Cuda & OpenCL |
| < | < | ||
| - | cd /opt | + | cd /root/stream/debian |
| - | mkdir aparapi | + | dpkg -i amd-clinfo_14.1~beta1.3-1_amd64.deb |
| - | cd /opt/aparapi | + | dpkg -i amd-opencl-icd_14.1~beta1.3-1_amd64.deb |
| - | wget http:// | + | |
| - | unzip Aparapi_2013_01_23_linux_x86_64.zip | + | |
| </ | </ | ||
| - | ==== Compilation des exemples | + | ==== Rétroportage |
| - | Ensuite, la compilation des exemples : ceux de CAL ont disparus, il reste ceux d' | + | La dépendance sur une version plus récente |
| - | apt-get -y install libxi-dev libxmu-dev freeglut3-dev | + | |
| - | # Cet export | + | |
| - | export LIBAPARAPI=/ | + | |
| - | cd / | + | |
| - | make | + | |
| - | </ | + | |
| - | ==== Exécution des exemples du SDK ==== | + | < |
| - | + | cd /root/stream | |
| - | Enfin, l' | + | apt-get source python-pytools |
| - | # pour une architecture 64 bits | + | apt-get -y build-dep python-pytools |
| - | cd /opt/AMDAPP/ | + | cd /root/stream/pytools-*/ |
| - | # pour une architecture 32 bits | + | debuild |
| - | cd /opt/AMDAPP/samples/ | + | cd .. |
| - | # lancer tous les exemples | + | ls -1 *.deb |
| - | find . -executable ! -iname "*.cl" -exec {} \; | + | mv *.deb debian |
| </ | </ | ||
| - | |||
| - | ==== Compilation des exemples des librairies ClBlas et ClFft ==== | ||
| < | < | ||
| - | apt-get install cmake | + | python3-pytools_2013.5.7-1_all.deb |
| - | export AMDAPPSDKROOT=/ | + | python-pytools_2013.5.7-1_all.deb |
| - | cd / | + | |
| - | cmake . | + | |
| - | make | + | |
| - | cd / | + | |
| - | # Ces gros nuls n'ont pas verifie leur CMake : il plante ! | + | |
| - | sed -i "s/\.\.\/\.\.\/ | + | |
| - | # (le cmake pointe pour quelques sources au mauvais endroit !) | + | |
| - | cmake . | + | |
| - | make | + | |
| </ | </ | ||
| - | |||
| - | ==== Exécution des exemples des librairies ClBlas et ClFft ==== | ||
| < | < | ||
| + | cd / | ||
| + | dpkg -i python3-pytools_*.deb python-pytools_*.deb | ||
| </ | </ | ||
| - | ===== Installation de PyOpenCL | ||
| - | |||
| - | Téléchargement des sources sur : http:// | ||
| - | |||
| - | ==== Préparation de la compilation ==== | ||
| - | < | + | < |
| + | cd / | ||
| + | apt-get source pyopencl | ||
| + | apt-get -y build-dep pyopencl | ||
| + | cd / | ||
| + | debuild | ||
| + | cd .. | ||
| + | ls -1 *.deb | ||
| + | mv *.deb debian | ||
| </ | </ | ||
| - | < | + | Les paquets créés sont les suivants : |
| - | git clone http://git.tiker.net/trees/pyopencl.git | + | < |
| - | cd pyopencl | + | python3-pyopencl_2013.2-1_amd64.deb |
| - | git submodule init | + | python3-pyopencl-dbg_2013.2-1_amd64.deb |
| - | git submodule update | + | python-pyopencl_2013.2-1_amd64.deb |
| + | python-pyopencl-dbg_2013.2-1_amd64.deb | ||
| + | python-pyopencl-doc_2013.2-1_all.deb | ||
| </ | </ | ||
| - | ==== Compilation et installation de PyOpenCL | + | ==== Installation des composants Python |
| - | Il est supposé que le dossier d' | + | < |
| - | < | + | cd /root/stream/debian |
| - | CC=/ | + | # Les paquets suivants issus de AMD sont necessaires pour le premier et bien utile pour le second |
| - | make install | + | dpkg -i python-pyopencl_*.deb python3-pyopencl_*.deb python-pyopencl-doc_*.deb |
| - | python setup.py build | + | |
| - | python setup.py install | + | |
| </ | </ | ||
| ==== Exécution des exemples ==== | ==== Exécution des exemples ==== | ||
| - | Pour l' | ||
| < | < | ||
| - | cd examples | + | cd / |
| - | python benchmark-all.py | + | python benchmark.py |
| </ | </ | ||
| - | Sur un ASUS X55U avec un processeur AMD E2-1800 équipée d'une carte Radeon HD 7340 :< | + | Sur une carte HD5850 (et un Dell Precision 5600):< |
| - | Execution time of test without OpenCL: | + | Execution time of test without OpenCL: |
| =============================================================== | =============================================================== | ||
| Platform name: AMD Accelerated Parallel Processing | Platform name: AMD Accelerated Parallel Processing | ||
| Platform profile: FULL_PROFILE | Platform profile: FULL_PROFILE | ||
| Platform vendor: Advanced Micro Devices, Inc. | Platform vendor: Advanced Micro Devices, Inc. | ||
| - | Platform version: OpenCL 1.2 AMD-APP (1113.2) | + | Platform version: OpenCL 1.2 AMD-APP (1411.4) |
| --------------------------------------------------------------- | --------------------------------------------------------------- | ||
| - | Device name: Loveland | + | Device name: Cypress |
| Device type: GPU | Device type: GPU | ||
| - | Device memory: | + | Device memory: |
| - | Device max clock speed: | + | Device max clock speed: |
| - | Device compute units: | + | Device compute units: |
| Device max work group size: 256 | Device max work group size: 256 | ||
| Device max work item sizes: [256, 256, 256] | Device max work item sizes: [256, 256, 256] | ||
| Data points: 8388608 | Data points: 8388608 | ||
| Workers: 256 | Workers: 256 | ||
| - | Preferred work group size multiple: | + | Preferred work group size multiple: |
| - | Execution time of test: 0.022523 | + | Execution time of test: 0.0196992 |
| Results OK | Results OK | ||
| =============================================================== | =============================================================== | ||
| Ligne 216: | Ligne 194: | ||
| Platform profile: FULL_PROFILE | Platform profile: FULL_PROFILE | ||
| Platform vendor: Advanced Micro Devices, Inc. | Platform vendor: Advanced Micro Devices, Inc. | ||
| - | Platform version: OpenCL 1.2 AMD-APP (1113.2) | + | Platform version: OpenCL 1.2 AMD-APP (1411.4) |
| --------------------------------------------------------------- | --------------------------------------------------------------- | ||
| - | Device name: AMD E2-1800 APU with Radeon(tm) HD Graphics | + | Device name: Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz |
| Device type: CPU | Device type: CPU | ||
| - | Device memory: | + | Device memory: |
| - | Device max clock speed: | + | Device max clock speed: |
| - | Device compute units: | + | Device compute units: |
| Device max work group size: 1024 | Device max work group size: 1024 | ||
| Device max work item sizes: [1024, 1024, 1024] | Device max work item sizes: [1024, 1024, 1024] | ||
| Ligne 228: | Ligne 206: | ||
| Workers: 256 | Workers: 256 | ||
| Preferred work group size multiple: 1 | Preferred work group size multiple: 1 | ||
| - | Execution time of test: 0.0759986 | + | Execution time of test: 0.0133983 |
| Results OK | Results OK | ||
| </ | </ | ||
| - | ===== Précautions d' | + | Vous aurez noter que l'installation préalable d'un SDK AMD a permis |
| - | + | ||
| - | Pour une utilisation du GPU à distance, il est nécessaire de procéder à quelques modifications de son système, sans quoi, l'usage du GPU n'est pas possible | + | |
| - | + | ||
| - | ==== Modification du GDM3 ==== | + | |
| - | + | ||
| - | A la fin de ''/ | + | |
| - | xhost + | + | |
| - | chmod uog+rw / | + | |
| - | </ | + | |
| - | Les talibans | + | ====== Installation |
| - | ==== Connexion sans redirection X11 ==== | + | [[http:// |
| - | De plus, lors d'une connexion distante, demander à ce que le X11 ne soit pas rediriger avec l' | + | Pour son installation, suivre la page : http:// |
| - | --- // | + | --- // |