Компания NVIDIA объявила [3] об обеспечении в LLVM [4] поддержки NVIDIA GPU в качестве целевой платформы, что позволяет значительно упростить интеграцию средств GPU-акселерации выполнения вычислительных задач в широком спектре приложений, написанных на различных языках программирования.
Поддержка NVIDIA GPU в LLVM стала возможной благодаря передаче проекту кода CUDA-компилятора, основанного на наработках проекта LLVM и позволяющего сгенерировать GPU-инструкции из кода, написанного на языках Си, Си++ и Fortran. Благодаря модульной структуре LLVM список языков может быть легко расширен, например, LLVM-фронтэнды также доступны для таких языков, как Objective-C, Ada, Haskell, Java (байткод), Python, Ruby, ActionScript, GLSL и Rust. Несмотря на то, что CUDA-компилятор изначально позиционировался как открытый, исходные тексты ранее можно было получить только после заполнения определённой формы на сайте и одобрения от компании NVIDIA. Отныне CUDA-компилятор интегрирован в ядро LLVM и бэкенд для обеспечения параллельного выполнения нитей.
По словам Яна Бака (Ian Buck), генерального менеджера NVIDIA по развитию GPU-акселерации для программных систем, интеграция CUDA Compiler в LLVM является переломным моментом в развитии GPU-вычислений - исследователям и разработчикам предоставлена невероятная гибкость, а также возможность выбора языков программирования и аппаратных архитектур для своих приложений, которые могут использовать в процессе работы полный вычислительный потенциал CPU и GPU. Переданный в LLVM код уже используется в проприетарных CUDA-продуктах NVIDIA, что даёт основание утверждать о высокой надёжности и полной совместимости с сотнями миллионов установленных на ПК видеокарт NVIDIA.
Ссылки:
[1] http://htfl.ru/cat-news-nvidia
[2] http://htfl.ru/cat-news-novosti
[3] /out.php?link=http://nvidianews.nvidia.com/Releases/NVIDIA-Contributes-CUDA-Compiler-to-Open-Source-Community-7d0.aspx
[4] /out.php?link=http://www.llvm.org