Skip to main content

函数:create_subscribe_config

函数:range_stop

C函数原型aclError aclprofRangeStop(uint32_t *rangeId)
Python函数ret = acl.prof.range_stop(range_id)
函数功能msproftx用于记录事件发生的时间跨度的结束时间。同步接口。 调用此接口后,Profiling自动在Stamp中记录采集结束的时间戳。
输入说明range_id:int,msproftx事件标记的唯一标识。用于在跨线程时区分。
返回值说明ret:int,错误码。
- 返回0表示成功。
- 返回其它值表示失败。
约束说明- 与函数:range_stop接口成对使用,表示时间跨度的开始和结束。
- 可以跨线程调用。
- 在函数:create_stamp接口和函数:destroy_stamp接口之间调用。
参考资源接口调用示例,参见Profiling性能数据采集

父主题: Profiling pyACL API for Extension(Profiling pyACL API扩展接口)

函数:destroy_stamp

C函数原型void aclprofDestroyStamp(void *stamp)
Python函数acl.prof.destroy_stamp(stamp)
函数功能释放msproftx事件标记。同步接口。
输入说明stamp:int,Stamp指针地址,指代msproftx事件标记。指定函数:create_stamp接口的指针地址。
返回值说明
约束说明函数:create_stamp接口配对使用,在函数:stop接口前调用。
参考资源接口调用示例,参见Profiling性能数据采集

父主题: Profiling pyACL API for Extension(Profiling pyACL API扩展接口)

功能介绍

功能

该章节描述使用订阅算子信息的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接口。

接口约束说明

父主题: Profiling pyACL API for Subscription(订阅算子信息的Profiling pyACL API)

函数:create_subscribe_config

C函数原型aclprofSubscribeConfig *aclprofCreateSubscribeConfig(int8_t timeInfoSwitch, aclprofAicoreMetrics aicoreMetrics, void *fd)
Python函数subscribe_config = acl.prof.create_subscribe_config(time_info_switch, aicore_metrics, fd)
函数功能创建aclprofSubscribeConfig类型的数据,表示创建订阅配置信息。同步接口。 如需销毁aclprofSubscribeConfig类型的数据,请参见acl.prof.destroy_subscribe_config
输入说明time_info_switch:int,是否采集网络模型中算子的性能数据:
- 1:采集
- 0:不采集
aicore_metrics:int,表示AI Core性能指标采集项,参考aclprofAicoreMetrics。 (说明:订阅接口目前仅提供算子耗时统计的功能,暂时不支持AicoreMetrics采集功能。) fd:int,用户创建管道的写文件描述符。 用户在调用acl.prof.model_unsubscribe接口后,系统内部会在数据发送结束后,关闭该模型的管道写文件描述符。
返回值说明subscribe_config:int。
- 返回非0值表示成功,返回aclprofSubscribeConfig的地址对象。
- 返回0表示失败。
约束说明- 使用acl.prof.destroy_subscribe_config接口销毁aclprofSubscribeConfig类型的数据,如不销毁会导致内存未被释放。
- 与acl.prof.destroy_subscribe_config接口配对使用,先调用acl.prof.create_subscribe_config接口再调用acl.prof.destroy_subscribe_config接口。

父主题: Profiling pyACL API for Subscription(订阅算子信息的Profiling pyACL API)

函数:destroy_subscribe_config

C函数原型aclError aclprofDestroySubscribeConfig(const aclprofSubscribeConfig *profSubscribeConfig)
Python函数ret = acl.prof.destroy_subscribe_config(subscribe_config)
函数功能销毁aclprofSubscribeConfig类型的数据,只能销毁通过acl.prof.create_subscribe_config接口创建的aclprofSubscribeConfig类型。同步接口。
输入说明subscribe_config:int,待销毁的aclprofSubscribeConfig类型的地址对象。
返回值说明ret:int,错误码。
- 返回0表示成功。
- 返回其它值表示失败。
约束说明- 与acl.prof.create_subscribe_config接口配对使用,先调用acl.prof.create_subscribe_config接口再调用acl.prof.destroy_subscribe_config接口。
- 同一aclprofSubscribeConfig重复调用acl.prof.destroy_subscribe_config接口,会出现重复释放内存的报错。

父主题: Profiling pyACL API for Subscription(订阅算子信息的Profiling pyACL API)

函数:model_subscribe

C函数原型aclError aclprofModelSubscribe(uint32_t modelId, const aclprofSubscribeConfig *profSubscribeConfig)
Python函数ret = acl.prof.model_subscribe(model_id, subscribe_config)
函数功能网络场景下,订阅算子的基本信息,包括算子名称、算子类型、算子执行耗时等。同步接口。
输入说明model_id:int,待订阅的网络模型的ID。调用acl.mdl.load_from_file接口/acl.mdl.load_from_mem接口/acl.mdl.load_from_file_with_mem接口/acl.mdl.load_from_mem_with_mem接口加载模型成功后,会返回模型ID。 subscribe_config:int,待订阅的配置信息。调用acl.prof.create_subscribe_config接口创建配置数据。
返回值说明ret:int,错误码。
- 返回0表示成功。
- 返回其它值表示失败。
约束说明需要与acl.prof.model_unsubscribe接口配对使用。
参考资源接口调用示例,参见Profiling性能数据采集

父主题: Profiling pyACL API for Subscription(订阅算子信息的Profiling pyACL API)

函数:model_un_subscribe

C函数原型aclError aclprofModelUnSubscribe(uint32_t modelId)
Python函数ret = acl.prof.model_un_subscribe(model_id)
函数功能网络场景下,取消订阅算子的基本信息,包括算子名称、算子类型、算子执行耗时等。同步接口。
输入说明model_id:int,已订阅的网络模型的ID。
返回值说明ret:int,错误码。
- 返回0表示成功。
- 返回其它值表示失败。
约束说明需要与acl.prof.model_subscribe接口配对使用。
参考资源接口调用示例,参见Profiling性能数据采集

父主题: Profiling pyACL API for Subscription(订阅算子信息的Profiling pyACL API)

在线提单