URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 91203
[ Назад ]

Исходное сообщение
"Выпущены спецификации OpenMP 4.0"

Отправлено opennews , 10-Авг-13 22:36 
Увидел свет (http://openmp.org/wp/2013/07/openmp-40/) набор  спецификаций OpenMP 4.0 (http://openmp.org/wp/openmp-specifications/) (Open Multi-Processing), определяющих API и способы применения методов параллельного программирования для языков Си, Си++ и Фортран. Ключевыми нововведениями OpenMP 4.0 стали поддержка ускорения за счет привлечения мощностей GPU, значительные улучшения в модели выполнения задач, добавление механизмов обработки ошибок и поддержка определенных пользователем редукций.


Новые возможности в API версии 4.0 включают в себя:


-  Поддержка ускорения вычислений за счёт задействования дополнительных аппаратных вычислительных устройств, таких как GPU. С рядом производителей была проделана значительная работа для обеспечения поддержки разнообразных вычислительных устройств. Теперь API OpenMP предоставляет механизмы, позволяющие указать, что некая область кода и/или данных должны быть обработаны с использованием другого вычислительного устройства. Уже реализовано несколько прототипов поддержки различных акселераторов.

-  Для векторизации последовательных и параллелизированных циклов задействованы инструкции SIMD (http://ru.wikipedia.org/wiki/SIMD). Поскольку в подавляющем большинстве современных процессоров есть SIMD блоки, существует необходимость в кроссплатформенном доступе к подобным возможностям CPU. API OpenMP 4.0 предоставляет механизмы для указания того, как распараллелить циклы с использованием инструкций SIMD и как определить версии функций, которые можно вызывать в блоках, использующих SIMD.

-  Обработка ошибок. API OpenMP 4.0 теперь предоставляет средства для обработки ошибок, что должно повысить надежность и стабильность приложений OpenMP при наличии системных ошибок, ошибок времени выполнения ("runtime-level errors") и ошибочных ситуаций, определенных пользователем. Определена возможность прекращения параллельного выполнения, основанная на условной отмене и определяемых пользователем точках отмены выполнения.

-  Привязка потоков (Thread affinity). API OpenMP 4.0 предоставляет механизмы для указания где именно выполнять потоки OpenMP. При этом обеспечивается разделение специфики платформ от алгоритмов.

-  Параллелизм на уровне задач (Tasking extensions). API OpenMP 4.0 предоставляет ряд расширений для поддержки параллельного выполнения на уровне задач. Задачи можно группировать для обеспечения их глубокой синхронизации. Группа задач может быть прервана целиком, что может применяться для совместно выполняемого набора задач, таких как поиск, в ситуации, когда нахождение желаемого результата завершает всю группу совместно работавших над его получением задач. Также поддерживается синхронизация задачи с задачей, путем определения зависимостей.

-  Поддержка Fortran 2003. Стандарт Fortran 2003 вобрал в себя множество возможностей современных языков программирования. Поддержка Fortran 2003 позволяет параллелизировать программы на данном языке программирования. Кроме всего прочего, это включает в себя поддержку взаимодействия Fortran и C.

-  Определяемые пользователем редукции (http://ru.wikipedia.org/wiki/%D0%A0%D0%B... (User-defined reductions). Ранее API стандарта OpenMP поддерживал редукцию с использованием базового языка операторов и внутренних процедур. API OpenMP 4.0 предоставляет средства для определения редукций пользователем.

-  Атомарная последовательная консистентность (http://ru.wikipedia.org/wiki/%D0%9F%D0%B... (Sequentially consistent atomics). Добавлена конструкция, позволяющая программисту принудительно применять последовательную консистентность для областей хранения, поддерживающих атомарный доступ.

URL: http://openmp.org/wp/2013/07/openmp-40/
Новость: http://www.opennet.me/opennews/art.shtml?num=37635

[сообщение отредактировано модератором]


Содержание

Сообщения в этом обсуждении
"Выпущены спецификации OpenMP 4.0"
Отправлено Аноним , 10-Авг-13 22:36 
позитивно =)
то, чего ТАК долго ждали - вышло-таки )
*ушел пилить*

"Выпущены спецификации OpenMP 4.0"
Отправлено Толстеннный троллль , 10-Авг-13 22:50 
В какой версии gcc ждать полную поддержку?

"Выпущены спецификации OpenMP 4.0"
Отправлено Аноним , 11-Авг-13 01:47 
4.9.х ? :)

"Выпущены спецификации OpenMP 4.0"
Отправлено Аноним , 11-Авг-13 09:09 
в Clang 3.4

"Выпущены спецификации OpenMP 4.0"
Отправлено Аноним , 11-Авг-13 12:29 
Да ты шутник, однако. Clang на данный момент совсем не поддерживает OpenMP, и это является его единственным недостатком, ведь в остальном он идёт вровень с GCC.

"Выпущены спецификации OpenMP 4.0"
Отправлено Алексей , 12-Авг-13 09:56 
А по генерируемому bloatware уже далеко впереди.

"Выпущены спецификации OpenMP 4.0"
Отправлено Аноним , 10-Авг-13 23:47 
GPU очень интересно, особенно в счязи с прогрессом Galluim Cmpute, Clover. Подозреваю что из за того что он на тормозном распиареном llvm, OpenMP там не будет еще лет 10. Но на gcc по определению такого нет, на ставслась задача. Выходит что одна сплошная блобная проприетарщина будет.

"Выпущены спецификации OpenMP 4.0"
Отправлено BratSinot , 11-Авг-13 00:43 
Для начала либо почините клавиатуру, либо выпрямите пальцы.

Для продолжения, при чем здесь llvm и OpenMP? Вы хоть понимаете, что llvm это JIT-компилятор и там он используется чтоб компилировать OpenCL код в инструкции GPU? В том-же OpenMP llvm может использоваться для таких-же целей.


"Выпущены спецификации OpenMP 4.0"
Отправлено kurokaze , 11-Авг-13 22:11 
Ути-пути, любимый llvm-чик обидели, хнык-хнык. Гггг
Я llvm использую, но делать из него фетиш подобно вам, чтобы потом отлаживать кирпичи - увольте

"Выпущены спецификации OpenMP 4.0"
Отправлено Куяврик , 11-Авг-13 23:59 
и в чём сейчас модно кирпичи отлаживать? gdb?

"Выпущены спецификации OpenMP 4.0"
Отправлено Аноним , 11-Авг-13 00:16 
clang все еще не работает с ним

"Выпущены спецификации OpenMP 4.0"
Отправлено Аноним , 11-Авг-13 01:41 
> clang все еще не работает с ним

FAIL, чо :).


"Выпущены спецификации OpenMP 4.0"
Отправлено Аноним , 11-Авг-13 05:45 
кто ?
оно - часть тулчейна GCC. меджится туда AMD-ой и SGI/Rackspace/Cray-ями с IBM напополам )

"Выпущены спецификации OpenMP 4.0"
Отправлено Аноним , 11-Авг-13 00:27 
Пятилетка стандартописательства в разгаре. Кто только это все делать будет?

"Выпущены спецификации OpenMP 4.0"
Отправлено BratSinot , 11-Авг-13 01:02 
А как эта связка с GPU называется то? В PDF'ке про GPU ни слова не сказано.

"Выпущены спецификации OpenMP 4.0"
Отправлено anonymous , 11-Авг-13 01:29 
Если я правильно понял, то для взаимодействия с ускорителями (в т.ч. GPU), ввели понятие устройста (device).

"Выпущены спецификации OpenMP 4.0"
Отправлено povlinux , 11-Авг-13 01:41 
OpenMP API provides mechanisms to describe regions of code where data and/or computation should be moved to another computing device. Several prototypes for the accelerator proposal have already been implemented.

"Выпущены спецификации OpenMP 4.0"
Отправлено Andriy , 12-Авг-13 11:52 
> А как эта связка с GPU называется то? В PDF'ке про GPU
> ни слова не сказано.

Хм, а еще есть OpenACC и он вроде на GPU ориентирован.


"Выпущены спецификации OpenMP 4.0"
Отправлено Аноним , 15-Авг-13 12:00 
Что бы код вычислялся на ГПУ нужны оригинальные видео драйверы от АМД например?