会员
周边
捐助
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
Geekmind
相忘于江湖
博客园
园子
首页
新随笔
联系
管理
订阅
Ray tracing on PS3 hardware
一个多月前看过的视频,3台PS3通过路由连接起来,已经可以实现实时(或交互)的ray tracing了。虽然对Cell之前有过了解,但是那么快就有成果还是比较震惊的。
看了一下paper,有所启发。一般有两种做法,SPE作为ray tracing的每个stage,拥有不同的kernel,以及SPE上运行相同的ray tracing kernel,处理屏幕上不同的像素。第一种方法问题在于难以平衡每个stage中的load balance,避免stall,设计方面将会无比复杂;第二种方法头疼的地方在于每个SPE都要任意存取整个场景的几何数据,这显然不是256KB LS能放的下的,所以需要设计一个software cache做法来掩盖讨厌的DMA操作,所幸相近的像素之间对于场景数据的coherent是相对较大的,所以software cache的命中率也会较高,再加上software hyperthreading的做法——把cache miss后的SPE转去处理其他已有现成场景数据的像素,等它所需要的数据异步DMA到达之后,再处理之。
至于多台CellBE的话,可以把场景数据通过网络同步到多台CellBE的主存中,然后通过协议分割屏幕像素以便处理。说实话,这种做法的工作也不小……
由此看来,加上
Folding@home
在PS3上的巨大成功,我们有理由相信类似CellBE架构的CPU将会成为未来高性能计算的主流之一——只是目前我们尚缺乏时间和工具。
题外话:似乎国内这方面动手的还是比较少,希望有经验的朋友多交流。
posted @
2007-05-24 10:38
eygneph
阅读(
266
) 评论(
1
)
编辑
收藏
举报
刷新页面
返回顶部
公告