Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

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

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

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

  • Полная поддержка специализированных аппаратных ускорителей. В том числе реализованы:
    • Механизмы, использующие унифицированную разделяемую память между хост-системой и устройствами сопроцессора;
    • Возможность использования специфичных для определённых устройств реализаций функций;
    • Улучшенное управление неявным отображением данных (data mapping);
    • Возможность смены устройств-ускорителей не прерывая работу;
    • Поддержка обратного выделения вычислительных ресурсов ускорителям (reverse offload);
    • Поддержка неявной генерации функций;
    • Возможность упрощённого копирования объектно-ориентированных структур данных.
  • Два новых программных интерфейса для разработки внешних инструментов отладки и анализа производительности;
  • Поддержка последних версий стандартов языков C, C++ и Fortran: C11, C++17 и Fortran 2008;
  • Поддержка описательных конструкций циклов (descriptive loop) , позволяющих компилятору оптимизировать операции в цикле, не привязываясь к определённой реализации. Новые конструкции циклов предоставляют компилятору больше свободы в выборе оптимальной реализации для специфичной целевой системы;
  • Многоуровневые системы памяти. Предоставлены механизмы распределения памяти, позволяющие размещать данные в различных типах памяти, например, отличающихся пропускной способностью. Новые возможности управления памятью также упрощают работу с современными высокопроизводительными NUMA-системами;
  • Улучшена переносимость. Директива "declare variant" и метадирективы (блок "metadirective", дающий возможность определить несколько вариантов директив, выбираемых в зависимости от контекста) позволяют разработчикам повысить эффективность портирования, адаптируя прагмы OpenMP и пользовательский код на стадии компиляции.

OpenNET

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...