Ruda Dokumentation
English | 简体中文 | 日本語 | Deutsch | Русский
Von Ihrem ersten GPU-Kernel bis hin zu Rechenbibliotheken, Tensortraining und lokaler Modellinferenz. Beginnen Sie mit Ihrer Aufgabe und erkunden Sie dann die Programmierhandbücher und API-Referenzen.
Beginnen Sie hier
| Ihre Aufgabe | Lesepfad |
|---|---|
| Führen Sie Ihren ersten GPU-Kernel aus | Installation und Schnellstart → Programmieranleitung |
| Verwenden Sie Matrix-, Sparse- oder neuronale Netzwerkoperationen | Computerbibliotheken → Tensoren und Frameworks |
| Modelle trainieren, Steigungen akkumulieren und Status speichern | Trainings- und Speicherstatus |
| Laden Sie lokale Modelle, generieren Sie Text oder verarbeiten Sie Bilder | Modellladen und Inferenz |
Erste Schritte
- Installation und Schnellstart: Quelleneinrichtung, Backend-Auswahl und Ihr erstes Beispiel.
- Beispiele und Tutorials: Vektoraddition, Tensoren, gemeinsam genutzter Speicher und halbe Präzision.
Programmierhandbücher
- Ruda Programmierhandbuch: Host- und Gerätecode, Ausführungshierarchie, Speicher, Synchronisierung und Sicherheit.
- Tensoren und Frameworks: Gerätetensoren, Bibliotheksversand, Fusion und automatische Differenzierung.
- Trainings- und Speicherstatus: Trainingsschritte, Gradientenakkumulation, Lernratenplanung, Speichern und Wiederherstellen.
- Verteiltes Training, Ranks und Geräte: Rendezvous, Gerätezuordnung, Collective-Reihenfolge, gewichtete Gradienten und rank-lokale Wiederaufnahme.
- Architekturkomponenten und Python Muon: mHC, DSA/CSA/HCA, komprimierter KV-Cache und hybride Modelle.
- LoRA/NF4-Fine-Tuning: Zielauswahl, Gewichtsvorbereitung, kausaler Loss, Checkpoints und Wiederaufnahme.
- PyTorch-Modellcompiler: AOT-Forward/Backward, native Partitionen, Optionen und Cache.
- PyTorch-Graphen mit festen Adressen: GraphOp, Output-Lebensdauer und Training erster Ordnung.
- Modellladen und Inferenz: ruLLM, Text- und Bildeingaben, Sampling, AWQ und kontinuierliche Stapelverarbeitung.
Kompilierung und Ausführung
- Compiler-Anleitung: das Rust-Kernel-Frontend, IR, CUDA C++/NVRTC und direktes PTX.
- PTX Backend-Referenz: Zielkonfiguration, Kompilierungsausgabe, Einschränkungen und Fehler.
- Gemeinsames Stack-Autotuning: Kandidaten, Validierung, Zeitmessung, Policy und Cache.
API Referenzen
- Laufzeit API: Geräte-Clients, Speicher, Übermittlung, Rücklesen und Synchronisierung.
- Treiber API und Backends: Backend-Typen, Geräteauswahl und Laufzeitintegration.
- Native PyTorch-API: Komponentenversionen, Tensorverträge, Optimizer, Streams und Attention.
- Referenz zur Compute-Bibliothek: Bibliotheksauswahl, Cargo-Funktionen und Einstiegspunkte.
Compute-Bibliotheken
| Bibliothek | Anleitung |
|---|---|
| ruBLAS | Lineare Algebra und gruppierte Matrixmultiplikation |
| ruDNN | Neuronale Netzwerkoperationen und MoE |
| ruPRIM | Reduktionen, Scans und Indizierung |
| ruFFT | Schnelle Fourier-Transformationen |
| ruRAND | Zufallszahlengenerierung |
| ruSPARSE | Sparse-Berechnung |
| ruCCL | Sammelkommunikation |
Debugging und Kompatibilität
- Debugging und Diagnose: Kompilierungsfehler, asynchrone Fehler, Caching und numerische Prüfungen.
- Kompatibilitätsleitfaden: CUDA-Konzepte, Backend-Unterschiede sowie API und Kompilierungsgrenzen.
- Beitrag leisten: Probleme und Entwicklungskonventionen melden.
Befolgen Sie für ein erstes Projekt die Schnellstartanleitung, die Programmieranleitung und die entsprechende Bibliotheksanleitung. Konsultieren Sie bei der Entwicklung von Backends oder Kernels die Compiler- und API-Referenzen.