为了测量在OpenCL内核执行时间,我们要么使用:操作系统和驱动程序如何影响OpenCL内核时序?
1- CPU定时器 ..但我们需要考虑的是,OCL功能无阻塞因此,我们需要使用clFinish()
实现完全吞吐量的例程。
2- GPU定时器 ..正在使用clGetEventProfilingInfo()
常规用在任一或clCreateCommandQueue()
clSetCommandQueueProperty()
例程的性能参数设定CL_QUEUE_PROFILING_ENABLE
标志一起。
操作系统和驱动程序版本如何影响用于测量内核执行时间的定时器的精度?
我所知道的是,我们需要用至少一个内核调用来预热设备,以便在开始时吸收OpenCL资源分配的延迟。