[Migrated] How to get spir-v with OpCapability Kernel?
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Rust
- Sterne
- 3.4k
- Forks
- 125
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
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 ?
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Das Issue nennt einen Dummy-Rust-Compute-Kernel, Vulkano, Intel Level Zero sowie die erforderlichen SPIR-V-Fähigkeiten und das Speichermodell, aber keine Repository-Datei und keinen Test. Beginne damit nachzuverfolgen, wie rust-gpu SPIR-V für Compute-Shader erzeugt, und vergleiche diese Ausgabe mit den Validierungsregeln von Level Zero. Als abgeschlossen gilt die Identifizierung eines unterstützten Pfads zur erforderlichen Form oder eine klare Dokumentation der Einschränkung.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- rust
- Bereich
- compilers, computer-graphics
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100