Hybrid Multicore Parallel Programming

Hybrid Multicore Parallel Programming

HMPP (Hybrid Multicore Parallel Programming) 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 [1].

Sommaire

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 : « Pour adresser le monde du multi-cœurs hybride le développeur doit annoter son application et non pas la modifier. » 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

Publications

  • CAPS boosts multicore software applications with HMPP www.hpcwire.com 12 juin 2008
  • CAPS supports AMD FireStream processors www.hpcwire.com 22 juillet 2008
  • An Evolutionary path for High Performance Heterogeneous Multicore Programming par François Bodin www.hpcwire.com 13 juin 2008

Voir aussi

Articles connexes

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Hybrid Multicore Parallel Programming de Wikipédia en français (auteurs)

Игры ⚽ Нужно решить контрольную?

Regardez d'autres dictionnaires:

  • HMPP — Hybrid Multicore Parallel Programming HMPP (Hybrid Multicore Parallel Programming) 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 [1]. Sommaire 1… …   Wikipédia en Français

  • OpenHMPP — HMPP for Hybrid Multicore Parallel Programming. Based on a set of directives, OpenHMPP Standard is a programming model designed to handle hardware accelerators without the complexity associated with GPU programming. This approach based on… …   Wikipedia

  • OpenHMPP — Le Standard Ouvert OpenHMPP (HMPP pour Hybrid Multicore Parallel Programming) est un modèle de programmation basé sur un jeu de directives, conçu pour manipuler les accélérateurs matériels sans se soucier de la complexité associée à la… …   Wikipédia en Français

  • Message Passing Interface — MPI, the Message Passing Interface, is standardized and portable message passing system designed by a group of researchers from academia and industry to function on a wide variety of parallel computers. The standard defines the syntax and… …   Wikipedia

  • Mac OS X Snow Leopard — Mac OS X v10.6 Snow Leopard Part of the Mac OS X family …   Wikipedia

  • Distributed operating system — A distributed operating system is the logical aggregation of operating system software over a collection of independent, networked, communicating, and spatially disseminated computational nodes.[1] Individual system nodes each hold a discrete… …   Wikipedia

  • Cell (microprocessor) — Cell is a microprocessor architecture jointly developed by Sony Computer Entertainment, Toshiba, and IBM, an alliance known as STI . The architectural design and first implementation were carried out at the STI Design Center in Austin, Texas over …   Wikipedia

  • x86 — This article is about Intel microprocessor architecture in general. For the 32 bit generation of this architecture which is also called x86 , see IA 32. x86 Designer Intel, AMD Bits 16 bit, 32 bit, and/or 64 bit Introduced 1978 Design …   Wikipedia

  • Cray — This article is about the corporation. For other uses, see Cray (disambiguation). Cray Inc. Type Public Traded as NASDAQ:  …   Wikipedia

  • Open source — This article is about the production and development model. For its application to software, see Open source software. For the form of intelligence collection management, see Open source intelligence. For other uses, see Open source… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”