AnswerDotAI/gpu.cpp

A lightweight library for portable low-level GPU computation using WebGPU.

解决的问题

提供简洁的头文件-only C++20 接口,消除原始 WebGPU 所带来的重复描述符代码和复杂设置,同时保持对着色器和数据移动的直接控制。

工作原理

作为 Dawn(Google 的 WebGPU 实现)的轻量级封装,允许开发者使用 WGSL 或 SPIR-V 编写计算着色器。它管理本地资源,通过 Future 系统处理异步工作和错误,并支持多种后端,包括 Metal(macOS)、Vulkan(Linux)和 Emdawnwebgpu(浏览器)。

适用人群

需要在 C++、Python 或 JavaScript/Wasm 中使用通用 GPU 计算功能,但又希望避免完整 WebGPU API 的样板代码的开发者。

特性亮点

  • 跨平台支持:可在 macOS、Linux 和浏览器中运行。
  • 多语言绑定:包含通过 pybind11 提供的 Python 模块和 JavaScript/Wasm 支持。
  • 灵活的着色器输入:支持 WGSL 和 SPIR-V(仅限原生)。
  • 高效的数据处理:支持 float16float32int32 类型,并与 Python 的 NumPy 集成。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目