如何突破已成瓶颈的架构
GCN全称为Graphics Core Next,AMD早在RADEON HD7000系列显卡就开始采用这一架构,它也是世界上第一款围绕28nm制程设计的GPU架构。
GCN在诞生伊始就让晶体管密度提高了60%,用Compute Unit(CU)的区块形式重新构建了整个图形渲染系统。每个CU内整合了多达64个矢量逻辑ALU,超量计算可在寄存器的支持下由其中2个ALU或4个ALU合并完成。无论性能密度还是资源利用的灵活度,CU都是此前蓬松而僵化的1D+4D SIMD流处理器簇无法比拟的。自那时起,将指令缓冲、任务指派等组件与64个ALU打包在一起的CU便成为AMD图形计算架构的基础模块,一直沿用至今。
以芯片全局角度又是如何管理利用这些CU的?从第二代GCN开始,AMD将所有CU划归到4个Shader Engine里,每个Shader Engine都有一个Geometry单元负责为下辖CU装载几何计算指令。注意这里面包含的组件,控制ALU进行顶点计算、曲面细分的指令汇编都在此完成。
是不是觉得这一整套的形式与某物很像?没错,确实很像NVIDIA架构中的SM单元,PolyMorph、光栅化引擎都其并列其中,不同的是它比SM下辖了多得多的逻辑ALU。从计算规模上衡量,AMD GCN架构中的每个Shader Engine对应的是NVIDIA CUDA架构里的GPC,或者说比GPC更大,但每个Shader Engine只有一台几何引擎,而每个GPC却有若干个Polymorph加持,导致前者几何绘图能力常年弱于后者,这是AMD显卡从RV870时代一路带来的顽症。
这些年来,AMD芯片架构从夏威夷到北极星,无论CU增多还是减少,Shader Engine一直都是四个。其实一开始Hawaii(R9 290X)的结构还算平衡,可是到了Fiji,ALU数量猛涨到4096个,Shader Engine却依然是四个,每个下辖CU达16个,却只有一个几何引擎和光栅引擎。 因此前端管线无法充分调动ALU进行顶点渲染、曲面细分等几何计算,产生的瓶颈严重制约了整体游戏帧数的输出。
如此这般,使FURY X更像是计算卡,而非游戏卡,很多时候空有强悍的浮点性能,实际游戏表现却不如浮点性能低得多的N卡,大量的计算资源没有用上,处于闲置状态。
关于GCN就说到这里,往远咱就不扯了,说回这次发布的RX VEGA 64显卡,既然SP单元是4096个没变,难道Shader Engine还要继续重蹈覆辙吗?