The OpenNET Project / Index page

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

08.10.2013 23:21  В проект LLVM вошла разработанная в Intel runtime-библиотека OpenMP. Red Hat представил OpenMP 4.0 для GCC

Компания Intel передала проекту LLVM код runtime-библиотеки OpenMP, которая послужит началом для формирования полнофункциональной OpenMP-системы на базе LLVM. Код библиотеки отныне будет развиваться в качестве официального подпроекта LLVM с использованием репозиториев и инфраструктуры LLVM. Код библиотеки открыт под двойной лицензией (MIT + BSD-подобная лицензия UIUC), полностью совместимой с LLVM. Кроме того, проекту переданы права по использованию всех связанных с библиотекой патентов Intel.

Runtime-библиотека является одной из составных частей реализации стандарта OpenMP (Open Multi-Processing), позволяющего задействовать методы параллельного программирования в программах на языках Си и Си++. Библиотека связывается с итоговыми OpenMP-приложениями и выполняет функции диспетчеризации потоков в процессе выполнения OpenMP-программы. Из особенностей библиотеки отмечается высокая производительность и совместимость на уровне ABI с GCC и проприетарными OpenMP-компиляторами Intel.

Компания Intel также развивает проект по интеграции в компилятор Clang поддержки OpenMP. Работа над проектом ещё не завершена, но уже обеспечена полная поддержка спецификаций OpenMP 3.1 и частичная поддержка OpenMP 4.0. Заявлено о намерении включить код данного проекта в основную кодовую базу Clang/LLVM, после того как будет проведена синхронизация OpenMP-патчей Intel с состоянием trunk-ветки Clang. Развитие в рамках проекта LLVM runtime-библиотеки OpenMP поможет ускорить интеграцию поддержки OpenMP в компилятор Clang. В текущем виде реализация уже успешно проходит все известные тесты на совместимость с OpenMP 3.1, в том числе SPEC OMP2012, проверочный пакет OpenUH и тестовый набор Intel.

Дополнение: Разработчики из компании Red Hat опубликовали запрос на включение в состав основного репозитория набора компиляторов GCC кода с реализацией поддержки спецификации OpenMP 4.0. Поддержка OpenMP 4.0 пока доступна для языков C и C++, для языка Фортран фронтэнд для OpenMP 4.0 пока не создан. Также пока недоступна поддержка ускорения вычислений (offloading) за счёт задействования дополнительных аппаратных вычислительных устройств, таких как GPU. Напомним, что в GCC поддержка OpenMP была интегрирована в компиляторы Си, Си++ и Фортран начиная с ветки 4.2, выпущенной в 2007 году. Текущая реализация OpenMP, доступная в GCC 4.7, ограничивается поддержкой спецификаций OpenMP 3.1.

  1. Главная ссылка к новости (http://blog.llvm.org/2013/10/o...)
  2. OpenNews: Выпущены спецификации OpenMP 4.0
  3. OpenNews: Проект по добавлению поддержки OpenMP в LLVM
  4. OpenNews: Для компилятора Clang реализована поддержка OpenMP
  5. OpenNews: Опубликован стандарт OpenMP 3.1, определяющий API для параллельного программирования
  6. OpenNews: Основанные на GCC проекты JIT-компилятора и расширения, использующего GPU для вычислений
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: openmp, intel, compile, llvm, clang
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Аноним (-), 00:27, 09/10/2013 [ответить] [показать ветку] [···]    [к модератору]
  • –9 +/
    Объясните ламеру: зачем нужен этот openmp когда можно создать пачку std::thread, и спокойно посчитать что требуется без каких-то левых рантаймов и поддержек?
     
     
  • 2.3, Аноним (-), 00:33, 09/10/2013 [^] [ответить]    [к модератору]
  • +15 +/
    Ждем рассказов на тему: "Как я провел лето, портируя Fortran код на std::thread" и "Теория большого кода переписанного за 20 минут на std::thread"
     
  • 2.13, vitalif (ok), 01:48, 09/10/2013 [^] [ответить]    [к модератору]
  • –4 +/
    А это для тех, кто не умеет. А на тредах оно и работает побыстрее всегда.
     
  • 2.14, Dcow (ok), 01:50, 09/10/2013 [^] [ответить]    [к модератору]
  • +/
    А ты посмотри код с OpenMP - категории разные
    сделать треду нужно очень часто, но иногда нужно просто распараллелить пару циклов, и OpenMp подойдет куда больше.
     
  • 2.17, pavlinux (ok), 02:33, 09/10/2013 [^] [ответить]     [к модератору]
  • +1 +/
    code pragma omp parallel pragma omp for for i 0 i X i ... весь текст скрыт [показать]
     
     
  • 3.32, Не понял (?), 11:42, 09/10/2013 [^] [ответить]    [к модератору]  
  • +1 +/
    >for (i=0; i < X ; i++)
    >           X *=X;

    Подскажите, а что должен делать данный код для первоначального X=2?
    Особенно при параллельных вычислениях?

     
     
  • 4.35, Andrey Mitrofanov (?), 13:13, 09/10/2013 [^] [ответить]     [к модератору]  
  • +2 +/
    Считать до 5 Павлин это распараллеливает и замегакодировает user bash X 2 f... весь текст скрыт [показать]
     
     
  • 5.40, Не понял (?), 16:26, 09/10/2013 [^] [ответить]     [к модератору]  
  • +/
    У Вас сильно упрощенный подход Скорее до 0, если X целое, если нет то возможны... весь текст скрыт [показать]
     
     
  • 6.41, pavlinux (ok), 00:45, 10/10/2013 [^] [ответить]    [к модератору]  
  • +/
    > С трудом могу себе представить чему должен быть равен X на выходе.

    Я тоже. Ваще от балды написал :)


     
  • 2.24, Vkni (ok), 06:13, 09/10/2013 [^] [ответить]    [к модератору]  
  • +1 +/
    Для повышения производительности труда программиста.
     
  • 2.27, Archer73 (ok), 09:34, 09/10/2013 [^] [ответить]    [к модератору]  
  • +/
    Posix threads трудно переносить + требуется больше кода писать. Производительность у мня получалась примерно одинаковая.
     
     
  • 3.30, all_glory_to_the_hypnotoad (ok), 10:39, 09/10/2013 [^] [ответить]    [к модератору]  
  • +2 +/
    так не нужно же их переносить, на то они и POSIX
     
  • 3.39, Аноним (-), 15:24, 09/10/2013 [^] [ответить]    [к модератору]  
  • +/
    А кто говорит о posix threads? std::thread - стандарт C++
     
  • 2.29, ДяДя (?), 09:42, 09/10/2013 [^] [ответить]    [к модератору]  
  • +/
    >позволяющего задействовать методы параллельного программирования

    Потоки не совсем это.

     
  • 1.4, Аноним (-), 00:38, 09/10/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • –2 +/
    Подозреваю, что все это делается по заказу Apple.
     
     
  • 2.6, Аноним (-), 00:40, 09/10/2013 [^] [ответить]    [к модератору]  
  • –1 +/
    Загнется GNU, загнется линукс
    Поднимутся *BSD
    Ничего страшного
     
     
  • 3.12, all_glory_to_the_hypnotoad (ok), 01:45, 09/10/2013 [^] [ответить]    [к модератору]  
  • +3 +/
    им сейчас никто не мешает подниматься. Но не поднимаются. Не будут подниматься и без GNU.
     
  • 3.15, vitalif (ok), 01:52, 09/10/2013 [^] [ответить]     [к модератору]  
  • +1 +/
    Да никто там не загнётся и никто не поднимется От смены GPL компилятора на BSD ... весь текст скрыт [показать]
     
  • 3.18, Led (ok), 03:02, 09/10/2013 [^] [ответить]    [к модератору]  
  • –2 +/
    Да, трупы обычно через время разбухают и всплывают. При этом выглядят ужасно и жутко воняют.
     
     
  • 4.20, Аноним (-), 04:00, 09/10/2013 [^] [ответить]    [к модератору]  
  • –3 +/
    Ты нашел жену Райзера у себя в ванной? Что ты с ней делал всё это время?
     
     
  • 5.26, анон (?), 07:57, 09/10/2013 [^] [ответить]    [к модератору]  
  • +/
    > нашел
    > делал всё это время

    facepalm.tar.gz

     
  • 5.43, kurokaze (ok), 16:32, 11/10/2013 [^] [ответить]    [к модератору]  
  • +1 +/
    зачем ты её откопал и спрятал у Led в ванной?
     
  • 3.36, Аноним (-), 14:31, 09/10/2013 [^] [ответить]     [к модератору]  
  • +1 +/
    Влажные мечты бсдшников - они такие То-то бзди на 10 лет древнее пингвина, а сл... весь текст скрыт [показать]
     
  • 2.9, Аноним (-), 00:47, 09/10/2013 [^] [ответить]    [к модератору]  
  • +/
    > Подозреваю, что все это делается по заказу Apple.

    У Apple GCD есть

     
     
  • 3.16, Dcow (ok), 01:58, 09/10/2013 [^] [ответить]    [к модератору]  
  • +/
    По мне так OpenMP куда удобней, если нужно что-то мелкое вычислить побырому, а если нет, то отдельный thread куда лучше будет в любом случае
     
  • 3.38, annulen (ok), 15:19, 09/10/2013 [^] [ответить]    [к модератору]  
  • –1 +/
    >У Apple GCD есть

    Область применения GCD никак не пересекается с OpenMP.

     
  • 1.5, Ivan_83 (?), 00:39, 09/10/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • +10 +/
    Потом вдруг окажется что на процессорах АМД эта библиотека работает особенно медленно, ибо интел как обычно не знала что АМД там у себя нагородили и на всякий случай на процессорах АМД выключили все оптимизации и расширенные наборы инструкций.
     
     
  • 2.31, Аноним (-), 11:31, 09/10/2013 [^] [ответить]     [к модератору]  
  • +/
    Breaking news Каждый раз, когда AMD пытается закомитить свой код в OpenMP, злые... весь текст скрыт [показать]
     
  • 1.7, 3draven (ok), 00:41, 09/10/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    вот объединят это с openacc...и будет торт.
     
     
  • 2.21, Yaisis (?), 04:32, 09/10/2013 [^] [ответить]    [к модератору]  
  • +/
    OpenMP 4 GPU поддерживает.
     
  • 1.33, Аноним (33), 11:50, 09/10/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    параллельное программирование - это вынос мозга
     
     
  • 2.37, Аноним (-), 14:32, 09/10/2013 [^] [ответить]    [к модератору]  
  • +1 +/
    Слабак.
     
  • 2.42, IZh (ok), 14:41, 11/10/2013 [^] [ответить]    [к модератору]  
  • +1 +/
    "Лошади едят овёс и сено"
     
  • 2.44, PereresusNeVlezaetBuggy (ok), 00:25, 28/10/2013 [^] [ответить]    [к модератору]  
  • +/
    > параллельное программирование - это вынос мозга

    Тогда неэвклидовое программирование лучше вообще не пробуйте.

     

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


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