The OpenNET Project / Index page

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

22.05.2015 20:39  В Clang обеспечена полноценная поддержка OpenMP

Разработчики проекта LLVM объявили о реализации в компиляторе Clang полной поддержки стандарта OpenMP 3.1 (Open Multi-Processing), предоставляющего средства для применения методов параллельного программирования в программах на языках Си и Си++. OpenMP открывает перед пользователями Clang возможность использования всей мощи современных многоядерных процессоров с блоками векторизации.

Доступны как средства обеспечения параллелизма на уровне задач (распараллеливание функций и циклов), так и параллелизма на уровне данных (векторизация, распараллеливание типовых операций над массивами данных). В том числе реализованы комбинированные директивы, такие как "#pragma omp parallel for" и "#pragma omp parallel sections", а также элементы стандарта OpenMP 4.0. Частично реализованы атомарные операции ("#pragma omp atomic") и средства векторизации последовательных и параллелизированных циклов на процессорах с поддержкой инструкций SIMD ("#pragma omp simd").

Реализация OpenMP в Clang базируется на открытой компанией Intel runtime-библиотеке OpenMP, которая связывается с итоговыми OpenMP-приложениями и выполняет диспетчеризацию потоков в процессе выполнения OpenMP-программы. Из особенностей библиотеки отмечается поддержка различных аппаратных архитектур (x86, x86_64, PowerPC, ARM), высокая производительность и совместимость на уровне ABI с GCC и проприетарными OpenMP-компиляторами Intel.

Для сборки программы с задействованием OpenMP достаточно указать при компиляции опцию "-fopenmp", а также пути к заголовочному файлу ("-I путь к omp.h") и библиотеке ("-L путь к библиотеке openmp").

  1. Главная ссылка к новости (http://blog.llvm.org/2015/05/o...)
  2. OpenNews: В проект LLVM вошла разработанная в Intel runtime-библиотека OpenMP. Red Hat представил OpenMP 4.0 для GCC
  3. OpenNews: Выпущены спецификации OpenMP 4.0
  4. OpenNews: Проект по добавлению поддержки OpenMP в LLVM
  5. OpenNews: Опубликован стандарт OpenMP 3.1, определяющий API для параллельного программирования
  6. OpenNews: Для компилятора Clang реализована поддержка OpenMP
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: openmp
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, 3draven, 21:30, 22/05/2015 [ответить] [смотреть все]
  • +3 +/
    Это получается теперь софт станет еще немного дальше от 386 компов и наконец то заметит, что на дворе 2015 год?
     
     
  • 2.3, ананим.orig, 21:48, 22/05/2015 [^] [ответить] [смотреть все] [показать ветку]
  • +12 +/
    Это означает, что всякий крап (аля флэш) будет сжирать на 8-ядернике не 1х100%, а 8х100%.
     
     
  • 3.8, irinat, 22:17, 22/05/2015 [^] [ответить] [смотреть все]
  • +6 +/
    > флэш

    Flash давно умеет рисовать в несколько потоков. Поэтому там где Chrome + JS + HTML5 canvas выдаёт 20 fps, упираясь в одно ядро, Flash вытягивает 60. Лимит у него в 60 fps. Конечно, выедает при этом 300%, от этого никуда денешься.

    http://www.craftymind.com/factory/guimark2/FlashChartingTest.html

    http://www.craftymind.com/factory/guimark2/HTML5ChartingTest.html

     
     
  • 4.16, ананим.orig, 00:38, 23/05/2015 [^] [ответить] [смотреть все]
  • +/
    Сферичское ядро то В сферическом же вакууме Предупреждать надо А то на своём ... весь текст скрыт [показать]
     
     
  • 5.17, irinat, 01:11, 23/05/2015 [^] [ответить] [смотреть все]  
  • +2 +/
    А в чём смысл указывать конкретную модель Свести всё к сравнению у кого проц кр... весь текст скрыт [показать]
     
     
  • 6.21, ананим.orig, 03:12, 23/05/2015 [^] [ответить] [смотреть все]  
  • –3 +/
    А в чём смысл выковыряных из носа 20фпс У меня в 1 поток было всё зашибись, теп... весь текст скрыт [показать]
     
     
  • 7.31, irinat, 13:37, 23/05/2015 [^] [ответить] [смотреть все]  
  • +/
    Вот и я про то же Само по себе число 20 ничего не значит без указания условий п... весь текст скрыт [показать]
     
  • 7.49, Michael Shigorin, 23:18, 23/05/2015 [^] [ответить] [смотреть все]  
  • +/
    Очевидно, нет ... весь текст скрыт [показать]
     
     
  • 8.51, ананим.orig, 04:55, 24/05/2015 [^] [ответить] [смотреть все]  
  • +/
    Да И какова же была цель Хотя бы одну, для примера Про пункт а замну пока ... весь текст скрыт [показать]
     
     
  • 9.52, Michael Shigorin, 11:39, 24/05/2015 [^] [ответить] [смотреть все]  
  • +/
    За человека и его цель говорить не стану, но 8 как минимум для меня оказалось д... весь текст скрыт [показать]
     
  • 7.57, Vkni, 02:09, 25/05/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    Это вопросы к планировщику ЦП Хотя, конечно, если он фиговат, как в Уиндоуз, то... весь текст скрыт [показать]
     
  • 5.59, Аноним, 11:45, 25/05/2015 [^] [ответить] [смотреть все]  
  • +/
    20 фпс и там и там на моем ноуте)
     
  • 4.20, RNZ, 02:25, 23/05/2015 [^] [ответить] [смотреть все]  
  • +2 +/
    Chromium 41 0 2272 76 Developer Build Ubuntu 15 04 Revision ff3293b421463d09... весь текст скрыт [показать]
     
     
  • 5.22, Аноним, 03:42, 23/05/2015 [^] [ответить] [смотреть все]  
  • +/
    Флеш захлебнулся, гона-потоков (Race condition).
     
  • 5.39, irinat, 18:03, 23/05/2015 [^] [ответить] [смотреть все]  
  • +/
    Всё делаешь так К сожалению, на моём железе Flash всё ещё выдаёт более плавную ... весь текст скрыт [показать]
     
  • 5.56, Аноним, 16:34, 24/05/2015 [^] [ответить] [смотреть все]  
  • +/
    Ubuntu 14 04, Firefox 38, Flash 11 2 Flash Test Average 59 82 fps HTML5 Test Av... весь текст скрыт [показать]
     
  • 4.60, systemd, 13:49, 25/05/2015 [^] [ответить] [смотреть все]  
  • +/
    40 - html5

    50 -flash

     
  • 4.63, Анононим, 17:02, 27/05/2015 [^] [ответить] [смотреть все]  
  • +/
    html5 56-58 fps
     
  • 2.5, Куяврег, 21:56, 22/05/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    openmp это далеко не единственный способ заметить, что на дворе 2015
     
     
  • 3.6, 3draven, 22:00, 22/05/2015 [^] [ответить] [смотреть все]  
  • +/
    Да все равно какой способ У меня восьмипотоковый гипертрейдинг и 4 ядра и7 про... весь текст скрыт [показать]
     
  • 3.10, Аноним, 22:28, 22/05/2015 [^] [ответить] [смотреть все]  
  • –4 +/
    технически - один из лучших для тех, кто никак с С и С не слезет в программир... весь текст скрыт [показать]
     
  • 3.11, ы, 22:35, 22/05/2015 [^] [ответить] [смотреть все]  
  • +/
    >openmp это далеко не единственный способ заметить, что на дворе 2015
     
  • 2.26, Аноним, 12:30, 23/05/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Для пользователей mandala, собирающих всё clang - возможно В нормальных дистриб... весь текст скрыт [показать] [показать ветку]
     
  • 2.48, Grammar Narziss, 22:32, 23/05/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    "наконец-то"
     
  • 1.4, Аноним, 21:51, 22/05/2015 [ответить] [смотреть все]  
  • –4 +/
    Почему отдельной библиотекой Почему всё на директивах Почему нельзя было, напр... весь текст скрыт [показать]
     
     
  • 2.7, Аноним, 22:13, 22/05/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    потому что стандарт
     
     
  • 3.29, Аноним, 13:06, 23/05/2015 [^] [ответить] [смотреть все]  
  • –2 +/
    Только вот библиотека не оптимизирует это всё так, как мог бы компилятор - явно... весь текст скрыт [показать]
     
  • 2.13, Аноним, 23:45, 22/05/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Потому что добавить нужную функциональность прагмами проще, чем переделывать ядр... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.28, Аноним, 13:03, 23/05/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    В том то и дело что он не немощный, и можно было бы переписать ядро Прагмы силь... весь текст скрыт [показать]
     
     
  • 4.33, Crazy Alex, 14:03, 23/05/2015 [^] [ответить] [смотреть все]  
  • +/
    Я сильно сомневаюсь, что сишники с восторгом восприняли бы идею такого усложнени... весь текст скрыт [показать]
     
     
  • 5.43, Аноним, 18:31, 23/05/2015 [^] [ответить] [смотреть все]  
  • –2 +/
    Си уже давно прекратил развитие, для этого есть с Но от тоже, по всей видимос... весь текст скрыт [показать]
     
  • 2.54, 0xd34df00d, 15:18, 24/05/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    В пропозалах на C 17, ЕМНИП, есть поддержка векторных переменных и операций с н... весь текст скрыт [показать] [показать ветку]
     
  • 1.9, Аноним, 22:23, 22/05/2015 [ответить] [смотреть все]  
  • –3 +/
    А что, в Clang до сих пор не было поддержки OpenMP Я знал, что он отстаёт от GC... весь текст скрыт [показать]
     
     
  • 2.12, Developer1, 22:51, 22/05/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Кроме OpenMP в мире больше ничего не существует?
     
     
  • 3.15, Dark Amateur, 00:34, 23/05/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    Ну, есть ещё Cilk, только вот GCC его тоже умеет.
     
     
  • 4.18, Developer1, 01:15, 23/05/2015 [^] [ответить] [смотреть все]  
  • –2 +/
    GCC умеет Grand Central Dispatch?
     
     
  • 5.19, Аноним, 01:47, 23/05/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    Эппловский форк GCC умеет А в линуксе этой хрени нет в принципе, ни в GCC, ни в... весь текст скрыт [показать]
     
     
  • 6.23, Аноним, 03:43, 23/05/2015 [^] [ответить] [смотреть все]  
  • +/
    Не нужно, есть на OpenBSD... весь текст скрыт [показать]
     
  • 6.27, Developer1, 12:47, 23/05/2015 [^] [ответить] [смотреть все]  
  • –2 +/
    Эта хрень в плане производительности и удобства разработки рвет по всем фронтам ... весь текст скрыт [показать]
     
     
  • 7.35, Куяврег, 16:27, 23/05/2015 [^] [ответить] [смотреть все]  
  • –1 +/
    справедливости ради рвать она может и рвёт, но давай посмотрим, у скольки проек... весь текст скрыт [показать]
     
     
  • 8.47, Developer1, 19:24, 23/05/2015 [^] [ответить] [смотреть все]  
  • +/
    Справедливости ради и сравнение что из них хуже или лучше достаточно бесполезно,... весь текст скрыт [показать]
     
     
  • 9.50, Michael Shigorin, 23:23, 23/05/2015 [^] [ответить] [смотреть все]  
  • +/
    Технически говоря, 9 на которое отвечали в 12 таковым не было ... весь текст скрыт [показать]
     
     
  • 10.55, Developer1, 16:04, 24/05/2015 [^] [ответить] [смотреть все]  
  • +/
    А что не так в 12 Вполне нейтрально и хренью ничего не называю, так что техни... весь текст скрыт [показать]
     
  • 4.45, Аноним, 19:07, 23/05/2015 [^] [ответить] [смотреть все]  
  • +/
    Только в отдельной ветви, причем, отстающей Пока поддержка силка не будет обесп... весь текст скрыт [показать]
     
  • 1.14, Аноним, 00:10, 23/05/2015 [ответить] [смотреть все]  
  • +1 +/
    С нетерпением жду бенчев на Фурониксе 1 Скорость копирования файлов утилитами,... весь текст скрыт [показать]
     
  • 1.25, Аноним, 10:33, 23/05/2015 [ответить] [смотреть все]  
  • +/
    если головой или ручками нормально программу ненапишешь, никакие быблобиблиотеки... весь текст скрыт [показать]
     
  • 1.30, Аноним, 13:12, 23/05/2015 [ответить] [смотреть все]  
  • –2 +/
    OpenMP - костыль для тех, кто сам не может написать нормальный параллельный код,... весь текст скрыт [показать]
     
     
  • 2.32, Crazy Alex, 13:51, 23/05/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +3 +/
    А компьютер вообще сделан для тех, кто не может посчитать на бумажке Но вам же ... весь текст скрыт [показать] [показать ветку]
     
  • 2.34, Аноним, 15:44, 23/05/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    то есть для 98 разработчиков паралельный код в рамках С С писать трудно В ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.42, Аноним, 18:25, 23/05/2015 [^] [ответить] [смотреть все]  
  • +/
    Это единственное средство быстро и просто распараллелить циклы Только вот реали... весь текст скрыт [показать]
     
  • 2.36, Куяврег, 16:29, 23/05/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    всегда считал возможность использовать сторонние открытые библиотеки сильной сто... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.41, Аноним, 18:19, 23/05/2015 [^] [ответить] [смотреть все]  
  • +/
    Это так, только не в таких фундаментальных вещах как многопоточность и гетероген... весь текст скрыт [показать]
     
     
  • 4.62, Куяврег, 23:41, 25/05/2015 [^] [ответить] [смотреть все]  
  • +/
    > Это так, только не в таких фундаментальных вещах как многопоточность и гетерогенные
    > вычисления. Всё это должно быть в ядре любого современного языка системного
    > уровня.

    вопрос в удобстве, простоте и прочих весьма субьективных вещах. ну не запретишь ты писать 10 библиотек jpeg, png и прочих, вплоть до самых низкоуровневых.


     
  • 1.40, Аноним, 18:17, 23/05/2015 [ответить] [смотреть все]  
  • –1 +/
    В язык ничего добавлять больше не хотят Теперь всё дополнительное будет на кост... весь текст скрыт [показать]
     
     
  • 2.46, Аноним, 19:11, 23/05/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Скоро все на прагмах писать будут.
     
  • 1.44, Аноним, 19:04, 23/05/2015 [ответить] [смотреть все]  
  • –1 +/
    OpenMP-ветвь Clang а существует уже давно, в чем новость Неужели его добавили в... весь текст скрыт [показать]
     
  • 1.53, Аноним, 14:41, 24/05/2015 [ответить] [смотреть все]  
  • –1 +/
    Надеюсь в следующем стандарте это всё реализуют непосредственно в языке
     
  • 1.58, Аноним, 05:11, 25/05/2015 [ответить] [смотреть все]  
  • +/
    5 лет ждали, ну наконец-то.
     

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


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