Созданная в Intel runtime-библиотека OpenMP будет развиваться в составе проекта LLVM
Компания Intel передала проекту LLVM код runtime-библиотеки OpenMP, которая послужит началом для формирования полнофункциональной OpenMP-системы на базе LLVM. Код библиотеки отныне будет развиваться в качестве официального субпроекта LLVM с использованием репозиториев и инфраструктуры LLVM. Код библиотеки открыт под лицензией полностью совместимой с LLVM, кроме того проекту переданы права по использованию всех связанных с библиотекой патентов Intel. Runtime-библиотека является одной из составных частей реализации стандарта OpenMP (Open Multi-Processing), позволяющего задействовать методы параллельного программирования в программах на языках Си и Си++. Библиотека связывается с итоговыми OpenMP-приложениями и выполняет функции диспетчеризации потоков в процессе выполнения OpenMP-программы.
Компания Intel также развивает проект по интеграции в компилятор Clang поддержки OpenMP. Работа над проектом ещё не завершена, но уже обеспечена полная поддержка спецификаций OpenMP 3.1 и частичная поддержка OpenMP 4.0. В настоящее время уже заявлено о намерении включить код данного проекта в основную кодовую базу Clang/LLVM, после того как будет проведена синхронизация OpenMP-патчей Intel с состоянием trunk-ветки Clang. Развитие в рамках проекта LLVM runtime-библиотеки OpenMP поможет ускорить интеграцию поддержки OpenMP в компилятор Clang.
Связанные с OpenMP наработки Intel распространяются под двойной лицензией: MIT + BSD-подобная лицензия UIUC. Из планов отмечается проведение оптимизации производительности и обеспечение совместимости на уровне ABI с GCC и проприетарными OpenMP-компиляторами Intel. В текущем виде реализация уже успешно проходит все известные тесты на совместимость с OpenMP 3.1, в том числе SPEC OMP2012, проверочный пакет OpenUH и тестовый набор Intel.
© OpenNet