2

我用 CUDA 和 OpenCL 编写了一个科学程序。我要做的就是将这些程序的运行时性能进行比较。在分析性能比较时我应该考虑哪些参数?花费的时间是参数之一。其他是什么?

4

2 回答 2

3

我认为有用的一些指标是

  1. 占用率- 您需要确保所有目标部署平台(GPU、CPU 和/或实施)的占用率最大化。
  2. 吞吐量- 您可以使用修改过的内核来计算最大计算吞吐量,该内核将任何延迟归零,从而使您的内核受计算限制。
  3. 延迟- 再次 - 调整你的内核以执行(很少到)不计算并测试性能。这将表明正在访问的各种内存如何影响您的内核及其性能。

我猜,任何其他参数都可能取决于您的应用程序的决策因素。例如,它如何扩展将与问题相关 - 您的应用程序是否需要扩展?等等。

于 2012-12-12T15:44:09.593 回答
2

你可以比较一下功耗。编写每个代码所花费的时间可能也很重要,因为它反映了项目的总成本。如果代码在不同的硬件上运行,硬件的成本也可以包括在内。结合起来,这些数字可以为您提供每个解决方案的实施和运营总成本。

于 2012-12-12T15:30:24.397 回答