AnswerDotAI/gpu.cpp

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

何を解決するか

Raw WebGPUに伴う繰り返しの記述コードや複雑なセットアップを排除しながら、直接シェーダーとデータ移動を制御できる、簡潔なヘッダーのみの C++20 インターフェースを提供します。

動作方法

Dawn(Google の WebGPU 実装)の軽量ラッパーとして機能し、WGSL または SPIR-V でコンピュートシェーダーを記述できます。ネイティブリソースを管理し、Future システムを通じて非同期処理とエラーを処理し、Metal(macOS)、Vulkan(Linux)、Emdawnwebgpu(ブラウザ)など複数のバックエンドをサポートします。

対象ユーザー

C++、Python、JavaScript/Wasm で汎用 GPU コンピュート機能が必要だが、完全な WebGPU API のボイラープレートを避けたい開発者。

特徴

  • クロスプラットフォーム対応:macOS、Linux、Web ブラウザで動作します。
  • マルチ言語バインディング:pybind11 を通じた Python モジュールと JavaScript/Wasm 対応を含みます。
  • 柔軟なシェーダー入力:WGSL と SPIR-V(ネイティブのみ)の両方をサポートします。
  • 効率的なデータ処理float16float32int32 型をサポートし、Python では NumPy との統合を実現します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト