Гібридне багатоядерне паралельне програмування

НМРР (Гібридне багатоядерне паралельне програмування)[1] являє собою набір інструментальних засобів розробки на службі гібридного багатоядерного програмування. НМРР є комерційним CAPS продукції підприємства.

Опис

Пакет включає в себе два інструменти НМРР:

  • C і Fortran компілятор,
  • Виконавчий.

Підтримувані платформи:

  • Debian 4.0 і вище.
  • Red Hat Enterprise Linux 4.5 і вище.
  • Red Hat Enterprise Linux 5.1 і вище.[2]

Принципи

Основна ідея полягає в наступному: "Для того, щоб звернутися до світу гібридного багатоядерного розробника повинен анотувати додаток, а не змінити його. "Цей принцип був створений для набору директив компілятора. Які дозволяють декларації та виклики 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]

Примітки

  1. Hybrid Multicore Parallel Programming. https://fr.wikipedia.org (Французька). Процитовано 24.11.2016.
  2. HMPP Directives. https://www.olcf.ornl.gov. Процитовано 24.11.2016.
  3. A Hybrid Multi-core Parallel Programming Environment. ftp://ftp.keldysh.ru. Процитовано 24.11.2016.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.