Xeon Phi au CRIHAN. Patrick BOUSQUET-MÉLOU (pbm@crihan.fr) 16 Juin 2015



Documents pareils
Rapport 2014 et demande pour Portage de Méso-NH sur Machines Massivement Parallèles du GENCI Projet 2015 : GENCI GEN1605 & CALMIP-P0121

Gestion de clusters de calcul avec Rocks

Rapport d activité Volet Technique

Initiation au HPC - Généralités

Rapport d activité Volet Technique

Architecture des ordinateurs

Infrastructures Parallèles de Calcul

HPC by OVH.COM. Le bon calcul pour l innovation OVH.COM

Rapport de stage Master 2

<Insert Picture Here> Exadata Storage Server et DB Machine V2

Optimisation de logiciels de modélisation sur centre de calcul

LIVRET D INFORMATION. Livret d information des utilisateurs des ressources GENCI dans les centres nationaux

LOT N 1 : ORDINATEURS BORDEREAU DE PRIX IDENTIFICATION DU FOURNISSEUR. Code DESIGNATION QTE PU HT EN EURO MONTANT TOTAL HT EN EURO MONTANT TTC EN EURO

Le calcul intensif chez PSA Peugeot Citroën. TERATEC 28 juin 2011

Quantification d incertitude et Tendances en HPC

Spécifications détaillées

Tests de performance du matériel

CH.3 SYSTÈMES D'EXPLOITATION

Big Data. Cyril Amsellem Consultant avant-vente. 16 juin Talend

Architecture des calculateurs

Protection des données avec les solutions de stockage NETGEAR

Spécifications détaillées

Retour d expérience en Astrophysique : utilisation du Cloud IaaS pour le traitement de données des missions spatiales

Spécifications Techniques Générales. Techno Pole Internet. Lycée Djignabo / Ziguinchor

LIVRET D INFORMATION. Livret d information des utilisateurs des ressources GENCI dans les centres nationaux

Runtime. Gestion de la réactivité des communications réseau. François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I

Version de novembre 2012, valable jusqu en avril 2013

Choix d'un serveur. Choix 1 : HP ProLiant DL380 G7 Base - Xeon E GHz

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Etude d architecture de consolidation et virtualisation

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Diagrammes de Package, de déploiement et de composants UML

EN Télécom & Réseau S Utiliser VMWARE

Architecture Technique

Hyper-V et SC Virtual Machine Manager sous Windows Server 2008 R2

Quoi de neuf en contrôle/commande et systèmes embarqués (RIO, WSN...)?

CAHIER DES CHARGES D IMPLANTATION

Segmentation d'images à l'aide d'agents sociaux : applications GPU

Performances de la programmation multi-thread

Génération de code binaire pour application multimedia : une approche au vol

Calcul Haute Performance & Données

Introduction à la Programmation Parallèle: MPI

Consolidation de stockage

Programmation C. Apprendre à développer des programmes simples dans le langage C

Introduction au langage C

Programmation parallèle et ordonnancement de tâches par vol de travail. Thierry Gautier MOAIS, INRIA, Grenoble

1. Structure d'un programme FORTRAN 95

GCOS 7 sur microprocesseur standard Diane Daniel POIRSON 14 octobre 2004 Matériels 64 / DPS 7 / DPS 7000 Architecture & Evolution - Daniel POIRSON 1

Guide d installation JMap 5.0

Virtualisation et le hosting. Christophe Lucas Sébastien Bonnegent rouen.fr>

Règles et paramètres d'exploitation de Caparmor 2 au 11/12/2009. Pôle de Calcul Intensif pour la mer, 11 Decembre 2009

ORACLE EXADATA DATABASE MACHINE X2-2

Cluster de calcul Freeware en Océanographie Opérationnelle

Gamme Serveurs HP ProLiant Rack

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Configuration système requise pour les grandes et moyennes entreprises

Systèmes et traitement parallèles

Module : Virtualisation à l aide du rôle Hyper-V

Journée Utiliateurs Nouvelles du Pôle ID (Informatique) Pierre Neyron, LIG/CNRS

WN/CMGC/08/98. Enjeu et problématique du portage d'arpege-nemo sur calculateurs super-scalaires. Eric Maisonnave

EN Télécom & Réseau S Utiliser VMWARE

CREER UNE VM DANS WORKSATION. Créer un Virtual Machine dans VMware Workstation 9

libérez votre innovation avec l extreme computing CEA/Philippe Stroppa

Atelier : Virtualisation avec Xen

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Cluster High Availability. Holger Hennig, HA-Cluster Specialist

PREREQUIS TECHNIQUES ETAFI DECISIV. PRT ETAFI Decisiv 12/2014 Page 1 sur 16

Marché à procédure adaptée (en application de l article 28 du code des Marchés Publics)

Manuel utilisateur (Manuel_utilisateur_version pdf) Manuel Reprise des données (Manuel_Reprise_donnees_version

Cours Informatique Master STEP

Editeur de solutions innovantes C 3. Solution globale managée de communication et de téléphonie sur IP

ETUDE COMPARATIVE DES MODELISATIONS NUMERIQUE ET PHYSIQUE DE DIFFERENTS OUVRAGES D EVACUATION DES CRUES

Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D.

Les environnements de calcul distribué

Hyper-V v2 : une évolution majeure des services de virtualisation

Chapitre 1. Infrastructures distribuées : cluster, grilles et cloud. Grid and Cloud Computing

Exigences système Edition & Imprimeries de labeur

Faulconnier Bastien SIO2. Cahier des charges. Choix et mise en œuvre d'un datacenter pour Infrastructure Cloud. Pour la société :

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Communications performantes par passage de message entre machines virtuelles co-hébergées

Happy birthday ZSet High performance computing dans ZSet

VMWARE VSPHERE ESXI INSTALLATION

Concept de machine virtuelle

Sauvegardes à l'observatoire Astronomique de Strasbourg

Configuration Matérielle et Logicielle AGORA V2

ORACLE EXADATA DATABASE MACHINE X2-8

Introduction au calcul parallèle avec OpenCL

Présentation d HyperV

Journée CUME 29 Mars Le déport d affichage. Vincent Gil-Luna Roland Mergoil.

Performances et optimisations

L ingénierie numérique libre et CAELinux: passé, présent et avenir

Introduction à la programmation des GPUs

Le Programme SYGADE SYGADE 5.2. Besoins en équipement, logiciels et formation. UNCTAD/GID/DMFAS/Misc.6/Rev.7

T. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet 5

Mon Sommaire. INEO.VPdfdf. Sécurisations des accès nomades

INFO-F-404 : Techniques avancées de systèmes d exploitation

Configuration système requise. pour les grandes et moyennes entreprises

PVM 1 PVM. Parallel Virtual Machine

Transcription:

Xeon Phi au CRIHAN Patrick BOUSQUET-MÉLOU (pbm@crihan.fr) 16 Juin 2015

Objectifs Veille technologique architecture many-core Se former pour préparer les utilisateurs au Xeon Phi «Knights Landing» (2016) Administration Programmation sur cette architecture many-core Ouvrir ce type d architecture à des chercheurs désireux de la tester Acquérir en 2016 plusieurs nœuds de calcul dotés du (co -) processeur Phi «Knights Landing» (> 60 cœurs, 4 threads/cœur) Préparer les chercheurs à l apparition de clusters de ce type dans les centres nationaux ou internationaux 2

Xeon Phi au CRIHAN Configuration disponible 1 serveur IBM dx360-m4 2 x (CPU Ivy Bridge) @ 2,5 GHz 20 cœurs 2 cartes Xeon Phi «Knights Corner» (KNC) 128 Go RAM 3

Xeon Phi au CRIHAN (2) Knights Corner (KNC) Co-processeur 1 TFlop/s double précision 60 cœurs (x 4 threads) @ 1,052 GHz 8 GB de mémoire (7 GB utiles) Connexion CPU / KNC PCIe Gen2 4

Xeon Phi au CRIHAN (3) Environnement logiciel (sur Antares) Compilateur Intel 13.1.1 et 14.0.2, librairie Intel MPI 4.1.0 et 5.0.2 BLAS / LAPACK / FFTW, ScaLAPACK avec MKL modules «mkl/11.0.3/mic-native/*» Scotch (partition de maillage) module «scotch/6.0.0_mic-native» HDF5 module «hdf5/1.8.11/mic-native» Usage général de modules : http://www-tech.crihan.fr/calcul/tech/documentation-ibm-clusteridataplex-antares/modules/ 5

Modèles de programmation Trois approches d utilisation du Xeon Phi Une application parallèle (MPI et/ou OpenMP) écrite dans un langage stantard (FORTRAN, C, C++) peut utiliser un Phi de trois manières 1.Mode natif Compilation avec l option «-mmic» du compilateur Intel 2.Mode «offload» Exécution de sections de codes sur un co-processeur (les autres sections sur les CPU du serveur hôte) https://software.intel.com/sites/default/files/ee/90/offload-compilerruntime-for-the-intel-xeon-phi-coprocessor-130315.pdf http://www.prace-ri.eu/best-practice-guide-intel-xeon-phi-html/ 6

Modèles de programmation (2) Trois approches d utilisation du Xeon Phi (2) BLAS/LAPACK et FFT : mode «offload» avec la librairie MKL : https://software.intel.com/sites/default/files/ 11MIC42_How_to_Use_MKL_Automatic_Offload_0.pdf https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor 3.Mode symétrique Un calcul dont les processus MPI s exécutent sur CPU (hôte) et sur un Phi mpirun -host localhost -n 20./code.cpu : -host mic0 -n 120./code.mic 7

Modèles de programmation (3) Mode «offload» Directives interprétées par compilateur Intel program hello use omp_lib implicit none real*8 sum; integer :: i,n,nt n=2000000000 sum=0.0d0!dec$ offload begin target(mic:0)!$omp parallel do reduction(+:sum) do i =1,n sum = sum + i enddo nt=omp_get_max_threads() #ifdef MIC print*, "Hello MIC reduction",sum," threads:",nt #else print*, "Hello CPU reduction",sum," threads:",nt #endif!dec$ end offload #include <omp.h> int main(){ double sum; int i,n, nt; } n=2000000000; sum=0.0e0; #pragma offload target(mic:0) { #pragma omp parallel for reduction(+:sum) for(i=1;i<=n;i++){ sum = sum + i; } nt = omp_get_max_threads(); #ifdef MIC printf("hello MIC reduction %f threads: %d\n",sum,nt); #else printf("hello CPU reduction %f threads: %d\n",sum,nt); #endif } end program 8

Architectures et programmations parallèles Multi-core / many-core (futur proche) Processeur multi-core Multi-core Many-core Xeon Phi Exécution multi-core Exécution symétrique Codes à parallélisme Codes intermédiaires standard Offload Codes à sections hautement parallèles (déportées sur co-processeur Phi) Exécution many-core (mode natif sur Phi) Codes les plus massivement parallèles 9

Applications scientifiques de référence Portées ou en cours de portage sur Xeon Phi https://software.intel.com/en-us/articles/intel-xeon-phi-coprocessorapplications-and-solutions-catalog Climat : WRF Chimie : GAMESS (en cours), NWChem Dynamique moléculaire : AMBER, DL-poly (en cours), LAMMPS, NAMD Mécanique : ANSYS Mechanical, ABAQUS (en cours) CFD : OpenFOAM (en cours) Etc. 10

230# 210# Temps (s) pour 4000 itérations SOR Test de noyaux Poisson 2D (en natif sur Phi) 190# 170# 150# 130# 110# MPI# MPI#+#2#threads# OpenMP# MPI#+#4#threads# OpenMP# Différences finies, solveur SOR, maillage 8192 x 8192 MPI + 2 threads OpenMP 90# 60# 120# 240# # total de threads 17% plus rapide que MPI 160# 140# 120# 100# Meilleure performance (temps (s)) sur un Phi et son serveur hôte (Ivy Bridge) 80# 60# 40# 20# 0# 95# 138# Xeon#Phi,#240#threads#(60# MPI#x#4#OpenMP)# CPU#Ivy#Bridge,#20# processus#mpi# MPI + 4 threads OpenMP 20% plus rapide que MPI Pour ce maillage (8192 x 8192, ~ 500 Mo de mémoire) un Xeon Phi (KNC) est 45% plus rapide que le serveur hôte (20 cœurs Ivy Bridge) 11

12,00# 10,00# 8,00# 6,00# 4,00# 2,00# 0,00# 1600" 1400" 1200" 1000" 800" 600" 400" 200" 0" Maillage 128x128x128, séparation de phases, 0,5 s Accélération par rapport à 8 processus 8# 16# 32# 64# 128# Temps (s) de communication sur Xeon Phi 64" 128" Xeon#Phi#(KNC)# Nehalem# # processus MPI MPI_Allreduce" MPI_Sendrecv" # processus MPI Test d applications ARCHER (en natif sur Phi) Auteurs : A. Berlemont, T. Ménard, CORIA UMR 6614 Code MPI de mécanique des fluides diphasique (suivi d interface en méthode level set) Testé tel quel sur Xeon Phi Chute de performance au-delà de 64 processus Profilage avec Intel MPI export I_MPI_STATS=ipm export I_MPI_STATS_FILE=mpistats.out 12

Test d applications (2) ARCHER (en natif sur Phi) (2) 9000" 8000" 7000" 6000" 5000" 4000" 3000" 2000" 1000" Maillage 128x128x128, séparation de phases, 0,5 s Temps elapsed (s) MPI" MPI"+"2"threads" OpenMP" MPI"+"4"threads" OpenMP" Ajout d OpenMP Solveur MGCG (~ 50% d ARCHER) 64 MPI x 2 threads OpenMP 8% de gain par rapport à la meilleure performance MPI (64) 0" 8" 16" 32" 64" 128" # total de threads 13

Maillage 128x128x128 (4,5 Go de mémoire) Test d applications (3) ARCHER (en natif sur Phi) (3) 2000$ 1800$ 1600$ 1400$ 1200$ 1000$ 800$ 600$ 400$ 200$ 0$ Séparation de phases, 0,5 s 1716$ Temps elapsed (s) 552$ Xeon$Phi,$128$threads$(64$ MPI$x$2$OpenMP)$ Ivy$Bridge,$16$processus$ MPI$ Pour ARCHER avec ce cas d utilisation et ce maillage (~ 5 Go de mémoire) Le serveur hôte est 3 fois plus rapide qu un Xeon Phi (KNC) 14

Xeon Phi de 2016 Knights Landing (KNL) Informations publiques https://software.intel.com/en-us/articles/what-disclosures-has-intelmade-about-knights-landing Caractéristiques > 3 TFlop/s double précision 60 cœurs (x 4 threads) Jeu d instructions AVX-512 (32 instructions par cycle) Jusqu à 16 GB de mémoire (MCDRAM) embarquée haut débit (400 GB/s), mémoire cache ou allouable par code 15

Xeon Phi de 2016 (2) Knights Landing (KNL) Version processeur (1 KNL par nœud de calcul) support de 384 GB de mémoire (DDR4) avec 6 canaux Bus d entrées-sorties : jusqu à 36 voies PCIe Gen3 Contrôleur réseau intégré Intel Omni-Path Version co-processeur Connexion PCIe entre hôte et co-processeur 16

Perspectives Xeon Phi KNL Plate-forme d expérimentation KNL en 2016 pour le Pôle Régional de Modélisation Numérique (PRMN) Version processeur Version co-processeur Formations utilisateurs 17

Centre de Ressources Informatique de Haute-Normandie