(HMPP) est un ensemble d'outils de développement au service de la programmation multi-cœurs hybride. HMPP est un produit commercial de CAPS entreprise.
Description La suite HMPP comprend deux outils : un compilateur C et Fortran ; un environnement d'exécution.
Plates-formes supportées : Debian 4.0 et supérieure ; RedHat Entreprise Linux 4.5 et supérieure ; RedHat Entreprise Linux 5.1 et supérieure.
Les principes
L'idée fondatrice est : De ce principe est né un jeu de directives de compilation. Lesquelles permettent la déclaration et l'appel de codelets, pouvant être déportés et exécutés sur des accélérateurs. Elles indiquent également les conditions d'exécution des codelets (synchrone, asynchrone, garde) et permettent aussi de spécifier les transferts de données.
Les codelets étant liés dynamiquement à l'application, HMPP peut, sans nécessiter de recompilation, utiliser de nouveaux accélérateurs ou même des versions améliorées des codelets.
Les directives HMPP Les directives HMPP permettent l'exécution distante de partie de code ainsi qu'une gestion des transferts de données vers et depuis les accélérateurs matériels.
Reconnaître une directive HMPP <label> : identifiant unique pour un couple (codelet, callsite)
<directive type> : type de directive HMPP
<directive parameter> : paramètre de directive HMPP
[&] : permet de continuer la directive sur une nouvelle ligne
Langage C #pragma hmpp <label> <directive type> [, <directive parameter>]* [&]
Langage Fortran !hmpp <label> <directive type> [, <directive parameter>]* [&]
Type des directives HMPP
Les directives principales sont : codelet callsite
La directive codelet permet de déclarer une fonction comme étant un codelet. La directive callsite permet l'appel d'un codelet dans le code.
Les directives suivantes permettent une utilisation plus avancée (asynchronisme) : hmppGlobalInit synchronize advanceload delegatedstore release
Références par Alan Chun-Wai Leung télécharger la thèse , Boston, MA information par E. Petit, F. Bodin, R. Dolbeau. (CPC2007), Blog de DougOF et Strypdbass par François Robin
Publications www.hpcwire.com www.hpcwire.com par François Bodin www.hpcwire.com
Voir aussi Articles connexes Calcul parallèle Programmation concurrente GPGPU GPU SSE MPI OpenMP CUDA OpenHMPP
Liens externes Le site officiel d'HMPP CAPS entreprise OpenHMPP
Catégorie:Programmation concurrente Catégorie:Calcul parallèle