Re: [情报] RX480 技术情报 PPT

楼主: jk21234 (BL2400PT真不错)   2016-07-02 00:32:16
※ 引述《b155073 ()》之铭言:
: 原文网址:http://videocardz.com/61557/rajas-super-secret-cigar-stash
一章一章来
: http://goo.gl/i8LpCz
从1 Graphics Command Processor到 576 Load/Store Units
都是指微架购上的改进 而之外的则是较一般的规格等
: http://goo.gl/PwA5r9
Geometry Engine :
三角面处理完之后 转换给Pixel Shader中间的这个工作,
传统称为Geometry Setup或者是Rasterization(但是这个会跟ROP的"R"
容易混淆)
Primtive Discard Accelerator
在把东西丢给Pixel Shader之前,如果知道这个三角面已经被遮住了
就可以先丢掉不算.反正算完也没用..如果更确定可以连前端的Shader
都省掉
相关的技术比如Early-Z,Z-Culling,或者进阶的Tile-Based Defferred
Rendering等等
然后他提到跟MSAA有关 也就是说也影响你开一般游戏下的FSAA的设定
因为一般游戏的FSAA仅做到MSAA,跟MSAA有关则是因为MSAA只做三角面的边缘
跟交界,要做MSAA的像素一定会发生有的实际上有被遮住有的没有.
Index Cache
改变资料在Cache排的方式节省频宽 或者把原本零散的存取
变动为连续的
: http://goo.gl/KX59Iv
Shader的性能变强 但是(?
Instruction Prefetch
注意 不要跟Prefetch Instruction搞混 两个完全不一样
这个是说 原本处理器不分CPU/GPU,如果没有分支就是
执行下一个指令 那下一个指令确定会被执行就应该先取进来
这样切换的时候就保证不用等
不过除非原本就设定成保证要等 不然一定会在GPGPU/游戏特效上
产生正面效果的幅度就不会太大...
per wave instruction buffer size
每个"wavefront"的指令缓冲区变大
wavefront是AMD GPU内的抽象化单位 他是指一起执行的最小的集合体
一个wavefront会统整N个SP,相应的Thread,相对的暂存器数量等等
(CUDA/nVidia GPU的Warp,OpenCL的Compute Unit则是同级的名词)
然后wavefront内部 每个cycle所执行的指令都是一样的,
既然这样 那储存指令缓冲区就只要每个wavefront一个就够了
Tuned L2 Cache
可以把存取合并 然后效率变好吧
FP16/INT 16 Support
由于开始有用GPU计算Machine Learning的,
比如说Deep Neuro Network,发现用不到float32
这么高的精确量.
如果FP16/INT16比32bit可以更快更省
那都可以产生一样的效果
不过google更极端 直接做纯INT16的芯片,
2T INT16/s的芯片只耗0.5W,以后有介绍到google VISION CHIP再说
.........然后讲到这边 还没DX10的时候,显示卡超过80%的运算能力
都是在算整数而且这个整数只有8-10bit...
都已经转过来Unified的环境却发现你丢掉的东西才是你要的........
: http://goo.gl/bGFT0m
GPU Open Intrinsic Function
Direct ACCESS to inline ISA
两个都是同一件事情,
因为设计特殊处理器的时候,不只GPU,你可以看到DSP,Cell
等等.他会有一些很难放进高阶语言描述内的指令
这时候除了整个用组合语言硬干之外
就是使用intrinsic或者是inline Assembly的方式处理
两个虽然叫不同名字但是是等价的,一般而言intrinsic
长的像是高阶语言的function,但是一个对应一个特殊硬件指令,
而inline ISA长的像是手写组合语言但是使用比较方便.
什么叫做有这个硬件指令但是高阶语言很难用?
比如我随便设计一个指令,P=A*B*C+X+Y
那编译器一定要看到P=A*B*C+X+Y; or Q=A*B*C;P=Q+X+Y;
这样确定的运算才可以配出这个指令
如果中间有一些不对...比如说中间同时计算过A*B和X+Y
编译器会很开心的用算过的东西取代掉A*B和X+Y
你就配不出你设计的新指令了
所以为了避免这样 你可能就...假设指令名称叫XC5
P=__intrinsic_xc5(A,B,C,X,Y);
或者
__asm("XC5 P,A,B,C,X,Y");
Performance Critical Function
允许Programmer标示哪个Function
在性能上关键 但基本上整个最佳化应该还是要你自己来
driver环境上顶多只能帮你 不要有拖慢这个Function执行的速度的行为
比如说 把其他计算也同时排进去.
: http://goo.gl/LHeklW
Memory Controller &PHY
Losesess DCC
针对要送进显示卡DRAM的资料可以先压缩 而节约频宽
过去只有Texture在读取前预先破坏性压缩过.
这方法的原理就是你要存的资料很多都是图形或者Shader
算出来的资料给下一步要用的投影.特色就是有不小的机会,
你和你的相邻像素只差一点点 那我只传两个的差值就可以减少一些资料.
不过Maxwell有做啦,Tonga也宣称有,就各种可能有较好有较差的...
: http://goo.gl/hVJ4Ar
DX12 async compute
不是中图Preemtive的传统计算,你算一个等他回来一个
而是部分的可以预先送入 利用没用光的资源先计算
: http://goo.gl/M29cPB
所有应用软件的要求 都会一起堆在driver内
然后除了driver之外,硬件层也在接受要求后
内部有排程器
这部分就...除非等HSA/Fusion完全完成,
否则只有进步没有变革性的更动.
: http://goo.gl/02NPYM
DP支援的分辨率,SDR=8bit,HDR: > 8bit
: http://goo.gl/bEaPbx
HDR色域
: http://goo.gl/hVU24E
: http://goo.gl/cwxiiC
因为节约耗电量 具有的动态调节能力
(注:最初期的省电作为以能否整个关闭逻辑闸
或者是动态调整频率来考量省电.
而之后则实作发现比如能否剧烈切换
关闭后再打开有没有反而更耗电各种问题
: http://goo.gl/UXfV5c
: http://goo.gl/sAE9bi
: http://goo.gl/H2u1kb
: http://goo.gl/SmqyAZ
: http://goo.gl/SlbT3i
: http://goo.gl/FwgSTh
传统的绘制 假设在环境中存在一只摄影机
而摄影机所拍到的东西存在他自己的"底片"上
这个底片是一个平面,你看的是这个平面,而且每个像素
大小均等
那现在如果是环境中有两支摄影机在不同地方?
还是所用的底片不是平面的 ?
想也知道这是用在那个环境的,但我们先把这两个问题订为
双眼显示和曲面萤幕
传统方式当然可以绘制两个摄影机所拍的东西
只是你要这个frame切换摄影机所在位置,Vertex Shader
开始就重算一次.然后下个frame又要切回来
我跳过去了 我又跳过来了 每次你都要帮我重算呦
至于非平面萤幕也可以在每个vertex Shader后,Pixel Shader
之前再套入另外一个Shader换算.
可是就要多一套计算.
那直接硬件化了就是使用他的接口就可以直接做到两个效果
不用在软件再中间重新计算
: http://goo.gl/AtmnVq
Reservation (Station):
只要处理器需要动态分配执行的资源,也就是说不只
GPU,连现代(1995后吧)的cpu也会有,
: http://goo.gl/lgOSXJ
对应multiGPU或者是Crossfire的重大变更
理面的AFR指的是CF采用AFR(每Frame交互计算)
但是他会产生严重的叫做
Micro-Stuttring的问题
这是什么问题我记得刚好以前有写过
https://www.ptt.cc/bbs/PC_Shopping/M.1336495940.A.DCA.html
简单说FPS平均很好看 显示出来的时间不均等 而且视觉差异更糟糕
那这个改进就是,
我AFR后算好后 我插一个延迟 到固定的时间才确定要显示
这可以解决micro-stuttring的问题
可是我暂时怀疑一下.因为默认如果开 那么CF后的数字就不一定漂亮
而且这个做法说不定之前多卡的时候如果有开VSYNC也不会有问题...
这就要确认了,但对不用多卡的这个功能是没差别
: 懒人包:(只看标题)
作者: CactusFlower (仙人掌花)   2016-07-02 01:26:00
嗯 好像暸解了些什么呢!
作者: semihumanity (沙漠之狐)   2016-07-02 10:14:00
请问一下,warp不是相当于wavefront吗?1warp有32thread;1CU有8wavefront,1wavefront有64workitem。thread相当于workitem不过后来好像都改成1wavefront32workitem了的样子
作者: kanyewest927 (bicyclego)   2016-07-02 23:25:00
我们讲同一种语言?膝盖痛痛的...

Links booklink

Contact Us: admin [ a t ] ucptt.com