该章节描述使用订阅算子信息的Profiling pyACL API采集性能数据,实现将采集到的Profiling数据解析后写入管道,由用户读入内存,再由用户调用pyACL的接口获取性能数据。
接口调用方式:acl.prof.model_subscribe接口、acl.prof.get*接口、acl.prof.model_unsubscribe接口配合使用,实现该方式的性能数据采集,当前支持获取网络模型中算子的性能数据,包括算子名称、算子类型名称、算子执行时间等。
不能与Profiling pyACL API(通过Profiling pyACL API采集并落盘性能数据)的接口交叉调用:acl.prof.model_subscribe接口和acl.prof.model_unsubscribe接口之间不能调用acl.prof.init接口、acl.prof.start接口、acl.prof.stop接口、acl.prof.finalize接口。
模型加载-->acl.prof.model_subscribe接口-->acl.prof.get_op_desc_size接口-->acl.prof.get_op_num接口-->acl.prof.get_op_type/acl.prof.get_op_name/acl.prof.get_op_start/acl.prof.get_op_end/acl.prof.get_op_duration/acl.prof.get_model_id接口-->acl.prof.model_unsubscribe接口
模型1加载-->acl.prof.model_subscribe接口(指定模型1)-->acl.prof.model_subscribe接口(指定模型1)-->acl.prof.model_unsubscribe接口