CLI-Tool
triton-lang/triton avatar
triton-lang/triton

Triton: eine Sprache und ein Compiler für Deep-Learning-Primitive

triton-lang/triton bietet eine praxistaugliche Open-Source-Implementierung mit stabiler Einsatzbarkeit für reale Anwendungsfälle.

20.159 Sterne3.191 ForksMLIRMIT

Auf einen Blick

Was ist das?
Ein Überblick über das Entwicklungs-Repository, einschließlich Installation, benutzerdefinierter LLVM-Builds, Debugging-Optionen und Kompatibilität.
Für wen ist es gedacht?
Triton ist ein Open-Source-Sprach- und Compilerprojekt, das darauf abzielt, leistungsstarke Deep-Learning-Primitive zu schreiben. Das Repository bietet Installationsanweisungen, Build-Optionen mit benutzerdefiniertem LLVM, Debugging-Tools und eine klare Kompatibilitätserklärung, alles unter der MIT-Lizenz.
Darf ich es kommerziell nutzen?
Ja. MIT ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
Wird es noch gepflegt?
Ja. Die letzten Commits kamen vor 1 Tag.
In welcher Sprache ist es geschrieben?
Hauptsächlich MLIR, laut der Sprachstatistik von GitHub.

Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 14. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.

TIEFGEHENDE OPEN-SOURCE-ANALYSE

Die Triton-Sprache und der Compiler

Das Repository ist die Entwicklungsheimat von Triton, einer Sprache und einem Compiler zum Schreiben hocheffizienter benutzerdefinierter Deep-Learning-Primitive. Laut README zielt Triton darauf ab, eine Open-Source-Umgebung bereitzustellen, um schnellen Code mit höherer Produktivität als CUDA zu schreiben und gleichzeitig mehr Flexibilität als bestehende DSLs zu bieten. Die Grundlagen werden in einer MAPL2019-Veröffentlichung beschrieben, und das README bittet die Nutzer, diese zu zitieren. Die offizielle Dokumentation befindet sich auf triton-lang.org, und eine Reihe von Drittanbieter-Triton-Rätseln kann mit dem Interpreter ohne GPU ausgeführt werden.

Installation über pip und aus dem Quellcode

Für eine schnelle Installation nennt das README `pip install triton`, mit binären Rädern für CPython 3.10-3.14. Für einen Build aus dem Quellcode klonen die Befehle das Repository, installieren Build-Zeit-Abhängigkeiten aus `python/requirements.txt` und führen `pip install -e .` aus. Eine Virtualenv-Variante erstellt eine venv, aktiviert sie und führt dann dieselben pip-Befehle aus. Das README spezifiziert keinen bestimmten Paketmanager und erwähnt keine anderen Vertriebskanäle.

Build mit benutzerdefiniertem LLVM

Triton verlässt sich auf LLVM für die Codegenerierung. Standardmäßig lädt der Build ein vorgebautes LLVM herunter, aber das README dokumentiert einen benutzerdefinierten Build-Pfad. Da die LLVM-API nicht stabil ist, muss Triton gegen eine bestimmte Revision gebaut werden, die im Feld `llvm_hash` in `cmake/llvm-info.json` aufgezeichnet ist. Das praktische Ziel `make dev-install-llvm` übernimmt Build und Installation. Ein manuelles Verfahren wird ebenfalls bereitgestellt, beginnend mit dem Auschecken dieser LLVM-Revision, der Konfiguration mit CMake für Ziele wie NVPTX und AMDGPU, dem Build mit ninja und dann dem Setzen von `LLVM_INCLUDE_DIRS`, `LLVM_LIBRARY_DIR` und `LLVM_SYSPATH` vor `pip install -e .`.

Build-Tipps und die Testsuite

Das README listet mehrere Umgebungsvariablen auf, die den Build beeinflussen. `TRITON_BUILD_WITH_CLANG_LLD=true` verwendet clang und lld, wobei lld die Builds beschleunigt. `TRITON_BUILD_WITH_CCACHE=true` aktiviert ccache. `TRITON_HOME` verlegt das `.triton`-Cache- und Download-Verzeichnis. `MAX_JOBS` begrenzt die Build-Parallelität, um den Speicherverbrauch zu steuern. Die Übergabe von `--no-build-isolation` an pip kann No-Op-Builds beschleunigen. Der Build erzeugt eine `compile_commands.json` für die VSCode- und clangd-Integration. Für Tests sagt das README, dass es keinen schlüsselfertigen Weg gibt, alle Tests auszuführen, bietet aber ein Rezept: `make dev-install` für die Einrichtung, dann `make test` mit GPU oder `make test-nogpu` ohne.

Konfigurationsknöpfe und Debugging

Die vollständige Liste der Konfigurationsknöpfe befindet sich in `python/triton/knobs.py`. Mehrere Umgebungsvariablen steuern IR-Dumps und Debugging. `MLIR_ENABLE_DUMP=1` dumpft IR vor jedem MLIR-Pass, und `MLIR_DUMP_PATH` setzt den Ausgabeort. `LLVM_IR_ENABLE_DUMP=1` macht dasselbe für LLVM-IR. `TRITON_REPRODUCER_PATH` schreibt vor jeder Compiler-Stufe einen MLIR-Reproducer. `TRITON_INTERPRET=1` wechselt zum Interpreter und erlaubt Python-Breakpoints in Kerneln. Andere Variablen decken LLVM-Debug-Ausgabe, Adress-Sanitizer auf dem AMD-Backend, Autotuning-Berichte und Timing-Informationen ab. Das README beschreibt auch einen Kernel-Override-Workflow und einen `add_stages_inspection_hook` zur Inspektion der Compiler-Pipeline.

Version 2.0 und Kompatibilität

Das Changelog kündigt Triton 2.0 an, das laut README viele Fehlerbehebungen, Leistungsverbesserungen, ein auf MLIR umgeschriebenes Backend und Unterstützung für Kernel mit aufeinanderfolgenden Matmuls wie Flash Attention enthält. Der Kompatibilitätsabschnitt listet Linux als einzige unterstützte Plattform, NVIDIA-GPUs mit Compute Capability 8.0 oder höher, AMD-GPUs mit ROCm 6.2 oder höher und CPUs als in Entwicklung befindlich. Das README listet keine anderen Betriebssysteme oder Hardware auf.

Entwicklungscontainer und Beitrag

Das Projekt stellt Entwicklungscontainer über das Repository `redhat-et/triton-dev-containers` bereit. Das README nennt als Hauptvorteile Konsistenz, Isolation und Portabilität und verlinkt auf einen Benutzerleitfaden. Für Beiträge lädt es die Community ein, Fehler zu beheben oder Funktionen hinzuzufügen, und verweist auf einen Beitragsleitfaden in `CONTRIBUTING.md`.

Lizenz · triton lang triton

Das Repository steht unter der MIT-Lizenz. Der Lizenzauszug gewährt die Erlaubnis, Kopien der Software zu verwenden, zu kopieren, zu modifizieren, zu verschmelzen, zu veröffentlichen, zu verteilen, zu unterlizenzieren und zu verkaufen, vorausgesetzt, der Urheberrechts- und Genehmigungshinweis wird in allen Kopien oder wesentlichen Teilen aufgenommen. Die Software wird 'wie besehen' ohne jegliche Gewährleistung bereitgestellt, und die Autoren oder Urheberrechtsinhaber haften nicht für Ansprüche oder Schäden. Der Lizenztext erwähnt keine Sicherheitslage, keinen Support und keine Garantie über die genannte Haftungsausschluss hinaus.

Redaktionelles Fazit

Triton ist ein Open-Source-Sprach- und Compilerprojekt, das darauf abzielt, leistungsstarke Deep-Learning-Primitive zu schreiben. Das Repository bietet Installationsanweisungen, Build-Optionen mit benutzerdefiniertem LLVM, Debugging-Tools und eine klare Kompatibilitätserklärung, alles unter der MIT-Lizenz.

Offizielle Quellen

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community-Notizen

Community-Notizen