Rust-GPU/rust-gpu

🐉 Making Rust a first-class language and ecosystem for GPU shaders 🚧

解決する課題

HLSLやGLSLのような、ニッチで制限のある言語でGPUグラフィックスおよびコンピュートシェーダーを記述する必要性を解消します。RustをGPUにもたらすことで、堅牢なパッケージおよびモジュールシステム、メモリ・アクセスエラーや競合状態に対する組み込みの安全性、そして高性能な実行を備えたモダンな言語を開発者に提供します。

仕組み

このプロジェクトは、VulkanのオープンなコンパイラターゲットであるSPIR-Vを生成する rustc コンパイラバックエンドを実装しています。これにより、Rustコードを直接シェーダーとしてコンパイルできます。エコシステムには、GPU固有の型とイントリンシックのための spirv-std、および build.rs を介してGPUクレートのビルドをCPUのビルドプロセスに統合するための spirv-builder が含まれています。

対象者

従来のシェーディング言語の代わりに、GPUプログラミングに安全で高レベルな言語を使用したいグラフィックスプログラマーやゲーム開発者。

ハイライト

  • Rustエコシステム: GPUクレートの開発と公開に Cargo と crates.io の使用を可能にします。
  • 安全性: Rustの安全性保証を活用し、GPU上での境界外メモリアクセスや競合状態を防止します。
  • SPIR-Vターゲット: Vulkanとの互換性を確保するため、特にSPIR-V中間表現をターゲットとしています。
  • 統合されたツール群: 標準的なRustプロジェクト内でGPUコードのコンパイルを簡素化するための専用ビルダーを提供します。

関連

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