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:xeonphi4jessie [2014/11/18 20:20] – [Installation des paquets] equemene | developpement:activites:integration:xeonphi4jessie [2014/11/21 14:20] (Version actuelle) – [Introduction] equemene | ||
|---|---|---|---|
| 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' | ||
| + | Voici comment installer et faire fonctionner un Xeon Phi sur la distribution Debian Jessie, notamment en OpenCL. | ||
| ===== Installation ===== | ===== Installation ===== | ||
| Ligne 99: | Ligne 100: | ||
| ==== Compilation du module noyau ==== | ==== Compilation du module noyau ==== | ||
| - | Il n'est pas possible de directement créer le module MIC sans modifier le code source. En effet, | + | Il n'est pas possible de directement créer le module MIC sans modifier le code source. |
| - | host/ | + | |
| - | micscif/ | + | |
| - | micscif/ | + | |
| - | vnet/ | + | |
| Voici les opérations nécessaires poir compiler le module associé au noyau : | Voici les opérations nécessaires poir compiler le module associé au noyau : | ||
| Ligne 111: | Ligne 108: | ||
| rpm2cpio ../ | rpm2cpio ../ | ||
| tar jxf mpss-modules-3.4.1.tar.bz2 | tar jxf mpss-modules-3.4.1.tar.bz2 | ||
| - | # wget http:// | + | wget http:// |
| - | # patch -p 1 -i ./PatchDebianWheezyMPSS312.patch | + | patch host/ |
| export INSTALL_MOD_PATH=/ | export INSTALL_MOD_PATH=/ | ||
| export MIC_CARD_ARCH=k1om | export MIC_CARD_ARCH=k1om | ||
| Ligne 425: | Ligne 422: | ||
| < | < | ||
| - | python-pyopencl python-pyopencl-doc | + | apt-get install |
| </ | </ | ||
| Ligne 431: | Ligne 428: | ||
| < | < | ||
| - | | + | |
| </ | </ | ||
| Ligne 448: | Ligne 445: | ||
| (' | (' | ||
| Execution time of test: 0.00112901 s | Execution time of test: 0.00112901 s | ||
| - | Results OK | ||
| - | root@grizzly: | ||
| - | root@grizzly: | ||
| - | (' | ||
| - | =============================================================== | ||
| - | (' | ||
| - | (' | ||
| - | (' | ||
| - | (' | ||
| - | --------------------------------------------------------------- | ||
| - | (' | ||
| - | (' | ||
| - | (' | ||
| - | (' | ||
| - | (' | ||
| - | Execution time of test: 0.000632971 s | ||
| Results OK | Results OK | ||
| </ | </ | ||
| Ligne 469: | Ligne 450: | ||
| Intel publie ses [[http:// | Intel publie ses [[http:// | ||
| - | 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 484: | Ligne 464: | ||
| ==== Conversion des RPM en DEB ==== | ==== Conversion des RPM en DEB ==== | ||
| + | La conversion peut se réaliser " | ||
| + | |||
| + | Installation des outils pour la conversion des paquets : | ||
| < | < | ||
| - | ls *.rpm | xargs -I ' | + | apt-get install builder alien |
| + | </ | ||
| + | |||
| + | Pour les paquets corrects : | ||
| + | < | ||
| + | ls opencl-*pset*.rpm opencl-*mic*.rpm | xargs -I ' | ||
| + | </ | ||
| + | |||
| + | Pour les paquets à modifier : | ||
| + | < | ||
| + | ls opencl-*base-4*.rpm opencl-*cpu*.rpm | xargs -I ' | ||
| + | # On degage la possibilite de mettre la libOpenCL de Intel a la place de la standard | ||
| + | sed -i " | ||
| + | # On rentre dans l' | ||
| + | cd opencl-1.2-base-4.5.0.8 | ||
| + | # On build le paquet | ||
| + | debuild | ||
| + | cd .. | ||
| + | # On remplace la priorite du update-alternatives sur l' | ||
| + | sed -i " | ||
| + | # On rentre dans l' | ||
| + | cd opencl-1.2-intel-cpu-4.5.0.8 | ||
| + | # on build le paquet | ||
| + | debuild | ||
| + | cd .. | ||
| </ | </ | ||
| + | Les paquets générés sont les suivants : | ||
| < | < | ||
| opencl-1.2-base_4.5.0.8-2_amd64.deb | opencl-1.2-base_4.5.0.8-2_amd64.deb | ||
| Ligne 502: | Ligne 510: | ||
| </ | </ | ||
| - | < | + | Vérification des périphériques OpenCL détectés : |
| - | sed -i " | + | |
| - | sed -i " | + | |
| - | apt-get -f install | + | |
| - | </ | + | |
| - | + | ||
| - | Un lien est réalisé entre ''/ | + | |
| < | < | ||
| clinfo | grep " | clinfo | grep " | ||
| </ | </ | ||
| - | |||
| - | Plus besoin d' | ||
| 3 composants sont détectés : | 3 composants sont détectés : | ||
| Ligne 580: | 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: | ||
| - | 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 | ||
| </ | </ | ||