Intel Arc Graphics: Massive Verbesserung in Open-Source Vulkan-Treiber

Ein Patch(öffnet im neuen Fenster) für den Open-Source Intel Mesa Vulkan-Treiber bringt einen ungewöhnlich großen Performance-Boost in Sachen Raytracing. Der Entwickler des Patches, Intels Grafiktreiber-Ingenieur Lionel Landwerlin, kommentierte den Merge-Request nur mit "Like a 100x (not joking) improvement" (Wie eine 100-fache (kein Scherz) Verbesserung). Der Fix wird in Mesa ab der Version 22.2 enthalten sein.
Ungewöhnlich hohe Leistungsverbesserung
Ein so großer Leistungsunterschied ist selbst bei Treibern für nagelneue Technologie sehr ungewöhnlich. Umso ungewöhnlicher ist, dass der Patch im Programmcode lediglich einen einzigen Wert in einer einzigen Zeile ändert: Eine 0 wird zu einem ANV_BO_ALLOC_LOCAL_MEM .
Die Wirkung von dieser Änderung aber ist groß. Sie bedeutet nichts anderes, als dass der Treiber für die Raytracing-Aufgaben den lokalen Speicher der Grafikkarte nutzt, statt für die Berechnungen den normalen Arbeitsspeicher des Computers zu verwenden. VRAM ist erstens schneller als RAM, zweitens kommen bei der RAM-Benutzung noch Transferzeiten über den Bus hinzu. Für eine einzelne Operation mag das nicht besonders viel Zeitunterschied ausmachen, in der Menge summiert sich das jedoch sehr schnell zu massiven Performancegewinnen.
Operationen auf Speicher in Treibern schon immer sensibles Thema
Wer sich schon mal mit Treiberprogrammierung befasst hat, weiß, dass Speicheroperationen in Treibern schon immer ein sensitives Thema waren und sind. So ist zum Beispiel eine der ersten Sachen, die man bei der Treiberprogrammierung lernt, dass man für ein eventuell benötigtes Logging einen statischen Ringbuffer verwendet, weil ein einfaches malloc, um Speicher für einen zu loggenden Wert zu allokieren, bereits das Timing innerhalb des Treibercodes so sehr verändert, dass es den mitgeschriebenen Wert praktisch nutzlos macht. Vor diesem Hintergrund verwundert es also nicht, dass eine Verlagerung der Speicheroperationen vom RAM auf den schnelleren VRAM solch drastische Folgen haben kann.