Опубликован стандарт параллельного программирования OpenMP 4.5

29 ноября 2015 года

После двух с половиной лет разработки опубликован набор спецификаций OpenMP 4.5 (Open Multi-Processing), определяющих API и способы применения методов параллельного программирования для языков Си, Си++ и Фортран на многоядерных и гибридных (CPU+GPU/DSP) системах с общей памятью и блоками векторизации (SIMD). OpenMP 4.5 примечателен расширением средств для параллельного программирования на системах с аппаратными ускорителями и GPU, а также поддержкой распараллеливания циклов с хорошо структурированными зависимостями. Реализация OpenMP 4.5 уже почти завершена в GCC и будет представлена в выпуске GCC 6.0, а также уже началась в экспериментальной ветке Clang, в которой формируется выпуск 3.8.

Основные новшества OpenMP 4.5:

  • Значительно улучшена поддержка дополнительных аппаратных вычислительных устройств, таких как специализированные аппаратные ускорители. Реализованы механизмы для привязки к подобным устройствам операций с неструктурированными данными или асинхронного выполнения кода. Добавлены процедуры для управления памятью устройства, позволяющие выделять, копировать и высвобождать блоки памяти;
  • Представлен механизм "doacross loops", позволяющий организовать распараллеливание циклов с хорошо структурированными зависимостями;
  • Новая конструкция "taskloop", позволяющая разделять циклы на задачи, избегая необходимости выполнения всех потоков внутри цикла;
  • Поддержка сокращения (редукции) массивов С/С++;
  • Новые механизмы hint-ов, через которые можно задать параметры выставления задачам относительных приоритетов и выбора предпочтительных средств синхронизации;
  • Поддержка привязки (affinity) потоков к заданным вычислительным устройствам;
  • Возможность распараллеливания многих приложений, написанных в соответствии со спецификацией Fortran 2003;
  • Поддержка расширений SIMD, в том числе возможность указать точное число обработчиков в потоке (метрика SIMD Width) и дополнительные атрибуты при обращении к общим данным.

Источники править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Опубликован стандарт параллельного программирования OpenMP 4.5», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.