Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.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
openCL:评测API中的迭代次数_Opencl - Fatal编程技术网

openCL:评测API中的迭代次数

openCL:评测API中的迭代次数,opencl,Opencl,试图用它来计时我的内核 是否有任何工具可以给出报告开始时间和结束时间值之前的迭代次数 如果内核只运行一次,那么当然,它有很多与之相关的超链接。因此,为了获得最佳时间,我们应该运行内核几次,并取平均时间 我们在使用API进行分析时有这样的参数吗?(当我们使用第三方软件工具进行评测时,我们确实有这样的参数)clGetEventProfilingInfo函数将返回单个事件的评测信息,对应于单个排队命令。没有内置机制自动报告多个呼叫的信息;你必须自己编写代码 这非常简单,只需查询您关心的每个事件的开始和

试图用它来计时我的内核

是否有任何工具可以给出报告开始时间和结束时间值之前的迭代次数

如果内核只运行一次,那么当然,它有很多与之相关的超链接。因此,为了获得最佳时间,我们应该运行内核几次,并取平均时间


我们在使用API进行分析时有这样的参数吗?(当我们使用第三方软件工具进行评测时,我们确实有这样的参数)

clGetEventProfilingInfo函数将返回单个事件的评测信息,对应于单个排队命令。没有内置机制自动报告多个呼叫的信息;你必须自己编写代码


这非常简单,只需查询您关心的每个事件的开始和结束时间,并将它们相加即可。如果您只运行一个内核(在循环中),那么您可以在开始和停止计时之前使用挂钟计时器(使用
clFinish
),或者计算第一个事件开始和最后一个事件完成的时间差。

同意。我们保存一个运行总数,计算并输出平均值。@jprice“如果您只运行一个内核(在循环中)”,您如何在循环中运行一个内核?你的意思是说我把克伦肯斯朗格内尔(…);在for循环中?@user2799508您不必这样做,但对于只有一个内核可重复执行的简单应用程序,我通常就是这样对内核运行时进行基准测试的。@jprice我的意思是在OpenCL中,如何将内核启动放在循环中?我的意思是你能为它写一行代码吗?