The OpenNET Project / Index page

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

Опубликован стандарт OpenMP 3.1, определяющий API для параллельного программирования

11.07.2011 21:47

Анонсировано принятие финального варианта открытой спецификации OpenMP 3.1, выступающей в роли стандарта, определяющего API и способы задействования методов параллельного программирования для языков Си, Си++ и Фортран. Предыдущий вариант спецификации OpenMP 3.0 был выпущен три года назад.

Выпуск OpenMP 3.1 в основном носит корректирующий характер и устраняет всплывшие за последние годы недоработки. Тем не менее, в обновленном варианте спецификации представлено несколько полезных новшеств, добавленных в угоду пожеланий представителей сообщества. Например, в спецификацию включена реализация предопределенных операторов редукции min и max, а также добавлены расширения для атомарных конструкций (блок atomic), позволяющих захватить или вывести значение совместно используемой переменной, которая обновляется внутри конструкции, без её предварительного чтения. Из других расширений отмечается возможность привязки потока к процессору и поддержка оптимизации приложений, использующих модель выполнения задач OpenMP.

Что касается будущего стандарта OpenMP 4.0, наиболее привлекательными новшествами в нем станет поддержка ускорения за счет привлечения мощностей GPU, значительные улучшения в модели выполнения задач, добавление механизмов обработки ошибок и поддержка определенных пользователем редукций.

  1. Главная ссылка к новости (http://software.intel.com/en-u...)
  2. OpenNews: Компания PathScale открыла под лицензией GPL высокопроизводительные GCC-совместимые компиляторы EKOPath
  3. OpenNews: Релиз набора компиляторов GCC 4.4.0
  4. OpenNews: Выпущен релиз Linux версии компилятора Intel C++ Compiler 11.0
  5. Введение в технологии параллельного программирования
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/31153-openmp
Ключевые слова: openmp, parallel, gcc, cpp
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (7) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, fidaj (ok), 22:55, 11/07/2011 [ответить]  
  • –1 +/
    "Что касается будущего стандарта OpenMP 4.0, наиболее привлекательными новшествами в нем станет поддержка ускорения за счет привлечения мощностей GPU, значительные улучшения в модели выполнения задач, добавление механизмов обработки ошибок и поддержка определенных пользователем редукций."

    Интересно каким образом?

     
     
  • 2.2, pavlinux (ok), 23:47, 11/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Какая, каким интересует?
    - Поддержка ускорения за счет привлечения мощностей GPU ?
    - улучшения в модели выполнения задач?
    - добавление механизмов обработки ошибок?
    - поддержка определенных пользователем редукций?
     
     
  • 3.3, fidaj (ok), 00:02, 12/07/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Какая, каким интересует?
    > - Поддержка ускорения за счет привлечения мощностей GPU ?
    > - улучшения в модели выполнения задач?
    > - добавление механизмов обработки ошибок?
    > - поддержка определенных пользователем редукций?

    скорее
    - Поддержка ускорения за счет привлечения мощностей GPU

    через какое место это они обеспечат? через стандарт на бумаге или всех в кучу опять грести начнут...
    вот-вот еле OpenCL сбили в купу с вытекающими глюками, то у одних (ATI) как-то не так работает, то у других (Nvidia) за третьих (Intel) я вообще молчу...

    вот и возник вопрос "как?"

    у эпловцев там еще одно чудо GCD в этом же направлении (распараллеливания) короче расплодили, что для прикладных задач оно не годно, разве только для академических...

    короче кругом одни нестыковочки между стандартами...

     
     
  • 4.4, pavlinux (ok), 00:40, 12/07/2011 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ну а почему бы не объединить OpenCL и OpenMP.
    Ведь эти обе хреновины всего лишь API, т.е. некий стандарт.
    Программить-то все равно придётся человеку.  
     
     
  • 5.5, fidaj (ok), 01:17, 12/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну а почему бы не объединить OpenCL и OpenMP.
    > Ведь эти обе хреновины всего лишь API, т.е. некий стандарт.
    > Программить-то все равно придётся человеку.

    я это понимаю, но обеспечивать это (в соответствии стандарта) должны: ядро ОС (как минимум)+компилятор и драйвер для GPU (как максимум)

    первое уже давно вродь как делает это, даже не на уровне алгоритма, а на уровне опций компилятора (как пример http://gcc.gnu.org/wiki/Graphite -floop-parallelize-all -ftree-parallelize-loops=n) может распараллелить в воответствии с целью параллелизма выполнения...
    а вот дрова за столько лет так и не наблизились к этому на достаточном для повседневного использования уровне... всё заканяивается только демками на ютубе... а уже на моей памяти лет 5 прошло так точно...

    как-то так... :(

     
  • 5.7, Андрей (??), 01:48, 13/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > почему бы не объединить OpenCL и OpenMP

    Неплохо было бы! А то OpenMP был для CPU, а хотят добавить GPU. А OpenCL с прицелом для GPU, но и CPU может исплользовать. Этак можно написать одну прогу, которая через OopenMPI разбросается по хостам, а там мат. рассчёты через OpenMP по ядрам CPU&GPU, а мат.рассчёты для визуализации через OpenCL по граф.чипам, чтобы напрямую выводить в OpenGL. А если построить кластер на APU..... Эх, заживут фаны числодробления!

     
  • 4.6, Аноним (-), 08:41, 12/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    OpenCL и GCD вообще разного поля ягоды и предназначены для разного.
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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