GitHub 热门项目:gpu.cpp

摘要

GitHub项目:gpu。cpp 仓库地址:https://github。com/AnswerDotAI/gpu。cpp Stars:3966 | 作者:AnswerDotAI 项目描述:A lightweight library for portable low-level GPU computation using WebGPU。

the and gpu library cpp
2026-05-19 1 阅读 GitHub Trending
GitHub项目:gpu.cpp 仓库地址:https://github.com/AnswerDotAI/gpu.cpp 星级:3966 | 作者:AnswerDotAI 项目描述:一个使用 WebGPU 进行便携式低级 GPU 计算的轻量级库。 =================================================== 自述文件内容: #gpu.cpp gpu.cpp 是一个轻量级库,使使用 C++ 进行便携式 GPU 计算变得简单。 它专注于通用本机 GPU 计算,利用 WebGPU 规范作为便携式低级 GPU 接口。这意味着我们可以顺便过来 C++ 项目中的 GPU 代码,并使其在 Nvidia、Intel、AMD 和其他 GPU 上运行。 相同的 C++ 代码可以在各种笔记本电脑、工作站、移动设备上运行 设备或几乎任何支持 Vulkan、Metal 或 DirectX 的硬件。 ## 目标:轻量级、快速迭代和低样板代码 通过 gpu.cpp,我们希望为个人开发人员和研究人员提供一个高杠杆率的库,将 GPU 计算合并到仅依赖标准 C++ 编译器作为工具的程序中。我们的目标是: - 高功重比API:提供最小的API表面积,可覆盖全方位的GPU计算需求。 - 快速编译/运行周期:确保项目几乎可以立即构建,在现代笔记本电脑上编译/运行周期应小于 5 秒。 - 最小的依赖性和工具开销:标准的 clang C++ 编译器应该足够了,除了 WebGPU 本机实现之外没有外部库依赖性。 该实施旨在以最少的样板实现较小的 API 表面积。有少量的库操作可以执行广泛的低级 GPU 操作。我们避免添加间接层的抽象,从而在需要时使 gpu.cpp 库到原始 WebGPU API 之间的映射变得清晰。 本着这种快速实验的精神,我们还希望即使在能力一般的个人计算设备上,C++ 构建也能近乎即时地花费不超过一两秒的时间。考虑到这一点,我们不仅保持 API 表面积较小,而且实现较小,我们还提供了 Dawn 原生 WebGPU 实现的预构建二进制文件。 仅头文件“gpu.hpp”源代码中的核心库实现大约有 1000 行代码。除了实现即时、半交互式编译周期之外,较小的实现表面积还可以降低维护负担并提高改进速度。 我们还将 Google 的 Dawn WebGPU 实现预构建为共享库二进制文件。这允许构建将共享库与每个构建链接起来,并结合 Google 强大的本机 WebGPU 实现,而无需在开发周期中支付重新编译 Dawn 的成本。 对于更高级的用户和版本部署,我们提供了“cmake”示例,用于使用 gpu.cpp 端到端构建 Dawn,但这对于大多数用户来说不是必需的,也不建议开始使用。 ## 快速入门:构建和运行 要构建 gpu.cpp 项目,您需要在系统上安装: - 安装了支持 C++17 的 `clang++` 编译器。 - `python3` 及以上版本,运行下载 Dawn 共享库的脚本。 - `make` 来构建项目。 - 仅在 Linux 系统上 - Vulkan 驱动程序。如果没有安装Vulkan,哟