The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

09.11.2018 10:49  Опубликован стандарт параллельного программирования 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 и пользовательский код на стадии компиляции.


  1. Главная ссылка к новости (https://www.openmp.org/press-r...)
  2. OpenNews: Опубликован стандарт параллельного программирования OpenMP 4.5
  3. OpenNews: В Clang обеспечена полноценная поддержка OpenMP
  4. OpenNews: В проект LLVM вошла разработанная в Intel runtime-библиотека OpenMP. Red Hat представил OpenMP 4.0 для GCC
  5. OpenNews: Выпущены спецификации OpenMP 4.0
  6. OpenNews: Релиз набора компиляторов LLVM 7.0
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: openmp
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Аноним (1), 11:03, 09/11/2018 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    Это бы всё, да в стандарт С++, а не ввиде нашлёпки...
     
     
  • 2.2, nobody (??), 11:06, 09/11/2018 [^] [ответить]    [к модератору]
  • +4 +/
    Ждите executor'ы. Где-нибудь в С++26...
     
     
  • 3.8, Аноним (8), 18:01, 09/11/2018 [^] [ответить]    [к модератору]
  • +/
    http://www.cplusplus.com/reference/future/async/

    Это что ли?

     
     
  • 4.9, Аноним (9), 19:59, 09/11/2018 [^] [ответить]    [к модератору]
  • +/
    В С++11 добавили многопоточность, но очень скудно, и без поддержки гетерогенной памяти и гетерогенных вычислений.
     
     
  • 5.19, pavlinux (ok), 13:50, 13/11/2018 [^] [ответить]    [к модератору]
  • +/
    А SMP-балансировщик и менеджер задач те в кумпилятор не добавить?
     
  • 4.17, nobody (??), 10:50, 12/11/2018 [^] [ответить]    [к модератору]  
  • +/
    Нет. Вот это http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2018/p0443r9.html
     
  • 2.16, Аноним (16), 14:16, 11/11/2018 [^] [ответить]     [к модератору]  
  • +3 +/
    Набор спецификаций для языка в том числе Фортран в стандарт C Набор специфи... весь текст скрыт [показать]
     
  • 1.3, corvuscor (ok), 11:27, 09/11/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    >на многоядерных и гибридных (CPU+GPU/DSP) системах с общей памятью и блоками >векторизации (SIMD). Начальная реализация OpenMP 5.0 уже включена в кодовую >базу GCC

    Звучит прям как нескончаемый поток шоколада. Жаль, что реальность наверняка будет прозаичнее, и работать оно будет только поверх проприетарщины от нвидии.

     
     
  • 2.20, Анонимный Алкоголик (??), 14:28, 14/11/2018 [^] [ответить]    [к модератору]  
  • +/
    >>на многоядерных и гибридных (CPU+GPU/DSP) системах с общей памятью и блоками >векторизации (SIMD). Начальная реализация OpenMP 5.0 уже включена в кодовую >базу GCC
    > Звучит прям как нескончаемый поток шоколада. Жаль, что реальность наверняка будет прозаичнее,
    > и работать оно будет только поверх проприетарщины от нвидии.

    Как дерьма поток звучит.
    Вначале понаделали дерьмовых "вычислительных блоков" и "ускорителей", с уб лю дочной "логикой", потому что очевидно по-другому в ыбля ди не могут, которая вообще не укладывается похоже в поддержку нормальными языками, дальше их проталкивание с "включением в кодовую базу" выб ля дочных экскрементов, чтобы значит это их дерьмо можно было на что-нибудь приспособить... псевдополезное... (нормальным же образом компиляторы не смогут, да...)

     
  • 1.4, Аноним (4), 11:44, 09/11/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –4 +/
    Странный перевод. Параллельное программирование - это когда несколько чуваков параллельно программируют.
     
     
  • 2.5, vanzhiganov (ok), 12:02, 09/11/2018 [^] [ответить]    [к модератору]  
  • +21 +/
    Не, ну вы чО? Это когда всем разработчикам параллельно на все поставленные задачи =)
     
  • 1.7, freehck (ok), 14:04, 09/11/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    > Начальная реализация OpenMP 5.0 уже включена в кодовую базу GCC, на основе которой развивается ветка GCC 9. Отдельные элементы OpenMP 5.0 также будут включены в следующий выпуск LLVM/Clang 8.0.

    Странно. Шланголюбы же на каждом углу кричат о том, что шланг развивается быстрее гцц. :)

     
     
  • 2.18, Аноним (18), 15:22, 12/11/2018 [^] [ответить]    [к модератору]  
  • +/
    Шлангуют...
     
  • 1.11, Аноним (11), 20:46, 09/11/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +5 +/
    MinGW-w64 достали. Юзают проклятый сорсфордж, баг репорт не отправить - там рекапча.

    Тот, кто прячется за рекапчей,
    Не хочет ни баг репортов, ни патчей.

     
     
  • 2.12, Аноним (12), 01:54, 10/11/2018 [^] [ответить]    [к модератору]  
  • +/
    > рекапча

    Имхо рекапча на сайте - это повод сразу закрыть страницу, даже не пытаясь как-то реагировать. Рассматривайте это как аналог "504 Nginx Installed".

     
     
  • 3.14, InuYasha (?), 12:39, 11/11/2018 [^] [ответить]    [к модератору]  
  • +/
    Вот-вот. Я сюда по делу пришёл, а не светофорчики с мотоциклами считать!
     
  • 2.15, Аноним (15), 13:07, 11/11/2018 [^] [ответить]    [к модератору]  
  • –3 +/
    Значит твой багрепорт не нужен и не важен, а сам ты - спамер, либо скрипт, либо спамерский скрипт.

    Только спамерам западло пройти капчу.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor