Для компилятора Clang реализована поддержка OpenMP

31 августа 2013 года

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

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

По производительности и масштабируемости поддержка OpenMP для Clang находится примерно на одном уровне с другими компиляторами, поддерживающими данную спецификацию. В GCC поддержка OpenMP была интегрирована в компиляторы Си, Си++ и Фортран начиная с ветки 4.2, выпущенной в 2007 году. В настоящее время gcc 4.7 поддерживает только OpenMP 3.1, поддержка OpenMP 4.0 не запланирована. Отсутствие поддержки OpenMP в Clang долгое время упоминалось в качестве существенного недостатка данного компилятора, теперь проблема со сборкой параллельно выполняемого кода в Clang осталась в прошлом.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Для компилятора Clang реализована поддержка OpenMP», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.