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

  • 相关阅读:
    简单的使用rabbitmq的例子
    装饰者模式
    Zinterstore 命令
    策略模式
    简单工厂模式
    getFields()与getDeclaredFields()区别
    解决Jetty下EL版本冲突的问题
    网站ssl配置
    webservice 项目 配置wsdl
    js前端clone的要诀
  • 原文地址:https://www.cnblogs.com/ahfuzhang/p/11127530.html
Copyright © 2020-2023  润新知