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:xeonphi4jessie [2014/11/19 09:59]
equemene [Compilation du module noyau]
developpement:activites:integration:xeonphi4jessie [2015/01/07 10:04] (Version actuelle)
Ligne 3: Ligne 3:
 ===== Introduction ===== ===== Introduction =====
  
 +Les accélérateurs Xeon Phi disposant d'une soixantaine constituent un intermédiaire entre les processeurs standards disposant de l'​ordre de la dizaine de coeurs (AMD ou Intel) et les circuits graphiques de GPU ou GPGPU disposant de plusieurs milliers d'ALU pour les traitements.
  
 +Voici comment installer et faire fonctionner un Xeon Phi sur la distribution Debian Jessie, notamment en OpenCL.
 ===== Installation ===== ===== Installation =====
  
Ligne 421: Ligne 422:
  
 <​code>​ <​code>​
-python-pyopencl python-pyopencl-doc+apt-get install ​python-pyopencl python-pyopencl-doc
 </​code>​ </​code>​
  
Ligne 427: Ligne 428:
  
 <​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>​
  
Ligne 444: Ligne 445:
 ('​Device compute units:',​ 32) ('​Device compute units:',​ 32)
 Execution time of test: 0.00112901 s Execution time of test: 0.00112901 s
-Results OK 
-root@grizzly:​~#​ ^C 
-root@grizzly:​~#​ python /​usr/​share/​doc/​python-pyopencl-doc/​examples/​benchmark-all.py ​ 
-('​Execution time of test without OpenCL: ', 7.43899393081665,​ '​s'​) 
-=============================================================== 
-('​Platform name:',​ 'AMD Accelerated Parallel Processing'​) 
-('​Platform profile:',​ '​FULL_PROFILE'​) 
-('​Platform vendor:',​ '​Advanced Micro Devices, Inc.') 
-('​Platform version:',​ '​OpenCL 1.2 AMD-APP (938.2)'​) 
---------------------------------------------------------------- 
-('​Device name:',​ '​Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz'​) 
-('​Device type:',​ '​CPU'​) 
-('​Device memory: ', 64463, '​MB'​) 
-('​Device max clock speed:',​ 1200, '​MHz'​) 
-('​Device compute units:',​ 32) 
-Execution time of test: 0.000632971 s 
 Results OK Results OK
 </​code>​ </​code>​
Ligne 465: Ligne 450:
 Intel publie ses [[http://​software.intel.com/​en-us/​vcsource/​tools/​opencl-sdk-xe|versions de OpenCL]]. Intel publie ses [[http://​software.intel.com/​en-us/​vcsource/​tools/​opencl-sdk-xe|versions de OpenCL]].
  
-La dernière version est la 3.2.1.16712 
  
 ==== Récupération de la dernière version : ==== ==== Récupération de la dernière version : ====
Ligne 480: Ligne 464:
 ==== Conversion des RPM en DEB ==== ==== Conversion des RPM en DEB ====
  
 +La conversion peut se réaliser "​brutalement"​ avec un ''​alien'',​ mais les paquets ne sont pas très propres...
 +
 +Installation des outils pour la conversion des paquets :
 <​code>​ <​code>​
-ls *.rpm | xargs -I '​{}'​ alien --scripts '​{}'​+apt-get install builder alien 
 +</​code>​ 
 + 
 +Pour les paquets corrects : 
 +<​code>​ 
 +ls opencl-*pset*.rpm opencl-*mic*.rpm | xargs -I '​{}'​ alien --scripts '​{}'​ 
 +</​code>​ 
 + 
 +Pour les paquets à modifier : 
 +<​code>​ 
 +ls opencl-*base-4*.rpm opencl-*cpu*.rpm | xargs -I '​{}'​ alien -g --scripts '​{}'​ 
 +# On degage la possibilite de mettre la libOpenCL de Intel a la place de la standard 
 +sed -i "​s/​update\-alternatives/​exit\nupdate\-alternatives/​g"​ opencl-1.2-base-4.5.0.8/​debian/​postinst 
 +# On rentre dans l'​archive 
 +cd opencl-1.2-base-4.5.0.8 
 +# On build le paquet 
 +debuild 
 +cd .. 
 +# On remplace la priorite du update-alternatives sur l'​installation de l'ICD Intel 
 +sed -i "​s/​\-2147489047/​65536/​g"​ opencl-1.2-intel-cpu-4.5.0.8/​debian/​postinst 
 +# On rentre dans l'​archive 
 +cd opencl-1.2-intel-cpu-4.5.0.8 
 +# on build le paquet 
 +debuild 
 +cd ..
 </​code>​ </​code>​
  
 +Les paquets générés sont les suivants :
 <​code>​ <​code>​
 opencl-1.2-base_4.5.0.8-2_amd64.deb opencl-1.2-base_4.5.0.8-2_amd64.deb
Ligne 498: Ligne 510:
 </​code>​ </​code>​
  
-La conversion ​des paquets ''​RPM''​ en paquets Debian pose quelques problèmes. La priorité du ''​update-alternatives''​ ne respecte pas les standards Debian. Il est donc nécessaire de les modifier. +Vérification ​des périphériques OpenCL détectés :
-<​code>​ +
-sed -i "​s/​\-2147489047/​65536/​g"​ /​var/​lib/​dpkg/​info/​opencl-1.2-base.postinst +
-sed -i "​s/​\-2147489047/​65536/​g"​ /​var/​lib/​dpkg/​info/​opencl-1.2-intel-cpu.postinst +
-apt-get -f install +
-</​code>​ +
- +
- +
 <​code>​ <​code>​
 clinfo | grep "​Device Type" ​ clinfo | grep "​Device Type" ​
 </​code>​ </​code>​
- 
-Plus besoin d'​établir les liens pour l'ICD. 
  
 3 composants sont détectés : 3 composants sont détectés :
Ligne 577: Ligne 579:
 Preferred work group size multiple: 128 Preferred work group size multiple: 128
 Execution time of test: 0.0179208 s Execution time of test: 0.0179208 s
-Results OK 
-=============================================================== 
-Platform name: NVIDIA CUDA 
-Platform profile: FULL_PROFILE 
-Platform vendor: NVIDIA Corporation 
-Platform version: OpenCL 1.1 CUDA 6.5.18 
---------------------------------------------------------------- 
-Device name: Tesla K40m 
-Device type: GPU 
-Device memory: ​ 11519 MB 
-Device max clock speed: 745 MHz 
-Device compute units: 15 
-Device max work group size: 1024 
-Device max work item sizes: [1024, 1024, 64] 
-Data points: 8388608 
-Workers: 256 
-Preferred work group size multiple: 32 
-Execution time of test: 0.000614816 s 
 Results OK Results OK
 </​code>​ </​code>​
developpement/activites/integration/xeonphi4jessie.1416387562.txt.gz · Dernière modification: 2015/01/07 10:04 (modification externe)