The OpenNET Project / Index page

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

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

Анонсировано принятие финального варианта открытой спецификации 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
Тип: К сведению
Ключевые слова: openmp, parallel, gcc, cpp
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | 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:
    Заголовок:
    Текст:


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