Programación paralela híbrida multinúcleo

HMPP ( Programación paralela híbrida multinúcleo ) es un conjunto de herramientas de desarrollo para la programación multinúcleo híbrida. HMPP es un producto comercial de la empresa CAPS.

Descripción

La suite HMPP incluye dos herramientas:

Plataformas compatibles:

Los principios

La idea fundacional es: “Para abordar el mundo del híbrido multinúcleo, el desarrollador debe anotar su aplicación y no modificarla. " Este principio nació de un conjunto de directivas de compilación. Que permiten la declaración y llamada de codelets, que pueden ser deportados y ejecutados en aceleradores. También indican las condiciones para ejecutar codelets (síncronos, asíncronos, guardia) y también permiten especificar transferencias de datos.

Dado que los codelets están vinculados dinámicamente a la aplicación, HMPP puede, sin necesidad de volver a compilarlos, utilizar nuevos aceleradores o incluso versiones mejoradas de los codelets.

Pautas de HMPP

Las directivas HMPP permiten la ejecución remota de parte del código, así como la gestión de transferencias de datos hacia y desde aceleradores de hardware.

Reconocer una directiva HMPP

<label>: identificador único para una pareja (codelet, callsite)

<directiva de tipo>: tipo de directiva HMPP

<directiva de parámetro>: parámetro de directiva HMPP

[&]: permite continuar la directiva en una nueva línea

Lenguaje C

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

Idioma fortran

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

Tipo de directivas HMPP

Las principales pautas son:


La directiva codelet permite declarar una función como codelet. La directiva del sitio de llamadas permite la llamada de un codelet en el código.


Las siguientes directivas permiten un uso más avanzado (asincronismo):

Referencias

Publicaciones

Ver también

Artículos relacionados

enlaces externos