请教如何使用CUDA测试GPU峰值浮点性能

我日,居然是debug build…我2#就回复你-O2开启优化了。然后你告诉我照做了无效果。。。无语中。。。。我拒绝继续为你发表任何后续评论!

算了。我态度不好。。

以后测试请用release, 不要使用debug配置。(前者开启O2优化,后者无优化且有-g符号,性能极差)。

楼主吸取教训吧。以及,以后请忠实的反馈。不要糊弄回答你的人。

不是糊弄,是不懂。。。小白飘过。。。之前很少用vs:P

各位网友及版主好!
我有一个问题:如何测试一个实际 CUDA程序的浮点计算速度,就是前面说的GFlop/s衡量的那个指标?
如果是用 profiler 测量出来的,能给出进一步的指导吗?关于CUDA的Profiler的资料有哪些啊?我好像看到的不多……
谢谢!

楼主您好,
新问题请新开贴。

这个数据需要您自己计算:
(1)统计您每个线程的计算次数
(2)将此值乘以您的线程总数
(3)统计出总时间(利用profiler或者自己计时),将2中的值(所有线程的计算次数)除以计算时间,您将得到每秒的计算次数。
(4)因为3中的值往往较大,所以大家一般使用GFlops来衡量(Giga float operations per second),
1G次运算 = 10 ^ 9次方次运算。

感谢来访(请注意开头的话)。

谢谢!
因为我觉得都是测试浮点计算性能,所以没有再开新帖……
另外 profiler 或者 Linux 下的 Nsight profiler 模块有没有比较详细的介绍?

[

LZ您好:

PROFILER自带的手册便是最好的入门资料。
此外,请参考论坛的相关讨论帖。

以及新问题建议开新帖。

祝您好运!

该代码有如下几个问题:

  1. 由于新版GPU的int和float独立计算,循环for改成int,避免占用额外时间
  2. threadsPerBlock由32改为16,提高stream processor对资源调度的灵活性
  3. global函数在host上应该多次迭代,保证运行时间较长,从而覆盖启动时间