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

8 октября 2013 года

Компания Intel передала проекту LLVM код runtime-библиотеки OpenMP (Архивная копия от 9 августа 2020 на Wayback Machine), которая послужит началом для формирования полнофункциональной 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.

Источники править


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

Комментарии

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