News AMD Vega Instruction Set Architektur online

User-News

Von E555user

Hinweis: Diese "User-News" wurde nicht von der Planet 3DNow! Redaktion veröffentlicht, sondern vom oben genannten Leser, der persönlich für den hier veröffentlichten Inhalt haftet.
Auf der AMD Webseite mit den Dokumentensammlungen findet sich im unteren Teil die Dokumentation der Vega ISA (aka GCN5) als PDF-download.
Ein entsprechender Artikel unter GPUopen.org verweist ebenso auf das Dokument: "Vega" Instruction Set Architecture, Reference Guide, 28-July-2017

Wer schon in der bisherigen GCN3 ISA dokumentation geblättert hat wird bemerken, dass zunächst einmal vieles gleich geblieben ist. Einerseits erklärt es die frühe Verfügbarkeit funktionierender Treiber, andererseits wundert man sich warum AMD so viel Zeit in die Treiberentwicklung für Vega stecken muss.

Hier die Zusammenfassung der Änderungen aus der Doku:
Differences Between VEGA and Previous Devices
Summary of kernel instruction changes in Vega GPUs:
• New packed 16-bit math instructions.
V_PK_MAD_I16 V_PK_MUL_LO_U16 V_PK_ADD_I16 V_PK_SUB_I16
V_PK_LSHLREV_B16 V_PK_LSHRREV_B16 V_PK_ASHRREV_I16 V_PK_MAX_I16
V_PK_MIN_I16 V_PK_MAD_U16 V_PK_ADD_U16 V_PK_SUB_U16
V_PK_MAX_U16 V_PK_MIN_U16 V_PK_FMA_F16 V_PK_ADD_F16
V_PK_MUL_F16 V_PK_MIN_F16 V_PK_MAX_F16 V_MAD_MIX_F32
V_MAD_MIXLO_F16 V_MAD_MIXHI_F16 S_PACK_{LL,LH,HH}_B16_B32
TMA and TBA registers are stored one per VM-ID, not per draw or dispatch.
• Added Image operations support 16-bit address and data.
• Added Global and Scratch memory read/write operations.
• Also added Scratch load/store to scalar memory.​
• Added Scalar memory atomic instructions.
MIMG Microcode format: removed the R128 bit.
• FLAT Microcode format: added an offset field.
Removed V_MOVEREL instructions.
• Added control over arithmetic overflow for FP16 VALU operations.
Modified bit packing of surface descriptors and samplers:
• T#: removed heap, elem_size, last_array, interlaced, uservm_mode bits.
• V#: removed mtype.
• S#: removed astc_hdr field.​

Mein Kommentar dazu:
Die Änderungen betreffen durchaus Bereiche in denen bislang wahrscheinlich Treiberoptimierungen angesiedelt waren (blau), die nun verloren gehen oder in den neuen Instruktionen neu interpretiert werden müssen. Texture Resourcen können/müssen jetzt nicht mehr per R128 mit halber Bitlänge übergeben werden, dort sollen die grösseren Caches wohl die Optimierungsarbeit abnehmen, bestimmte Werte sind wohl fix als 128bit übergeben. Zusätzliche Memory-Instruktionen benötigen neue Optimierungsansätze, wobei ich eher GPGPU Vorteile denn Gaming-Optimierungen erwarten würde. Viele der neuen Instruktionen jedoch - insbesondere zu 16bit werden wohl angepasste Programme bzw. Content benötigen. Vermutlich liegt es aber nicht an Shader und Texturhandling, sondern eher an den ROPs wenn diese Arch hinter nVidia beim Pixel-Output zurückliegt.
 
Zuletzt bearbeitet:
Ja, da war am 10. was auf Twitter (hat Raja retweeted, sonst hätte ich das nicht gesehen). Die Doku wird ja gelobt ("Vega's ISA doc definitely got a upgrade in terms of technical documentation quality.") und witzig ist, dass auch ein Hinweis auf die Doku-Toolchain gegeben wird: "RST, SPHINX, ReadtheDocs and Github" :).
 
Zurück
Oben Unten