openCL:分析API中的迭代次数

时间:2014-07-05 12:36:53

标签: opencl

尝试使用clGetEventProfilingInfo来计算我的内核。

是否有任何设施可以拒绝。迭代之前是否报告了开始时间和结束时间的值?

如果内核只运行一次,那么它有很多与之相关的头脑。因此,为了获得最佳时序,我们应该多次运行内核并占用平均时间。

我们在使用API​​进行性能分析时是否有这样的参数? (当我们使用第三方软件工具进行分析时,我们确实有这样的参数)

1 个答案:

答案 0 :(得分:1)

clGetEventProfilingInfo函数将返回单个事件的分析信息,该事件对应于单个排队命令。没有内置机制可以在多个呼叫中自动报告信息;你必须自己编码。

这非常简单 - 只需查询您关注的每个事件的开始和结束时间,然后添加它们。如果您只运行单个内核(在循环中),那么您可以使用挂钟计时器(在启动和停止计时之前使用clFinish),或者在第一个事件开始的时间之间取差异最后一个事件结束了。