Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 比较OpenCL和CUDA程序时的参数_Performance_Cuda_Profiling_Opencl - Fatal编程技术网

Performance 比较OpenCL和CUDA程序时的参数

Performance 比较OpenCL和CUDA程序时的参数,performance,cuda,profiling,opencl,Performance,Cuda,Profiling,Opencl,我已经用CUDA和OpenCL编写了一个科学程序。我所要做的就是比较这些程序的运行时性能。在分析性能比较时,我应该考虑哪些参数?所用时间是参数之一。其他的是什么?您可以比较功耗。在每个项目中编写代码所花费的时间也可能是令人感兴趣的,因为它反映了项目的总成本。如果代码在不同的硬件上运行,硬件的成本也可以包括在内。合并后,这些数字可以为每个解决方案提供执行和操作的总成本。 < P>我认为有用的一些度量是 占用率-您需要确保所有目标部署平台(GPU、CPU和/或实施)的占用率最大化 吞吐量-您可以使用

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

您可以比较功耗。在每个项目中编写代码所花费的时间也可能是令人感兴趣的,因为它反映了项目的总成本。如果代码在不同的硬件上运行,硬件的成本也可以包括在内。合并后,这些数字可以为每个解决方案提供执行和操作的总成本。

< P>我认为有用的一些度量是

  • 占用率-您需要确保所有目标部署平台(GPU、CPU和/或实施)的占用率最大化
  • 吞吐量-您可以使用修改过的内核来计算最大计算吞吐量,这些内核可以将延迟归零,从而限制内核计算
  • 延迟-再次-调整内核以执行(很少)无计算并测试性能。这将表明被访问的各种内存如何影响内核及其性能
  • 我想,任何其他参数都可能取决于应用程序的决策因素。例如,它如何扩展将与以下问题相关:您的应用程序是否需要扩展?等等