Tittar vi på http://llvm.org/docs/AMDGPUUsage.html så ser vi följande:
gfx900 gcn dGPU:
gfx902 gcn APU:
Ryzen 3 2200G
Ryzen 5 2400G
gfx904 och gfx906 är dessa icke namngivna gcn dGPU:er
Tittar vi på ändingarna i git:
länk
eller på kompletta filen:
länk
Så ser vi ISA900 seriens funktionsuppsättning (om det är rätt benämning).
def FeatureISAVersion9_0_0 : SubtargetFeatureISAVersion <9,0,0,
[FeatureGFX9,
FeatureMadMixInsts,
FeatureLDSBankCount32
]>;
def FeatureISAVersion9_0_2 : SubtargetFeatureISAVersion <9,0,2,
[FeatureGFX9,
FeatureMadMixInsts,
FeatureLDSBankCount32,
FeatureXNACK
]>;
def FeatureISAVersion9_0_4 : SubtargetFeatureISAVersion <9,0,4,
[FeatureGFX9,
FeatureLDSBankCount32,
FeatureFmaMixInsts]>;
def FeatureISAVersion9_0_6 : SubtargetFeatureISAVersion <9,0,6,
[FeatureGFX9,
HalfRate64Ops,
FeatureFmaMixInsts,
FeatureLDSBankCount32,
FeatureDLInsts]>;
ISA900 och ISA904 delar liknande ISA uppsättning men där FeatureMadMixInsts ersätts istället av FeatureFmaMixInsts på ISA904
Så här är det skrivet skillnaden mellan dessa, vad det innebär vet jag tyvärr ej. Har detta med "Implicit Primitive Shader" grejen att göra som aldrig kom till Vega?
def FeatureMadMixInsts : SubtargetFeature<"mad-mix-insts",
"HasMadMixInsts",
"true",
"Has v_mad_mix_f32, v_mad_mixlo_f16, v_mad_mixhi_f16 instructions"
>;
def FeatureFmaMixInsts : SubtargetFeature<"fma-mix-insts",
"HasFmaMixInsts",
"true",
"Has v_fma_mix_f32, v_fma_mixlo_f16, v_fma_mixhi_f16 instructions"
ISA906 har samma som ISA904 dock med FeatureDLInsts och HalfRate64Ops.
FeatureDLInsts: "Has deep learning instructions"
HalfRate64Ops: "Most fp64 instructions are half rate instead of quarter"
Så ISA906, dvs ISA för dGPU gfx906 har både deep learning instruktioner och högre floatingpoint noggrannhet.
Jag antar att ISA906 blir Vega för machine learning och ISA904 blir den nya Vega20/Vega12 för konsumenter.
Kan någon annan luska fram något mer tro?
edit: lite mer stuff