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

от автора

Представлена открытая лёгковесная библиотека 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++ будут выполняться не более секунды или двух даже на ПК средней мощности.


ссылка на оригинал статьи https://habr.com/ru/articles/828706/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *