Гібридне багатоядерне паралельне програмування
НМРР (Гібридне багатоядерне паралельне програмування)[1] являє собою набір інструментальних засобів розробки на службі гібридного багатоядерного програмування. НМРР є комерційним CAPS продукції підприємства.
Опис
Пакет включає в себе два інструменти НМРР:
- C і Fortran компілятор,
- Виконавчий.
Підтримувані платформи:
Принципи
Основна ідея полягає в наступному: "Для того, щоб звернутися до світу гібридного багатоядерного розробника повинен анотувати додаток, а не змінити його. "Цей принцип був створений для набору директив компілятора. Які дозволяють декларації та виклики codelets, які можуть бути депортовані і виконані на прискорювачах. Вони також показують умови для реалізації codelets (синхронний, асинхронний, сторож), а також вказати передачу даних. Codelets, динамічно пов'язана з додатком, можуть використовувати НМРР без необхідності перекомпіляції, використання нових прискорювачів або навіть поліпшених версій codelets.[3]
Директиви НМРР
У НМРР директиви, що дозволяють виконувати частину коду дистанційного керування, і управління передачі даних і з апаратних прискорювачів.
Визначення директиви НМРР
<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[2]
Примітки
- Hybrid Multicore Parallel Programming. https://fr.wikipedia.org (Французька). Процитовано 24.11.2016.
- HMPP Directives. https://www.olcf.ornl.gov. Процитовано 24.11.2016.
- A Hybrid Multi-core Parallel Programming Environment. ftp://ftp.keldysh.ru. Процитовано 24.11.2016.