|
我们都知道,在电脑硬件中,晶体管数量最大的芯片是GPU.而浮点运算能力最强的也是GPU,有人曾经用2004年的主流GPU和CPU都来计算同一个CG场景(CPU采用软件模拟计算,而且只能软件计算,GPU是硬件计算),性能对比结果是30:1,尽管有可能存在种种不太现实的因素在内,但是这个结果也反映了一个事实,如果让GPU能够辅助CPU来计算浮点数据,那么现在电脑的性能将要翻上几倍.只是在软件开发领域一直没有形成这样一种概念(3D游戏暂且不谈).
我是做CG程序开发的,直接通过代码和GPU打交道.但是也仅仅局限于图形处理领域.而在分布式处理上我还是个门外汉.
尽管如此,我相信GPU设计出来的最底层用途并不是用来处理图象(虽然事实上它们用于处理图象,但是这是更上一个层次的概念),GPU设计出来是为了用来处理浮点运算.
我作一个没有根据的猜想: 星际间的数据(SETI@HOME),应该包括有很多的浮点数据需要处理.在微观世界(细胞)上也是如此.那么我们能不能把这么一种程序设计模式引入到现在的分布式客户端中,让CPU和GPU共同完成计算?
我知道难度很大,但是如果能够实现的话,就不是SSE,3DNOW等优化加速所能够匹敌的速度了.
以上全是我的一点猜想和思考.望大家能够和睦讨论一下. |
|