Компания AMD ввела в строй проект GPUOpen

Компания AMD ввела в строй проект GPUOpen

Компания AMD объявила о запуске инициативы GPUOpen, через который будут продвигаться проекты AMD, развиваемые в рамках новой стратегии развития, подразумевающей распространение разработок в форме открытых проектов. В качестве ключевого звена философии GPUOpen упомянут доступ к документации и исходным текстам инструментов, библиотек и реализаций визуальных эффектов. По мнению AMD, только через открытие исходных текстов у разработчиков появится возможность модификации, оптимизации, исправления, портирования и изучения ПО.

По сути, в рамках проекта GPUOpen AMD пытается предоставить альтернативу проприетарному набору библиотек GameWorks от компании NVIDIA, делая упор на открытые исходные тексты и совместную разработку, рассматривая их как ключевые конкурентные преимущества. Инициатива позиционируется как многоплатформенная и охватывает как разработку приложений для Linux с использованием OpenGL и Vulkan, так для Windows с использованием DirectX.

Среди целей GPUOpen отмечается упрощение портирования игр с консолей XBox One и PlayStation 4 на персональные компьютеры. Для использования стиля разработки, используемого в играх для консолей, в GPUOpen кроме готовых наборов типовых эффектов и высокоуровневых библиотек, предоставлены средства и документация для более полного управления и низкоуровневого доступа к GPU. Отмечается, что нынешние и находящиеся в разработке графические чипы на архитектуре GCN включают много дополнительных функций, которые недоступны через типовые API, и GPUOpen даст возможность воспользоваться некоторыми из этих функций.

Связанные с проектом исходные тексты опубликованы на GitHub под лицензией MIT в двух категориях: разработка игр/графических приложений и средства для ускорения вычислений. Для разработчиков игр доступны разделы:

  • Библиотеки и SDK: LiquidVR, FireRays SDK, LiquidVR, Framelock, SPARSE Textures, Tessellation, FirePro DOPP, AGS SDK (AMD GPU Services) и т.д.
  • Инструменты для разработчиков игр: Tootle, GPU PerfStudio, CodeXL Static Analyzer
  • Реализации визуальных эффектов: GeometryFX, TressFX, AOFX, ShadowFX, MLAA11, DirectGMA_P2P.

Для задействования вычислительных возможностей GPU компания AMD опубликовала ряд наработок в области гетерогенных вычислительных систем. Наиболее интересным является компилятор HCC C++, который позволяет использовать при выполнении приложения ресурсы GPU и предоставит средства для трансляции кода с расширениями CUDA. Кроме того открыт код инструментов (HIP - Heterogeneous-Compute Interface, System Health Monitor OpenCL, Continuum Analytics Anaconda, GPU Debug SDK), библиотек (libFLAME, HcFFT, HcCharm++, HcBLAS, clSPARSE, clRNG, clFFT, clBLAS, BLIS) и приложений с примерами реализации различных алгоритмов и методов симуляции.

В рамках инфраструктурных проектов размещены документация и библиотеки для взаимодействия с драйвером AMDGPU. Например, опубликован HSA API для обращения к оборудованию через AMDGPU, HSA Compute Kernel Driver и руководство по микроархитектуре GCN3. Проприетарные драйверы AMD в скором времени будут переведны на общие с открытыми драйверами компоненты AMDGPU, в которые компания постарается перенести как можно больше кода, что упростит сопровождение, решит проблему с адаптацией проприетарного драйвера для новых версий ядра Linux и ускорит перенос новых возможностей в открытый драйвер.