|
主要的问题是:
1、DX10之前的显卡,对流程控制语句支持非常有限,大家知道要做运算不单单是加减乘除,还得有分支和循环。
2、GPU目前最多还只有单精度,对双精度支持不够。当然这不是主要因素。
3、GPU运算允许少量错误出现~~~这也是GPU一个比较大的限制。试想渲染游戏画面时,一个多边形的某几个顶点出错,或是某几个像素出错,由于屏幕刷新快,而且错点占的比例不高,不容易发现。但是做通用计算,某些错误是不可容忍的。
4、最后,GPU和显存之间带宽是很大的,但是和内存之间带宽就没有那么大了。现在GPU运算特性造成还是得有一部分东西让CPU算,但是之间的数据沟通就成了问题。
5、GPU确实有很多拿来做通用计算的,比如可以去GPGPU.org看看,都是用GPU做通用计算的,不过大部分是科学计算。其实,我们一般常用的软件,除了压缩解压缩和游戏,很少有CPU密集型的任务,CPU一般都还在等内存,内存在等硬盘。
我想我已经说清楚了,嘿嘿 |
|