我用 CUDA 和 OpenCL 编写了一个科学程序。我要做的就是将这些程序的运行时性能进行比较。在分析性能比较时我应该考虑哪些参数?花费的时间是参数之一。其他是什么?
问问题
143 次
2 回答
3
我认为有用的一些指标是
- 占用率- 您需要确保所有目标部署平台(GPU、CPU 和/或实施)的占用率最大化。
- 吞吐量- 您可以使用修改过的内核来计算最大计算吞吐量,该内核将任何延迟归零,从而使您的内核受计算限制。
- 延迟- 再次 - 调整你的内核以执行(很少到)不计算并测试性能。这将表明正在访问的各种内存如何影响您的内核及其性能。
我猜,任何其他参数都可能取决于您的应用程序的决策因素。例如,它如何扩展将与问题相关 - 您的应用程序是否需要扩展?等等。
于 2012-12-12T15:44:09.593 回答
2
你可以比较一下功耗。编写每个代码所花费的时间可能也很重要,因为它反映了项目的总成本。如果代码在不同的硬件上运行,硬件的成本也可以包括在内。结合起来,这些数字可以为您提供每个解决方案的实施和运营总成本。
于 2012-12-12T15:30:24.397 回答