Différences

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

Lien vers cette vue comparative

developpement:activites:integration:xeonphi4jessie [2014/11/18 21:15]
equemene [Conversion des RPM en DEB]
developpement:activites:integration:xeonphi4jessie [2015/01/07 10:04]
Ligne 1: Ligne 1:
-====== Installation d'un Xeon Phi sous Debian Jessie ====== 
- 
-===== Introduction ===== 
- 
- 
- 
-===== Installation ===== 
- 
-==== Détection du périphérique ==== 
- 
- 
-Il est supposé que le système hôte est une Debian Jessie standard, sur une architecture AMD64. Le socle présenté ici était un Dell Poweredge R720 disposant d'une carte Xeon Phi SE10/7120. De manière à ne pas toucher au matériel embarqué et polluer le disque dur de la machine, l'​équipement démarre par PXE et monte un disque par iSCSI. 
- 
-La Debian Jessie disposait d'un noyau 3.16 version 7. Un ''​lspci | grep -i phi''​ offre la sortie suivante : 
-<​code>​42:​00.0 Co-processor:​ Intel Corporation Xeon Phi coprocessor SE10/7120 series (rev 20)</​code>​ 
- 
-==== Création des paquets Intel ==== 
- 
-Les composants fournis par Intel sont présents sur le site Intel [[https://​software.intel.com/​en-us/​articles/​intel-manycore-platform-software-stack-mpss#​downloads|MPSS pour Manycore Platform Software Stack]]. 
- 
-Il n'​existe que les paquets pour quelques distributions RedHat ou dérivées : récupération de la dernière version RedHat 
-<​code>​mkdir /​root/​XeonPhi ; cd /​root/​XeonPhi 
-wget http://​registrationcenter.intel.com/​irc_nas/​4862/​mpss-3.4.1-linux.tar</​code>​ 
- 
-Vérification de la somme de hashage ''​md5sum mpss-3.4.1-linux.tar''​ :<​code>​e985afee031baf542090883d3752fcfa</​code> ​ 
- 
-La documentation [[http://​registrationcenter.intel.com/​irc_nas/​4862/​mpss_users_guide.pdf|MPSS User Guide]] est indispensable pour commencer. 
- 
-==== Préparation du système ==== 
- 
-  * Installation de quoi transformer les paquets RPM en DEB<​code>​apt-get install alien</​code>​ 
-  * Installation de qui construire des paquets Debian :<​code>​apt-get install pbuilder</​code>​ 
-  * Installation de quoi compiler un module noyau : <​code>​apt-get install kernel-package 
-apt-get purge texlive* 
-apt-get autoremove</​code>​ 
- 
-==== Transformation des paquets RPM en DEB ==== 
- 
-<​code>​ 
-tar xvf mpss-3.4.1-linux.tar 
-cd mpss-3.4.1 
-ls *.rpm | xargs -I '​{}'​ alien --scripts '​{}'​ 
-</​code>​ 
- 
-La liste des paquets crés est la suivante :<​code>​ 
-glibc2.12.2pkg-libmicaccesssdk0_3.4.1-2_amd64.deb 
-glibc2.12.2pkg-libmicaccesssdk-dev_3.4.1-2_amd64.deb 
-glibc2.12.2pkg-libmicmgmt0_3.4.1-2_amd64.deb 
-glibc2.12.2pkg-libmicmgmt-dev_3.4.1-2_amd64.deb 
-glibc2.12.2pkg-libmicmgmt-doc_3.4.1-2_amd64.deb 
-glibc2.12.2pkg-libodmdebug0_3.4.1-2_amd64.deb 
-glibc2.12.2pkg-libodmdebug-dev_3.4.1-2_amd64.deb 
-glibc2.12.2pkg-libsettings0_3.4.1-2_amd64.deb 
-glibc2.12.2pkg-libsettings-dev_3.4.1-2_amd64.deb 
-glibc2.12.2pkg-mpss-flash_3.4.1-2_amd64.deb 
-glibc2.12.2pkg-mpss-memdiag-kernel_3.4.1-2_amd64.deb 
-glibc2.12.2pkg-mpss-rasmm-kernel_3.4.1-2_amd64.deb 
-intel-composerxe-compat-k1om_3.4.1-2_amd64.deb 
-libscif0_3.4.1-2_amd64.deb 
-libscif-dev_3.4.1-2_amd64.deb 
-libscif-doc_3.4.1-2_amd64.deb 
-mpss-boot-files_3.4.1-2_amd64.deb 
-mpss-coi_3.4.1-2_amd64.deb 
-mpss-coi-dev_3.4.1-2_amd64.deb 
-mpss-coi-doc_3.4.1-2_amd64.deb 
-mpss-coi-staticdev_3.4.1-2_amd64.deb 
-mpss-core_3.4.1-2_amd64.deb 
-mpss-core-dev_3.4.1-2_amd64.deb 
-mpss-daemon_3.4.1-2_amd64.deb 
-mpss-daemon-dev_3.4.1-2_amd64.deb 
-mpss-eclipse-cdt-mpm_3.4.1-2_amd64.deb 
-mpss-hstreams_3.4.1-2_amd64.deb 
-mpss-hstreams-dev_3.4.1-2_amd64.deb 
-mpss-hstreams-doc_3.4.1-2_amd64.deb 
-mpss-license_3.4.1-2_amd64.deb 
-mpss-miccheck_3.4.1-1_amd64.deb 
-mpss-miccheck-bin_3.4.1-1_amd64.deb 
-mpss-micmgmt_3.4.1-2_amd64.deb 
-mpss-micmgmt-doc_3.4.1-2_amd64.deb 
-mpss-micmgmt-python_3.4.1-2_amd64.deb 
-mpss-micsmc-gui_3.4.1-2_amd64.deb 
-mpss-mpm_3.4.1-2_amd64.deb 
-mpss-mpm-doc_3.4.1-2_amd64.deb 
-mpss-myo_3.4.1-2_amd64.deb 
-mpss-myo-dev_3.4.1-2_amd64.deb 
-mpss-myo-doc_3.4.1-2_amd64.deb 
-mpss-offload_3.4.1-2_amd64.deb 
-mpss-offload-dev_3.4.1-2_amd64.deb 
-mpss-sciftutorials_3.4.1-2_amd64.deb 
-mpss-sciftutorials-doc_3.4.1-2_amd64.deb 
-mpss-sdk-k1om_3.4.1-2_amd64.deb 
-mpss-sysmgmt-micdiagnostic_3.4.1-2_amd64.deb 
-mpss-sysmgmt-micras_3.4.1-2_amd64.deb 
-mpss-sysmgmt-python_3.4.1-2_amd64.deb 
-netperf_2.6.0-1_amd64.deb 
-netperf-doc_2.6.0-1_amd64.deb 
-</​code>​ 
- 
-==== Compilation du module noyau ==== 
- 
-Il n'est pas possible de directement créer le module MIC sans modifier le code source. En effet, les fichiers suivants doivent être modifiés pour compiler sur un noyau 3.2 Debian.<​code>​host/​linvnet.c ​ 
-host/​pm_ioctl.c ​ 
-micscif/​micscif_debug.c 
-micscif/​micscif_rb.c ​ 
-vnet/​micveth_dma.c </​code>​ 
- 
-Voici les opérations nécessaires poir compiler le module associé au noyau : 
-<​code>​ 
-mkdir mpss-modules 
-cd mpss-modules 
-rpm2cpio ../​src/​mpss-modules-3.4.1-1.src.rpm | cpio -idm 
-tar jxf mpss-modules-3.4.1.tar.bz2 ​ 
-# wget http://​www.cbp.ens-lyon.fr/​emmanuel.quemener/​software/​XeonPhi/​PatchDebianWheezyMPSS312.patch 
-# patch -p 1 -i ./​PatchDebianWheezyMPSS312.patch 
-export INSTALL_MOD_PATH=/​lib/​modules/​$(uname -r)/extra 
-export MIC_CARD_ARCH=k1om 
-make  
-make install 
-depmod -a 
-</​code>​ 
- 
- 
-==== Chargement du module MIC ==== 
- 
-Il y a de fortes chances pour que le module ''​mic_host''​ aie été chargé. Il faut donc le décharger et définir une exclusion<​code>​rmmod mic_host 
-echo blacklist mic_host > /​etc/​modprobe.d/​mic.conf 
-</​code>​ 
- 
-Chargement du module par la commande ''​modprobe mic''​ 
- 
-Dans le ''​dmesg''​ on obtient : 
-<​code>​ 
-[37935.298427] mic 0000:​42:​00.0:​ irq 172 for MSI/MSI-X 
-[37935.298475] mic0: Transition from state ready to resetting 
-[37945.235599] [sched_delayed] sched: RT throttling activated 
-[37945.235980] mic_probe 66:0:0 as board #0 
-[37945.236136] mic: number of devices detected 1  
-[37946.237184] mic0: Resetting (Post Code 12) 
-[37946.237217] mic0: Transition from state resetting to ready 
-[37946.237248] My Phys addrs: 0xff3c720000 and scif_addr 0x8021bdf040 
-</​code>​ 
- 
-En tapant ''​ip link show''​ on obtient : 
-<​code>​ 
-1: lo: <​LOOPBACK,​UP,​LOWER_UP>​ mtu 16436 qdisc noqueue state UNKNOWN mode DEFAULT ​ 
-    link/​loopback 00:​00:​00:​00:​00:​00 brd 00:​00:​00:​00:​00:​00 
-2: eth0: <​BROADCAST,​MULTICAST,​UP,​LOWER_UP>​ mtu 1500 qdisc mq state UP mode DEFAULT qlen 1000 
-    link/ether 00:​1e:​67:​7f:​e4:​eb brd ff:​ff:​ff:​ff:​ff:​ff 
-3: eth1: <​BROADCAST,​MULTICAST>​ mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000 
-    link/ether 00:​1e:​67:​7f:​e4:​ec brd ff:​ff:​ff:​ff:​ff:​ff 
-4: eth2: <​BROADCAST,​MULTICAST>​ mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000 
-    link/ether 00:​1e:​67:​7f:​e4:​ed brd ff:​ff:​ff:​ff:​ff:​ff 
-5: eth3: <​BROADCAST,​MULTICAST>​ mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000 
-    link/ether 00:​1e:​67:​7f:​e4:​ee brd ff:​ff:​ff:​ff:​ff:​ff 
-7: mic0: <​BROADCAST>​ mtu 64512 qdisc noop state DOWN mode DEFAULT qlen 1000 
-    link/ether 4c:​79:​ba:​32:​0f:​71 brd ff:​ff:​ff:​ff:​ff:​ff 
-</​code>​ 
- 
-Copie du paramétrage pour le module MIC chargé au démarrage 
-<​code>​ 
-cat /​root/​XeonPhi/​mpss-3.4.1/​mpss-modules/​mic.conf >> /​etc/​modprobe.d/​mic.conf 
-echo mic >> /​etc/​modules 
-</​code>​ 
- 
-Création du ''​initrd''​ 
-<​code>​ 
-update-initramfs -k all -u 
-</​code>​ 
- 
-Sachant que j'​utilise plutôt dracut pour la création de mes ''​initrd''<​code>​dpkg-reconfigure dracut</​code>​ 
-==== Installation des paquets MPSS ==== 
- 
-Les paquets MPSS d'​Intel ont été transformés avec ''​alien''​ dans ''/​root/​XeonPhi/​mpss-3.4.1''​ 
- 
-Les paquets mpss-modules sont supprimés. Les autres installés tel que. 
-<​code>​ 
-cd /​root/​XeonPhi/​mpss-3.4.1 
-rm *mpss-modules*deb 
-ls *-lib*deb | xargs -I '​{}'​ dpkg -i '​{}'​ 
-ls *deb | grep -v '​\-lib'​ | xargs -I '​{}'​ dpkg -i '​{}'​ 
-</​code>​ 
- 
-Par défaut les installations se font dans :<​code>/​opt/​mpss/​3.4.1 
-/​opt/​intel/​mic 
-/etc/mpss 
-/usr/lib64 
-/​usr/​linux-k1om-4.7 
-</​code>​ 
- 
-Ceci n'est plus le cas dans la Debian Jessie. Il est donc nécessaire de rajouter (salement) un chemin allant chercher les librairies dans ''/​usr/​lib64''​. 
- 
-Installation d'un ''​LD_LIBRARY_PATH''​ sur ''/​usr/​lib64''​ : 
-<​code>​echo /usr/lib64 >> /​etc/​ld.so.conf.d/​mic.conf</​code>​ 
- 
-<​code>​ldconfig</​code>​ 
- 
-La commande ''​mpssinfo''​ 
-<​code>​ 
-MpssInfo Utility Log 
-Created Tue Nov 18 20:10:00 2014 
- 
- 
- System Info 
- HOST OS : Linux 
- OS Version : 3.16.0-4-amd64 
- Driver Version : 3.4.1-1 
- MPSS Version : NotAvailable 
- Host Physical Memory : 529403 MB 
- 
-Device No: 0, Device Name: mic0 
- 
- Board 
- Vendor ID : 0x8086 
- Device ID : 0x225c 
- Subsystem ID : 0x7d99 
- Coprocessor Stepping ID : 2 
- PCIe Width : x16 
- PCIe Speed : 5 GT/s 
- PCIe Max payload size : 256 bytes 
- PCIe Max read req size : 512 bytes 
- Coprocessor Model : 0x01 
- Coprocessor Model Ext : 0x00 
- Coprocessor Type : 0x00 
- Coprocessor Family : 0x0b 
- Coprocessor Family Ext : 0x00 
- Coprocessor Stepping : C0 
- Board SKU : C0QS-7120 P/A/X/D 
-</​code>​ 
- 
-Pour démarrer le système sur le Xeon Phi, le démon ''​mpssd''​ s'​attend à trouver un ''/​var/​lock/​subsys''​ pour créer un ''/​var/​lock/​subsys/​mpssd''​. Voici une solution pour que, à chaque démarrage, l'​opération soit réalisée : 
-<​code>​ 
-mkdir /​var/​lock/​subsys 
-sed -i "​s/​^exit/​mkdir\ \/​var\/​lock\/​subsys\nexit/​g"​ /​etc/​rc.local 
-</​code>​ 
- 
-Lancement avec la commande suivante : ''​micctrl \-\-initdefaults''​ dont la sortie est la suivante ​ 
-<​code>​ 
-[Warning] mic0: Generating compatibility network config file /​opt/​intel/​mic/​filesystem/​mic0/​etc/​sysconfig/​network/​ifcfg-mic0 for IDB. 
-[Warning] ​      This may be problematic at best and will be removed in a future release, Check with the IDB release. 
-</​code>​ 
- 
-<​code>​micctrl --config</​code>​ 
- 
-<​code>​ 
-mic0: 
-============================================================= 
-    Config Version: 1.1 
- 
-    Linux Kernel: ​  /​usr/​share/​mpss/​boot/​bzImage-knightscorner 
-    Map File:       /​usr/​share/​mpss/​boot/​System.map-knightscorner 
-    BootOnStart: ​   Enabled 
-    Shutdowntimeout:​ 300 seconds 
- 
-    ExtraCommandLine:​ highres=off 
-    PowerManagment:​ cpufreq_on;​corec6_on;​pc3_on;​pc6_on 
- 
-    Root Device: ​  ​Dynamic Ram Filesystem /​var/​mpss/​mic0.image.gz from: 
- Base: ​     CPIO /​usr/​share/​mpss/​boot/​initramfs-knightscorner.cpio.gz 
- CommonDir: Directory /​var/​mpss/​common 
- Micdir: ​   Directory /​var/​mpss/​mic0 
- 
-    Network: ​      ​Static Pair 
-        Hostname: ​ r720-mic0.cluster.zone. 
-        MIC IP:    172.31.1.1 
-        Host IP:   ​172.31.1.254 
-        Net Bits:  24 
-        NetMask: ​  ​255.255.255.0 
-        MtuSize: ​  64512 
-        MIC MAC:   ​4c:​79:​ba:​1a:​1e:​78 
-        Host MAC:  4c:​79:​ba:​1a:​1e:​79 
- 
-    LDAP:          Disabled 
-     ​NIS: ​         Disabled 
- 
-    Cgroup: 
-        Memory: ​   Disabled 
- 
-    Console: ​       hvc0 
-    VerboseLogging:​ Disabled 
-    CrashDump: ​     /​var/​crash/​mic 16GB 
-</​code>​ 
- 
-Lancement du démon avec ''​mpssd''​ 
- 
-Connaissance de d'​état de la carte avec ''​micctrl --status''​ 
- 
-Au début, j'ai : 
-<​code>​ 
-mic0: booting (mode: linux image: /​usr/​share/​mpss/​boot/​bzImage-knightscorner) 
-</​code>​ 
- 
-Après quelques secondes : 
-<​code>​ 
-mic0: online (mode: linux image: /​usr/​share/​mpss/​boot/​bzImage-knightscorner) 
-</​code>​ 
- 
-Définition de l'​adresse statique de l'​interface mic0 dans ''/​etc/​network/​interfaces''​. De la configuration suivante :<​code>​ 
-# mic0 BEGIN 
-auto mic0 
-iface mic0 inet static 
-        address 172.31.1.254 
-        netmask 255.255.255.0 
-# mic0 END 
-</​code>​ 
- 
-Je préfère passer à une configuration plus étoffée : 
-<​code>​ 
-auto mic0 
-iface mic0 inet static 
-    address 172.31.1.254 
-    netmask 255.255.255.0 
-    broadcast 172.31.1.255 
-    network 172.31.1.0 
-    post-up /​sbin/​iptables -t nat -A POSTROUTING -s 172.31.1.0/​24 -o eth0 -j MASQUERADE 
-</​code>​ 
- 
-<​code>​ 
-echo mic >> /​etc/​modules 
-update-initramfs -k all -u 
-</​code>​ 
- 
-Chargement de l'​interface réseau avec ''​ifup mic0''​ 
- 
-Connexion sur le xeon-phi avec ''​ssh 172.31.1.1''​ 
- 
-Vérification du nombre de processeurs avec ''​cat /​proc/​cpuinfo | grep ^processor | wc -l''​ lequel donne ''​244''​. 
- 
-==== Installation du composant OpenCL ==== 
- 
-=== Installation des composants OpenCL standards === 
- 
-<​code>​ 
-apt-get install amd-clinfo amd-opencl-icd ocl-icd-libopencl1 ocl-icd-dev 
-</​code>​ 
- 
-=== Vérification du fonctionnement de OpenCL avec clinfo === 
- 
-<​code>​ 
-Number of platforms: ​                1 
-  Platform Profile: ​                ​FULL_PROFILE 
-  Platform Version: ​                ​OpenCL 1.2 AMD-APP (938.2) 
-  Platform Name:                 AMD Accelerated Parallel Processing 
-  Platform Vendor: ​                ​Advanced Micro Devices, Inc. 
-  Platform Extensions: ​                ​cl_khr_icd cl_amd_event_callback cl_amd_offline_devices 
- 
-  Platform Name:                 AMD Accelerated Parallel Processing 
-Number of devices: ​                1 
-  Device Type:                     ​CL_DEVICE_TYPE_CPU 
-  Device ID:                     4098 
-  Board name:                      
-  Max compute units: ​                32 
-  Max work items dimensions: ​            3 
-    Max work items[0]: ​                1024 
-    Max work items[1]: ​                1024 
-    Max work items[2]: ​                1024 
-  Max work group size:                 1024 
-  Preferred vector width char:             16 
-  Preferred vector width short: ​            8 
-  Preferred vector width int:             4 
-  Preferred vector width long:             2 
-  Preferred vector width float: ​            4 
-  Preferred vector width double: ​        0 
-  Native vector width char:             16 
-  Native vector width short: ​            8 
-  Native vector width int:             4 
-  Native vector width long:             2 
-  Native vector width float: ​            4 
-  Native vector width double: ​            0 
-  Max clock frequency: ​                ​1200Mhz 
-  Address bits:                     64 
-  Max memory allocation: ​            ​16898804736 
-  Image support: ​                Yes 
-  Max number of images read arguments: ​        128 
-  Max number of images write arguments: ​        8 
-  Max image 2D width: ​                8192 
-  Max image 2D height: ​                8192 
-  Max image 3D width: ​                2048 
-  Max image 3D height: ​                2048 
-  Max image 3D depth: ​                2048 
-  Max samplers within kernel: ​            16 
-  Max size of kernel argument: ​            4096 
-  Alignment (bits) of base address: ​        1024 
-  Minimum alignment (bytes) for any datatype: ​    128 
-  Single precision floating point capability 
-    Denorms: ​                    Yes 
-    Quiet NaNs:                     Yes 
-    Round to nearest even:             Yes 
-    Round to zero:                 Yes 
-    Round to +ve and infinity: ​            Yes 
-    IEEE754-2008 fused multiply-add: ​        Yes 
-  Cache type:                     ​Read/​Write 
-  Cache line size:                 64 
-  Cache size:                     32768 
-  Global memory size:                 ​67595218944 
-  Constant buffer size:                 65536 
-  Max number of constant args:             8 
-  Local memory type:                 ​Global 
-  Local memory size:                 32768 
-  Kernel Preferred work group size multiple: ​    1 
-  Error correction support: ​            0 
-  Unified memory for Host and Device: ​        1 
-  Profiling timer resolution: ​            1 
-  Device endianess: ​                ​Little 
-  Available: ​                    Yes 
-  Compiler available: ​                Yes 
-  Execution capabilities: ​                 
-    Execute OpenCL kernels: ​            Yes 
-    Execute native function: ​            Yes 
-  Queue properties: ​                 
-    Out-of-Order: ​                No 
-    Profiling :                     Yes 
-  Platform ID:                     ​0x7f926ed1bce0 
-  Name:                         ​Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz 
-  Vendor: ​                    ​GenuineIntel 
-  Device OpenCL C version: ​            ​OpenCL C 1.2  
-  Driver version: ​                2.0 (sse2,avx) 
-  Profile: ​                    ​FULL_PROFILE 
-  Version: ​                    ​OpenCL 1.2 AMD-APP (938.2) 
-  Extensions: ​                    ​cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_device_fission cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_popcnt ​ 
-</​code>​ 
- 
-Seuls les processeurs CPU sont détectés 
- 
-=== Installation des composants Python OpenCL === 
- 
-<​code>​ 
-python-pyopencl python-pyopencl-doc 
-</​code>​ 
- 
-=== Vérification du fonctionnement === 
- 
-<​code>​ 
- ​python /​usr/​share/​doc/​python-pyopencl-doc/​examples/​benchmark-all.py ​ 
-</​code>​ 
- 
-<​code>​ 
-('​Execution time of test without OpenCL: ', 7.673499822616577,​ '​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.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 
-</​code>​ 
- 
-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 : ==== 
- 
-Il n'est pas possible de disposer directement de la dernière version OpenCL par un simple ​ 
- 
-<​code>​ 
-cd /​root/​XeonPhi 
-wget http://​registrationcenter.intel.com/​irc_nas/​4181/​opencl_runtime_14.2_x64_4.5.0.8.tgz 
-tar xzf opencl_runtime_14.2_x64_4.5.0.8.tgz ​ 
-cd pset_opencl_runtime_14.1_x64_4.5.0.8/​rpm 
-</​code>​ 
- 
-==== Conversion des RPM en DEB ==== 
- 
-<​code>​ 
-ls *.rpm | xargs -I '​{}'​ alien --scripts '​{}'​ 
-</​code>​ 
- 
-<​code>​ 
-opencl-1.2-base_4.5.0.8-2_amd64.deb 
-opencl-1.2-base-pset_4.5.0.8-2_all.deb 
-opencl-1.2-intel-cpu_4.5.0.8-2_amd64.deb 
-opencl-1.2-intel-mic_4.5.0.8-2_amd64.deb 
-</​code>​ 
- 
- 
-==== Installation des paquets ==== 
- 
-<​code>​ 
-dpkg -i *.deb 
-</​code>​ 
- 
- 
- 
-Un lien est réalisé entre ''/​opt/​intel/​opencl-1.2-3.2.1.16712''​ et '/​etc/​alternatives/​opencl-intel-runtime'​ 
- 
-<​code>​ 
-echo /​etc/​alternatives/​opencl-intel-runtime/​lib64 >> /​etc/​ld.so.conf.d/​mic.conf ​ 
-echo /​etc/​alternatives/​opencl-intel-runtime/​libmic >> /​etc/​ld.so.conf.d/​mic.conf ​ 
-ldconfig 
- 
-clinfo | grep "​Device Type" ​ 
-</​code>​ 
- 
-Plus besoin d'​établir les liens pour l'ICD. 
- 
-3 composants sont détectés : 
-<​code>​ 
-  Device Type:                     ​CL_DEVICE_TYPE_CPU 
-  Device Type:                     ​CL_DEVICE_TYPE_CPU 
-  Device Type:                     ​CL_DEVICE_TYPE_ACCRLERATOR 
-</​code>​ 
- 
-Lancement du test Python OpenCL '​python /​usr/​share/​doc/​python-pyopencl-doc/​examples/​benchmark-all.py'​ :<​code>​ 
-('​Execution time of test without OpenCL: ', 7.768199920654297,​ '​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.000990689 s 
-Results OK 
-=============================================================== 
-('​Platform name:',​ '​Intel(R) OpenCL'​) 
-('​Platform profile:',​ '​FULL_PROFILE'​) 
-('​Platform vendor:',​ '​Intel(R) Corporation'​) 
-('​Platform version:',​ '​OpenCL 1.2 LINUX'​) 
---------------------------------------------------------------- 
-('​Device name:',​ ' ​      ​Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz'​) 
-('​Device type:',​ '​CPU'​) 
-('​Device memory: ', 64463, '​MB'​) 
-('​Device max clock speed:',​ 2700, '​MHz'​) 
-('​Device compute units:',​ 32) 
-/​usr/​lib/​python2.7/​dist-packages/​pyopencl/​__init__.py:​36:​ CompilerWarning:​ Non-empty compiler output encountered. Set the environment variable PYOPENCL_COMPILER_OUTPUT=1 to see more. 
-  "to see more.",​ CompilerWarning) 
-Execution time of test: 0.00065297 s 
-Results OK 
-=============================================================== 
-('​Platform name:',​ '​Intel(R) OpenCL'​) 
-('​Platform profile:',​ '​FULL_PROFILE'​) 
-('​Platform vendor:',​ '​Intel(R) Corporation'​) 
-('​Platform version:',​ '​OpenCL 1.2 LINUX'​) 
---------------------------------------------------------------- 
-('​Device name:',​ '​Intel(R) Many Integrated Core Acceleration Card') 
-('​Device type:',​ '​ACCELERATOR'​) 
-('​Device memory: ', 5772, '​MB'​) 
-('​Device max clock speed:',​ 1100, '​MHz'​) 
-('​Device compute units:',​ 240) 
-Execution time of test: 0.00400693 s 
-Results OK 
-</​code>​ 
-===== Historique ===== 
- 
- 
- 
  
developpement/activites/integration/xeonphi4jessie.txt · Dernière modification: 2015/01/07 10:04 (modification externe)