android getevent 有缓存 输出不稳定,【记录一个问题】android下opencl中的event.getProfilingInfo()测速时间并不准确...
使用了类似的代码来做android下opencl的时间测试:cl::CommandQueue queue(context, devices[0], CL_QUEUE_PROFILING_ENABLE, &err);cl::Event event;//...event.wait();//cl_ulong startTime=0, endTime=0, queued=0, submit=0;e
使用了类似的代码来做android下opencl的时间测试:
cl::CommandQueue queue(context, devices[0], CL_QUEUE_PROFILING_ENABLE, &err);
cl::Event event;
//...
event.wait();
//
cl_ulong startTime=0, endTime=0, queued=0, submit=0;
event.getProfilingInfo(CL_PROFILING_COMMAND_START, &startTime);
event.getProfilingInfo(CL_PROFILING_COMMAND_END, &endTime);
event.getProfilingInfo(CL_PROFILING_COMMAND_QUEUED, &queued);
event.getProfilingInfo(CL_PROFILING_COMMAND_SUBMIT, &submit);
P("end-start:%fms", float(endTime - startTime)/1000000.0);
P("end-queue:%fms", float(endTime - queued)/1000000.0);
P("end-submit:%fms", float(endTime - submit)/1000000.0);
打印出来:
end-start:119.574272ms
end-queue:323.316224ms
end-submit:323.314176ms
而整个函数的执行时间只有 79.248ms
这个profile统计出来的时间完全不准。暂未找到原因。
更多推荐
所有评论(0)