Accueil > FORUM TERATEC > Programme > Atelier 3

Forum TERATEC 2014
Atelier 2 - Mercredi 2 juillet 9h00 à 12h30
Calcul scientifique & Open Source : pratiques industrielles des logiciels libres

OpenCL 2.0, OpenCL SYCL & OpenMP 4, standards ouverts pour la programmation parallèle hétérogène

OpenCL 2.0, OpenCL SYCL & OpenMP 4, open standards for heterogeneous parallel programming

Ronan KERYELL
Performance Application Engineering, AMD

Résumé : Avec l'explosion des architectures parallèles hétérogènes dans les systèmes embarqués comme les téléphones jusqu'aux super calculateurs, la programmation parallèle devient LE problème actuel à résoudre. Comme porter un code vers des langages ou bibliothèques parallèles est une tâche ardue, il est particulièrement important de choisir des solutions libres et pérennes. La bonne nouvelle est qu'il y a de nouvelles solutions qui apparaissent pour viser des migrations plus ou moins incrémentales.

Dans cet exposé seront présentées 3 solutions intéressantes : OpenCL 2, OpenMP 4 and OpenCL SYCL.

  • OpenCL 2 est un standard ouvert basé sur C99 développés par les membres de l'organisme de normalisation Khronos pour programmer des accélérateurs offrant du parallélisme massifs depuis un hôte. La dernière version apporte la possibilité de mémoire partagée entre hôte et accélérateur, la possibilité de lancer des noyaux de calculs depuis des noyaux sur l'accélérateur, les primitives atomiques et le modèle mémoire du C11, la notion de traitements de flux de données avec les pipes.

  • OpenMP 4 utilise des #pragma pour rajouter la notion de parallélisme à des langages comme Fortran, C et C++. La version 4 permet de cibler les instructions SIMD (vectorielles) des processeurs modernes, améliore la gestion des tâches et la déclaration d'opérateurs de réductions;

  • OpenCL SYCL est une surcouche C++11 à OpenCL en cours de ratification et qui accepte les commentaires du public. SYCL apporte une grande unification en proposant un modèle de programmation de plus haut niveau abstrayant la communication entre hôte et accélérateur tout en offrant une compatibilité avec OpenCL et donc permettre d'optimiser plus ou moins profondément en autorisant la programmation de certaines parties en OpenCL.

Biographie : Ronan KERYELL

Ronan Keryell travaille chez AMD dans l'équipe « Performance Application Engineering » où il est responsable d'un groupe sur les langages et les compilateurs visant le parallélisme hétérogène. Auparavant il a été impliqué dans 3 start-ups dont SILKAN où il a été directeur scientifique et responsable du projet Par4All de parallélisation automatique et travaillé sur plusieurs compilateurs. Ronan Keryell a eu aussi une carrière scientifique en tant qu'enseignant-chercheur à Télécom Bretagne de 1999 à 2008 où il a travaillé sur des problématiques de processeurs sécurisés, de compilation pour accélérateurs FPGA, de réseaux multimédia, de systèmes d'exploitation. De 1992 à 1999 il a été enseignant-chercheur aux MINES ParisTech où il a travaillé sur le paralléliseur automatique source-à-source PIPS, la compilation d'HPF et l'optimisation de programmes.

Ronan Keryell est ancien élève de l'ENS de la rue d'Ulm (Paris) où il a soutenu sa thèse en 1992 sur la conception de ce qu'on appellerait aujourd'hui un GPU.

fleche La participation à cet atelier est gratuite sous réserve des places disponibles
fleche L'enregistrement en ligne est obligatoire pour y assister. Cliquer ICI pour vous inscrire.  

 

 

 
© Ter@tec - Tous droits réservés - Mentions légales