НМРР (Гібридне багатоядерне паралельне програмування) являє собою набір інструментальних засобів розробки на службі гібридного багатоядерного програмування. НМРР є комерційним CAPS продукції підприємства.
Опис Пакет включає в себе два інструменти НМРР: C і Fortran компілятор, Виконавчий. Підтримувані платформи: Debian 4.0 і вище. Red Hat Enterprise Linux 4.5 і вище. Red Hat Enterprise Linux 5.1 і вище.
Принципи Основна ідея полягає в наступному: "Для того, щоб звернутися до світу гібридного багатоядерного розробника повинен анотувати додаток, а не змінити його. "Цей принцип був створений для набору директив компілятора. Які дозволяють декларації та виклики codelets, які можуть бути депортовані і виконані на прискорювачах. Вони також показують умови для реалізації codelets (синхронний, асинхронний, сторож), а також вказати передачу даних. Codelets, динамічно пов'язана з додатком, можуть використовувати НМРР без необхідності перекомпіляції, використання нових прискорювачів або навіть поліпшених версій codelets.
Директиви НМРР У НМРР директиви, що дозволяють виконувати частину коду дистанційного керування, і управління передачі даних і з апаратних прискорювачів.
Визначення директиви НМРР <label>: унікальний ідентифікатор для пари (codelet, callsite)
<directive typ>: тип директиви НМРР
<directive parameter>: директива Параметр НМРР
[&]: Щоб продовжити директиву на новому рядку
Мова C #pragma hmpp <label> <directive type> [, <directive parameter>]* [&]
Мова Fortran !hmpp <label> <directive type> [, <directive parameter>]* [&]
Принципи типу НМРР Основними напрямками є: codelet callsite
Директива codelet оголошує функцію як codelet. Директива дозволяє callsite викликати codelet в коді.
Наступні рекомендації дозволяють більш розширене використання (асинхронний): hmppGlobalInit synchronize advanceload delegatedstore release
Примітки