Pull to refresh

Представлена открытая лёгковесная библиотека gpu.cpp для проведения низкоуровневых вычислений на GPU с помощью C++

Reading time2 min
Views10K

Представлена открытая лёгковесная библиотека gpu.cpp для проведения упрощённых низкоуровневых вычислений на GPU с помощью C++. Исходный код проекта опубликован на GitHub под лицензией Apache License 2.0.

Технические цели проекта — лёгкий вес, быстрая итерация и простой шаблон.

Разработчики gpu.cpp пояснили, что в проекте используется спецификация WebGPU. Решение позволяет добавлять код для выполнения на GPU в проекты C++, включая графические модули Nvidia, Intel, AMD. Один и тот же код C++ может работать на самых разных ноутбуках, рабочих станциях, мобильных устройствах или практически на любом оборудовании с поддержкой Vulkan, Metal или DirectX.

«С помощью gpu.cpp мы хотим предоставить многофункциональную библиотеку, позволяющую отдельным разработчикам и исследователям включать вычисления на графическом процессоре в программы, используя в качестве инструментария не что иное, как стандартный компилятор C++», — уточнили в команде проекта.

В проекте заявлены минимальные зависимости и накладные расходы на инструментарий, стандартного компилятора clang C++ должно быть достаточно, нет никаких зависимостей от внешних библиотек, кроме собственной реализации WebGPU. Реализация проекта нацелена на использование простой API с минимальным шаблоном.

«Существует небольшое количество библиотечных операций для выполнения широкого спектра низкоуровневых операций с графическим процессором. Мы избегаем абстракций, которые добавляют косвенные уровни, делаем отображение между библиотекой gpu.cpp и необработанным API WebGPU понятным, когда это необходимо», — уточнили в команде проекта.

В рамках текущих экспериментов разработчики проекта планируют, что сборки проектов с помощью библиотеки gpu.cpp на C++ будут выполняться не более секунды или двух даже на ПК средней мощности.

Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
Total votes 9: ↑9 and ↓0+13
Comments5

Other news