Eine heute zusammengeführte Änderung für den Mesa 23.2-Grafiktreiber-Stack verbessert die Video-Transcoding-Leistung für neue „RDNA3“-Grafikkarten der Radeon RX 7000-Serie.
Die mit dem RadeonSI Gallium3D-Treiber zusammengeführte Änderung kommt RDNA3 (GFX11)-Grafikprozessoren zugute, die über mehrere Video Core Next (VCN)-Engines verfügen. Durch die Erstellung eines zusätzlichen Kontexts während der Videotranscodierung kann die Last jetzt über mehrere VCN-Engines verteilt werden.
AMD-Ingenieur Leo Liu erklärte mit dem RadeonSI-Patch:
Für CHIP_GFX1100 gibt es 2 VCN-Instanzen, aber die Verwendung einer einheitlichen Warteschlange, d. h. Decodierung und Codierung gehen über denselben Ring an HW Typ. Mit dem AMDGPU-Kernel-Scheduler, da die Trancodierung denselben Pipe-Kontext teilt, sodass der GPU-Scheduler die Decodierung und Codierung derselben VCN-Engine zuweist. Um beide Engines mit Transcode-Fall zu verwenden, wird der neue Pipe-Kontext erstellt, wenn der Fall erkannt wird, wodurch die Transcodierung mit mehreren VCN-Engines ausgeglichen werden kann.
Weitere Details für Interessenten unter diese Zusammenführungsanfrage, die jetzt in Mesa 23.2 für das Debüt im nächsten Quartal vorhanden ist. In dieser Anfrage wurde auch angesprochen, warum letztendlich zwei Kontexte erstellt werden sollten, anstatt den AMDGPU-Kernel-Scheduler besser mit der Situation umgehen zu lassen, worauf Leo Liu erklärte: „Der GPU-Scheduler ist sich nicht bewusst, ob der Job mit VCN4 Unified Queue (früher aka vcn_enc ring).Anstelle von 2 Ringen (vcn_dec und vcn_enc mit Legacy-VCN3) gibt es für den Transcode-Fall nur einen Kontext für den Planer, sodass alle Jobs aus dieser einheitlichen Warteschlange für dieselbe Engine geplant werden.Es würde große Änderungen geben wenn ich das vom Kernel bekomme.”
Wenn es um Video Core geht Als nächstes ist der andere aufregende Aspekt von VCN 4.0 mit RDNA3-GPUs die Hinzufügung von AV1-Videocodierung.