rapidmind.net提供了免费的计算库下载,目的是使用C++ metaprogramming将计算与硬件平台隔离开来,它提供一套运行库做底层的优化工作。为了测试其真正的性能,以便于在未来的渲染器中使用,我做了一个简单的性能测试程序,将一张1920x1080尺寸的TIF从RGB转换为CIE XYZ。
  测试平台为我的acer 5572ANWXCi笔记本,Core Duo T2250、945、1.5G DDR2、geforce 7300go 64bit 128M。

GPU CPU GPU* CPU*
Joky.tif 1.809444 28.306510 36.927075 12.229953
HDTV.tif 7.248393 179.199637 465.021794 173.764878

单位为毫秒millisecond,加“*”表示回读GPU数据到内存。Joky.tif大小为300x400,120000 pixels。HDTV.tif大小为1920x1080,2073600 pixels。

  测试结果表明,如果不回读,那么可以放心大胆的使用GPU计算。但是如果回读,那么速度将急剧下降。总线是一个原因,但估计更深层次的是GPU的工作机制以及设计。但是可以肯定的是,如果使用RM开发基于多核心的CPU比如CELL BE处理器的计算程序,那么带来的好处是及其明显的,避免了硬件编码优化工作,节省了人力物力,最重要的是可以获得相当不错的性能。
  测试代码如下,其中CPU部分没有优化,但是打开了VC71的SSE2开关。
Rapidmind计算库性能测试#include <TCHAR.h>
Rapidmind计算库性能测试
Rapidmind计算库性能测试#include 
<cstdio>
Rapidmind计算库性能测试#include 
<rapidmind/platform.hpp>
Rapidmind计算库性能测试#include 
<cximage/ximage.h>
Rapidmind计算库性能测试#pragma comment(lib,
"rmplatform-vc7-md.lib")
Rapidmind计算库性能测试#pragma comment(lib,
"cximagecrt.lib")
Rapidmind计算库性能测试
Rapidmind计算库性能测试
using namespace rapidmind;
Rapidmind计算库性能测试
Rapidmind计算库性能测试
int main()
}

相关文章:

  • 2021-12-02
  • 2022-12-23
  • 2021-10-05
  • 2021-07-01
  • 2021-11-21
  • 2022-02-18
  • 2021-04-26
  • 2021-09-01
猜你喜欢
  • 2022-12-23
  • 2021-12-28
  • 2021-05-30
  • 2021-05-20
  • 2021-11-27
  • 2021-08-05
  • 2022-01-09
相关资源
相似解决方案