|
发表于 2012-2-29 20:35:03
|
显示全部楼层
回复 5# Youth
A 卡架构属于所谓的“超长指令字(VLIW)”,简单来说,就是把多条顺序执行的指令合在一起同时执行。当然,前提是这些指令可以并行执行,即它们之间没有任何制约关系。
进一步说明参见http://zh.wikipedia.org/wiki/VLIW
举个例子,(原文:http://bak2.beareyes.com.cn/2/lib/200705/15/20070515391_9.htm,强烈推荐阅读此文!)
add r1.x, r2.x, c1.x
mul r1.y, r2.y, c1.y
mad r1.z, r2.z, c1.z
cmp r3.x, r2.w, c1.w
rcp r1.x, r2.x, c1.x
R600 可以在一个 SIMD vector 中同时执行上面的指令(流),而 G80 只能在一个 SP 中依次执行。这意味着,R600 只要一个时钟周期完成的任务,G80 需要五个时钟周期。在同频的情况下,G80 花费的时间是 R600 的五倍。
所以,A 卡适合指令并行度高(比如CC)或者类似向量操作(比如MW)的计算任务。关于这两个项目的具体情况,还是要由某超级碉堡 才能说得清楚:
http://www.equn.com/forum/redire ... 6113&pid=345683
总之,不会出现某个架构无论如何都不适合科学计算的情况。
当然,R600 的 VLIW 架构适应性不如 G80,A 卡的 7900 系列也改为与 G80 相同的架构(类型)。
CPU 方面的情况也是这样,VLIW 架构日渐式微的趋势不可逆转。。。
IBM 早已放弃该技术:http://tech.sina.com.cn/other/2003-12-28/1516274495.shtml
HP 把它抛给 Intel:http://news.mydrivers.com/1/211/211136.htm
而关于“(Intel 的)安腾将死”的传闻,也是甚嚣尘上:http://news.mydrivers.com/1/191/191289.htm
由于两者的架构(类型)趋于雷同,所以,不管 OpenCL 的应用是否变多,都不会有所影响了。。。 |
评分
-
查看全部评分
|