Intel Xeon PHI

Deux serveurs sont mis à disposition dans le cadre du partenariat ClusterVision/DELL/Intel.

Ces serveurs contiennent chacun deux cartes Xeon(R) PHI (R).

Accéder aux machines PHI

Afin d'y accéder, il faut soumettre un job dans la file d'attente test. Par exemple

qsub -q test

Chaque machine possède 16 cœurs, et 2 cartes PHI. Une fois dans un job qui tourne sur l'une des machines PHI, on peut accéder aux cartes accélératrices, soit par un simple ssh (ssh phi01-mic0 ou ssh phi01-mic1, etc...), soit en utilisant l'offload dans une application.

Afin d'être sûr de ne pas entrer en collision avec un autre utilisateur ayant un job sur la même machine, on peut réserver le nœud en entier (option qsub "-l nodes=1:ppn=16").

La file d'attente test est limitée aux jobs de moins de 24h.

Intel Compiler Suite(R)

Il est nécessaire d'utiliser la dernière version du compilateur Intel pour profiter de la puissance des cartes accélératrices. Cette version, uniquement disponible sur les machines PHI.

Afin de l'utiliser ( se connecter d'abord par un job interactif à une machine PHI ) et charger le module mic:

module load mic

Pour compiler avec ifort sous les Xeon-PHis, utiliser la commande :

source /cm/shared/apps/intel-phi/bin/ifortvars.sh intel64

Quelques liens utiles pour commencer

La programmation par directive

http://www.prace-project.eu/Best-Practice-Guide-Intel-Xeon-Phi-HTML

Les fonctions intrinsèques

http://nf.nci.org.au/facilities/software/intel-ct/13.4.183/Documentation/en_US/compiler_c/main_cls/index.htm#+hh_index.htm
ainsi que quelques précisions pour compiler un code écrit ainsi:
http://software.intel.com/en-us/forums/topic/373453

Le transfert de données

http://software.intel.com/en-us/articles/effective-use-of-the-intel-compilers-offload-features
http://software.intel.com/en-us/articles/fortran-vs-c-offload-directives-and-functions

Un exemple pour tirer la bande passante "maximale"

http://software.intel.com/en-us/forums/topic/382760

Les tutoriaux autour de COI (Compiler Offload Interface)

ces tutoriaux sont situés dans le répertoire : /opt/intel/mic/coi/tutorials/
Ils contiennent des exemples précis d'utilisation des coprocesseurs pour effectuer les transferts ainsi que des noyaux de calcul spécifiques.