测量C ++ AMP性能时出现奇怪的结果

时间:2012-08-24 20:43:22

标签: c++-amp

我正在使用this timer包装C ++ AMP调用,代码如下所示。不幸的是,根据计时器,我的C ++ AMP调用大约需要2秒 - 比实际情况要多得多。有人能帮我弄清楚出了什么问题吗?

double sum = 0.0;
for (int t = 0; t < 20; ++t)
{
  Timer gpuTimer;
  gpuTimer.Start();
  auto gh = gpu_histogram(target, size);
  gpuTimer.Stop();
  sum += gpuTimer.Elapsed();
}

2 个答案:

答案 0 :(得分:2)

原来这是一个简单的误解 - 我假设Timer以秒为单位测量时间,而实际上是使用毫秒。 :)数据现在很有意义...... C ++ AMP真棒!

答案 1 :(得分:1)

抱歉,您还没有分享足够的代码。我不知道gpu_histogram是做什么的,或者你是否正在使用Measuring Performance of C++ AMP computations的最佳实践,或者如果你正在调整执行计算的20次迭代的和的结果等等。尝试发布一个完整的repro with expected和实际结果 - 顺便说一句,该团队在our msdn forum中监控问题。