【记录一个问题】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;
  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统计出来的时间完全不准。暂未找到原因。

转载于:https://www.cnblogs.com/ahfuzhang/p/11127530.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值