1

我用这个计时器包装了一个 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();
}
4

2 回答 2

2

事实证明这是一个简单的误解——我假设它Timer以秒为单位测量时间,而它实际上使用的是毫秒。:) 数据现在有意义了……C++ AMP 很棒!

于 2012-08-25T07:07:40.270 回答
1

抱歉,您没有共享足够的代码。我不知道 gpu_histogram 做了什么,或者您是否正在使用测量 C++ AMP 计算性能的最佳实践,或者您是否正在调整执行计算的 20 次迭代的总和结果等。尝试发布完整的重现预期结果和实际结果 - 顺便说一句,团队在我们的 msdn 论坛中监控问题。

于 2012-08-24T23:11:48.237 回答