Beispiele und Tutorials
English | 简体中文 | 日本語 | Deutsch | Русский
Dokumentation · Schnellstart · 中文
1. NVIDIA Laufzeitbeispiel
Einstiegspunkt: ptx-runtime.
Im Basisfall wird die FP32-Addition zweimal bei jeder Länge durchgeführt: 1, 63, 64, 65 und 257. Dabei werden jedes Ergebnis und 16 Tail-Sentinel-Werte überprüft. Es demonstriert Geräteauswahl, Upload, Argumentbindung, Tail-Bounds, Readback und wiederholte Ausführung.
Informationen zum Erstellen und Auswählen eines Backends finden Sie im Schnellstart.
2. Gezielte Fälle
Platzieren Sie diese Argumente nach -- des Befehls. Führen Sie den Tensorfall beispielsweise aus mit:
cargo run --locked -p ruda-driver-cuda --features direct-ptx --example ptx-runtime -- --tensor
| Argument | Verhalten | Beispielquelle |
|---|---|---|
--tensor |
Tensor-Metadaten- und Layoutprüfungen | tensor.rs |
--shared |
Prüfungen des gemeinsam genutzten Speichers | shared.rs |
--half |
FP16/BF16 prüft | half_precision.rs |
--bitwise |
Bitweise Operationsprüfungen | bitwise.rs |
--shared-over-limit |
Diagnose der Grenze des gemeinsam genutzten Speichers | shared.rs |
--expect-cold |
Die Kompilierung der Asserts erfolgte ohne einen Festplatten-Cache-Treffer | Haupteinstiegspunkt |
--expect-warm |
Stellt einen Festplatten-Cache-Treffer ohne Neukompilierung fest | Haupteinstiegspunkt |
--shared-over-limit verwendet einen separaten Zweig mit vorzeitiger Rückkehr. Kombinieren Sie es nicht mit Kalt-/Warm-Cache-Prüfungen.
3. Kalte und warme Caches
Verwenden Sie für jeden Kompilierungspfad ein separates neues Cache-Verzeichnis. Verwenden Sie dieses Verzeichnis für die Kalt- und Warmläufe desselben Pfads erneut.
Nachdem Sie einen Kompilierungspfad ausgewählt haben, wie in Erste Schritte beschrieben, führen Sie diese Befehle in derselben PowerShell-Sitzung aus:
$env:RUDA_PTX_TEST_CACHE = 'target/ptx-example-cache-' + [guid]::NewGuid().ToString('N')
cargo run --locked -p ruda-driver-cuda --features direct-ptx --example ptx-runtime -- --expect-cold
cargo run --locked -p ruda-driver-cuda --features direct-ptx --example ptx-runtime -- --expect-warm
Lassen Sie den Compiler, die Eingabeargumente und den Cache-Pfad zwischen den Läufen unverändert.
4. Beispiele für Compute-Bibliotheken
Bereiten Sie die Build-Umgebung vor, bevor Sie Beispiele ausführen.
| Aufgabe | Befehl | Ausgabeprüfungen |
|---|---|---|
| FP32 CSR Matrix-Vektor-Multiplikation | cargo run --locked -p ruSPARSE --features cuda --example csrmv |
Liest zurück und prüft [7.0, 2.0, 18.5] |
| CUDA Ring AllReduce | cargo run --locked -p ruCCL --features cuda --example all_reduce |
Vier logische Ränge für GPU 0, 257 Elemente, Summe/Mittelwert und Eingabeerhaltung |
5. Training und Modellinferenz
- Trainings- und Speicherstatus: Vorwärts-, Rückwärts-, Gradientenakkumulation und Trainingsaufzeichnungen.
- Modellladen und Inferenz: Qwen2/Qwen3.5-Beispielbefehle, Chat, Sampling, AWQ und Bildeingabe.