basix
2023-07-21, 16:36:21
Hallo zusammen
Das vor kurzem veröffentlichte DX12 Agility SDK ermöglicht es, Wave Matrix Multiply-Accumulate Funktionen mit einer allgemeinen API anzusprechen.
https://videocardz.com/newz/microsoft-dx12-agility-sdk-update-to-speed-up-gpu-ml-applications-and-av1-encoding
Das heisst, dass entsprechende HW-Einheiten über eine einheitliche API angesprochen werden können:
- Nvidia = Tensor Cores seit Turing
- AMD = WMMA Extension ab RDNA3
- Intel = Xe Matrix Extensions (XMX) seit Xe Arc
Wave Matrix driver support:
AMD: AMD will be releasing a preview AMD Software: Adrenalin Edition™ driver with WaveMMA support in the coming weeks, watch here for an updated link to that driver.
Intel: For Intel drivers, please contact your developer representative
NVIDIA: For NVIDIA drivers, please reach out to your developer engagement representative
Qualcomm: Future support is planned
AMD hat einen interessanten Blogeintrag veröffnetlicht, wo es um den Einsatz von Matrix Befehlen bei Spielen geht.
https://gpuopen.com/learn/matrix-compendium/matrix-compendium-intro/
Für mich sieht es danach aus, dass Matrix Operationen zukünftig viel öfters verwendet werden können. Mir ist aber nicht klar, wie gross das Potential ist:
- Ist FP16 ausreichend für viele Algorithmen? Nur AMD kann FP32 via WMMA beschleunigen
- Welche Algorithmen bieten sich an? Oder anders gefragt: Wie hoch ist der Anteil an Spiele-Algorithmen, welche neu via Matrix anstatt Vektor berechnet werden können?
Der Idealfall wäre, wenn viele Algorithmen mit Bfloat16/FP16-WMMA laufen würden. Hier hätte man verglichen mit FP32 Vektor das grösste Beschleunigungspotential. Bfloat16 hätte den Vorteil, dass es falls für die Algorithmen erforderlich ist, den FP32 Wertebereich beibehält (aber an Genauigkeit einbüsst).
Das vor kurzem veröffentlichte DX12 Agility SDK ermöglicht es, Wave Matrix Multiply-Accumulate Funktionen mit einer allgemeinen API anzusprechen.
https://videocardz.com/newz/microsoft-dx12-agility-sdk-update-to-speed-up-gpu-ml-applications-and-av1-encoding
Das heisst, dass entsprechende HW-Einheiten über eine einheitliche API angesprochen werden können:
- Nvidia = Tensor Cores seit Turing
- AMD = WMMA Extension ab RDNA3
- Intel = Xe Matrix Extensions (XMX) seit Xe Arc
Wave Matrix driver support:
AMD: AMD will be releasing a preview AMD Software: Adrenalin Edition™ driver with WaveMMA support in the coming weeks, watch here for an updated link to that driver.
Intel: For Intel drivers, please contact your developer representative
NVIDIA: For NVIDIA drivers, please reach out to your developer engagement representative
Qualcomm: Future support is planned
AMD hat einen interessanten Blogeintrag veröffnetlicht, wo es um den Einsatz von Matrix Befehlen bei Spielen geht.
https://gpuopen.com/learn/matrix-compendium/matrix-compendium-intro/
Für mich sieht es danach aus, dass Matrix Operationen zukünftig viel öfters verwendet werden können. Mir ist aber nicht klar, wie gross das Potential ist:
- Ist FP16 ausreichend für viele Algorithmen? Nur AMD kann FP32 via WMMA beschleunigen
- Welche Algorithmen bieten sich an? Oder anders gefragt: Wie hoch ist der Anteil an Spiele-Algorithmen, welche neu via Matrix anstatt Vektor berechnet werden können?
Der Idealfall wäre, wenn viele Algorithmen mit Bfloat16/FP16-WMMA laufen würden. Hier hätte man verglichen mit FP32 Vektor das grösste Beschleunigungspotential. Bfloat16 hätte den Vorteil, dass es falls für die Algorithmen erforderlich ist, den FP32 Wertebereich beibehält (aber an Genauigkeit einbüsst).