ROCm ist seit seiner Veröffentlichung im Jahr 2016 gewachsen und umfasst heute Treiber, Compiler, Profiler und fortschrittliche mathematische Tools, die im gesamten Bereich des maschinellen Lernens und der KI eingesetzt werden. Durch die Open-Source-Veröffentlichung von ROCm können diese Komponenten von Entwicklern verbessert und kombiniert werden, aber das Zusammenstellen, Erstellen und Testen dieser Kombinationen kann komplex und fehleranfällig sein. Wenn eine Änderung mehrere GitHub-Repositorys betraf, mussten mehrere Pull-Anfragen koordiniert werden, und für branchenweite ROCm-Veröffentlichungen mussten exakte Kombinationen all dieser Projekte vorbereitet werden.
Das ROCm-Software-Ökosystem hat sich in den letzten Jahren dramatisch erweitert. Unsere einzige monolithische Version, die auf mehrere Branchen und Anwendungsfälle abzielt, führt oft dazu, dass unsere Benutzer mehr Software installieren, als sie benötigen. Wir sind uns bewusst, dass dieser Trend nicht nachhaltig ist, und haben bereits ROCm-DataScience und ROCm-LifeScience als separate Einheiten eingeführt. Das gesamte ROCm-Toolkit ist jedoch immer noch zu groß, und das ROCm Core SDK reduziert es auf die Teile, die für die Ausführung gängiger KI-Workloads erforderlich sind. Das bedeutet, dass Gruppen verwandter Pakete in marktspezifische Erweiterungspakete wie HPC verschoben oder eigenständige Projekte in die Kategorie „Verschiedenes” verschoben werden. Diese Änderungen werden Mitte 2026 mit zukünftigen ROCm-Versionen umgesetzt.
Vor TheRock war das zentralisierte Build-System eine Sammlung von Bash-Skripten, die bei Bedarf CMake oder make aufriefen, um das zentrale ROCm-Toolkit zu erstellen. Die Übergabe von CMake-Build-Flags über einen einzelnen Build hinweg erforderte oft manuelle Eingriffe. TheRock bietet ein reines CMake-basiertes Build-System, das die Weitergabe von Build-Flags und Konfigurationen über verschiedene Phasen und Komponenten des Builds hinweg optimiert. Python und GitHub werden für das Dependency Management verwendet.