HMPP

Un article de Wikipédia, l'encyclopédie libre.

VIOLATION POSSIBLE DU DROIT D’AUTEUR

Cet article enfreint probablement un droit d’auteur. Il est la copie conforme de tout ou partie du site :

http://www.caps-entreprise.com/hmpp_fr.html

Pour tout éclaircissement et information complémentaires, consultez la note « HMPP » dans la liste des pages soupçonnées de violation de copyright, ainsi que la page de discussion de cet article.

  1. Merci de ne pas modifier cette page pour le moment.
  2. Si vous possédez les droits d’auteur du contenu qui suit, ou si vous avez la permission d’utilisation sous les termes de la Licence de documentation libre GNU, merci de l’indiquer sur cette page de discussion et sur la note « HMPP ».
  3. Merci de ne pas rétablir le contenu qui était présent ici. Il sera retiré. Cet article sera restauré si Wikipédia obtient la permission du détenteur des droits d’auteur.
  4. Si vous voulez tout de même travailler sur cet article merci de le faire sur la page de discussion.
  5. Si les statuts du contenu ne sont pas clarifiés, ce contenu sera supprimé au bout d’une semaine.
  • Ajouter des travaux sous droit d’auteur sans autorisation expresse est une violation des lois applicables à ce site et va à l’encontre de notre fonctionnement. Ceux qui ajoutent plusieurs fois du contenu sous copyright en ignorant cette règle seront bloqués.
  • La version originale de l’article qui est discutée est visible grâce à l’historique de cette page.

HMPP™ (Hybrid Multicore Parallel Programming) est une plate-forme qui permet aux développeurs d'intégrer facilement et rapidement des accélérateurs matériels dans leurs applications afin de construire de puissantes applications multi-cœurs.

Cette technologie est développée par CAPS entreprise.

Sommaire

[modifier] Le concept

Le concept d'HMPP™ est d'intégrer l'utilisation des accélérateurs matériels dans les applications plutôt que d'avoir à modifier les applications afin de les rendres compatibles aux accélérateurs matériels. Les versions matérielles de fonctions de calculs devant s'exécuter sur les accélérateurs sont dissociées du code source de l'application.

[modifier] Les principes

La suite HMPP™ comprend des outils logiciels et un environnement d'exécution. Basée sur un jeu de directives de compilation, la suite HMPP™ permet le développement en C et Fortran d'applications multi-cœurs hybrides sur systèmes Unix.

Les directives permettent de déclarer des fonctions, appelées codelets, pouvant être exécutées sur des accélérateurs. Elles indiquent également les conditions d'exécution des codelets, leur propriété synchrone ou asynchrone ainsi que les transferts de données.

Les codelets étant liés dynamiquement à l'application, HMPP™ peut, sans nécessiter de re-compilation, utiliser de nouveaux accélérateurs ou même des versions améliorées des codelets.

[modifier] 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.

[modifier] Syntaxe des directives 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

[modifier] Langage C

#pragma hmpp <label> <directive type> [, <directive parameter>]* [&]

[modifier] Langage Fortran

!hmpp <label> <directive type> [, <directive parameter>]* [&]

[modifier] Type des directives HMPP™

[modifier] hmppGlobalInit

A traduire...

The global initialization point directive is the unique exception of the directive syntax general form:

#pragma hmpp hmppGlobalInit

This optional directive defines a point in the program where the initialisation of HMPP runtime can be performed (default is in the main function). This point should be reached only once during the program execution and should dominate all other HMPP directives (executed before all of them).

A traduire...

  • codelet
  • callsite
  • synchronize
  • advanceload
  • delegatedstore
  • release


[modifier] Voir aussi

[modifier] liens externes