估算算法设计的OpenCL内存访问性能

时间:2014-07-06 10:09:47

标签: opencl gpu gpgpu

我有一项任务需要使用几种可能的算法之一来实现。

每种算法都有自己的本地内存优化机会,我想基于计算计算操作和内存访问来估计哪种算法性能最佳。

为了比较不同数量的本地内存访问操作与全局内存访问操作,我想估计本地内存访问(读/写)的价格(周期?)与全局内存访问的价格

执行以下各项所需的周期(在现代的消费者GPU上)需要多少个周期:

  • 从本地记忆中读取
  • 写入本地内存
  • 从全局记忆中读取
  • 写入全局记忆

注意:我使用"本地内存"和"全球记忆"在OpenCL中的含义。

1 个答案:

答案 0 :(得分:1)

通常,访问本地内存需要几个GPU周期。访问全局内存需要数十个周期。从一个视频卡到另一个数字显着不同。所以这是非常一般的数字,只显示幅度差异。

据我了解,您关注的是低级优化。如果这是正确的,那么您可以使用通常由GPU供应商随SDK提供的软件。其中许多(AMD,ARM等)提供离线编译器,允许导出clProgramm的已编译二进制汇编程序,并具有每周期指令信息。然后你会获得最明确的数字。