【发布时间】:2017-06-23 04:58:36
【问题描述】:
为了测量 OpenCL 内核执行时间,我们可以使用:
1- CPU Timers .. 但我们需要考虑 OCL 函数是 非阻塞 因此我们需要使用 @ 987654321@ 实现全吞吐量的例程。
2- GPU 计时器 .. 使用 clGetEventProfilingInfo() 例程并在 clCreateCommandQueue() 或 clSetCommandQueueProperty()routines 的属性参数中设置 CL_QUEUE_PROFILING_ENABLE 标志。
操作系统和驱动程序版本如何影响用于测量内核执行时间的计时器的准确性?
我所知道的是,我们需要用至少 一个 内核调用来预热设备,以在一开始就吸收 OpenCL 资源分配的延迟。
【问题讨论】: