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 集成。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案