[Migrated] How to get spir-v with OpCapability Kernel?
まだ誰も着手していません。
- 主要言語
- Rust
- スター
- 3.4k
- フォーク
- 126
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
Issue automatically imported from old repo: https://github.com/EmbarkStudios/rust-gpu/issues/1094
Originally creatd by jczaja on 2023-09-22T07:57:23Z
Hi,
I have a dummy compute kernel:
#[spirv(compute(threads(768)))]
pub fn main_cs(
#[spirv(global_invocation_id)] id: UVec3,
#[spirv(storage_buffer, descriptor_set = 0, binding = 0)] prime_indices: &mut [u32],
) {
let index = id.x as usize;
prime_indices[index] = collatz(prime_indices[index]).1u32;
}
I can run it using Vulkano abd it works, but I wanted to run this spir-v kernel using Intel Level Zero and this did not work. Problem is that Intel Level zero is OpenCL like API and it require that SPIR-V is :
OpCapability Kernel
OpMemoryModel Physical64 OpenCL
..
while my dummy compute kernel as SPIR-V contains:
OpCapability Shader
OpMemoryModel Logical Simple
...
How can I compiler my rust compute shader so it is of SPIR-V form OpCapability Kernel ?
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
この issue では、ダミーの Rust コンピュートカーネル、Vulkano、Intel Level Zero、および必要な SPIR-V capabilities とメモリモデルが挙げられていますが、リポジトリのファイルやテストは示されていません。まず、rust-gpu がコンピュートシェーダー用の SPIR-V をどのように生成するかを追跡し、その出力を Level Zero の検証ルールと比較してください。完了条件は、必要な形式に対応するサポート済みの経路を特定するか、制限を明確に文書化することです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- rust
- 領域
- compilers, computer-graphics
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100