Hoch effiziente Matrixtransposition in Mojo: CUDA übertreffen?
2025-06-06
Dieser Blogbeitrag beschreibt detailliert, wie man einen hocheffizienten Matrixtranspositionskern auf der Hopper-Architektur mit Mojo implementiert. Der Autor führt durch Optimierungen, beginnend mit einem naiven Ansatz und gipfelnd in einem Kern, der eine Bandbreite von 2775,49 GB/s erreicht – vergleichbar mit und möglicherweise besser als äquivalente CUDA-Implementierungen. Zu den Optimierungen gehören die Verwendung von TMA-Deskriptoren (Tensor Map Access), Shared-Memory-Optimierungen, Data Swizzling und Thread-Coarsening. Der Beitrag geht auf die Implementierungsdetails und Leistungsgewinne jeder Technik ein und liefert vollständige Codebeispiele.
Entwicklung
Matrixtransposition