碰巧最近再看并行编程概念的东西。顺着CUDA 扒了扒最近硬件的动向。不禁感叹落伍很多了。。。再看到intel 的Larrabee不禁怒了。这不是让3D光栅程序员如我没活路么这是。。。。
8800GT可以用128个处理器支持上千个线程,加上shared memory cache打破了过去显卡内存只能单向快速读取的限制。这样一来往通用计算更近了一步。看了参数觉着我亏了。8600GT才16个。 多一倍钱就可以买个
128 处理器的8800GTX。。。亏了亏了
Larrabee 据说32个 x86 mini core. 一个core 4个thread 。一共也128个线程。主要并行计算。
对于INTEL这种妄图使用区区32个微核,移植ray-tracing以替代光栅显示硬件,把GPU重新打入只有2D 位图拷贝功能的倒逆行施行为,我表示极大愤慨。恩恩。。
不过,测试出,crysis是个单线程软件。unreal3在 4core PC也只用满了2个core.并行计算确实是今后的趋势。游戏是天生任务并行模式的软件。非常适合从根基于multithread进行设计。但基于数据流并行的密集并行计算,除了物理中粒度很小的计算(N BODY)问题,其他的还使用并不广泛。我的实际工程中,CPU GPU都是中低端平台,浮点计算是除了纯渲染最大开销,但也不到总引擎开销20%。优化对整体提高不大。最后瓶颈还是在GPU渲染,3D API调用以及驱动时间上。最理想的MULTI TASK应该把CPU CORES,GPU都作为并行任务处理器进行统一协调。