跳到主要内容

aclprofModelUnSubscribe

功能介绍

功能

该章节描述使用订阅算子信息的Profiling AscendCL API采集性能数据,实现将采集到的Profiling数据解析后写入管道,由用户读入内存,再由用户调用AscendCL的接口获取性能数据。

接口调用方式:aclprofModelSubscribe接口、aclprofGet*接口、aclprofModelUnSubscribe接口配合使用,实现该方式的性能数据采集,当前支持获取网络模型中算子的性能数据,包括算子名称、算子类型名称、算子执行时间等。

总体约束

不能与Profiling AscendCL API(通过Profiling AscendCL API采集并落盘性能数据)的接口交叉调用:aclprofModelSubscribe接口和aclprofModelUnSubscribe接口之间不能调用aclprofInit接口、aclprofStart接口、aclprofStop接口和aclprofFinalize接口。

接口约束说明

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

aclprofModelSubscribe

函数功能

网络场景下,订阅算子的基本信息,包括算子名称、算子类型、算子执行耗时等。同步接口。

约束说明

aclprofModelUnSubscribe接口配对使用。

函数原型

aclError aclprofModelSubscribe(uint32_t modelId, const aclprofSubscribeConfig *profSubscribeConfig)

参数说明

参数名输入/输出说明
modelId输入待订阅的网络模型的ID。 调用aclmdlLoadFromFile接口/aclmdlLoadFromMem接口/aclmdlLoadFromFileWithMem接口/aclmdlLoadFromMemWithMem接口加载模型成功后,会返回模型ID。
profSubscribeConfig输入待订阅的配置信息。 需提前调用aclprofCreateSubscribeConfig接口创建aclprofSubscribeConfig类型的数据。

返回值说明

返回0表示成功,返回其它值表示失败。

参考资源

接口调用示例,参见Profiling性能数据采集

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

aclprofModelUnSubscribe

函数功能

网络场景下,取消订阅算子的基本信息,包括算子名称、算子类型、算子执行耗时等。同步接口。

约束说明

aclprofModelSubscribe接口配对使用。

函数原型

aclError aclprofModelUnSubscribe(uint32_t modelId)

参数说明

参数名输入/输出说明
modelId输入已订阅的模型的ID。

返回值说明

返回0表示成功,返回其它值表示失败。

参考资源

接口调用示例,参见Profiling性能数据采集

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

aclprofGetOpDescSize

函数功能

获取单个算子数据结构的大小,单位为Byte。当前版本中约定每个算子数据结构的大小是一样的。同步接口。

建议用户新建一个线程,在新线程内调用该接口,否则可能阻塞主线程中的其它任务调度。

函数原型

aclError aclprofGetOpDescSize(size_t *opDescSize)

参数说明

参数名输入/输出说明
opDescSize输出算子数据结构的大小。

返回值说明

返回0表示成功,返回其它值表示失败。

参考资源

接口调用示例,参见Profiling性能数据采集

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

aclprofGetOpNum

函数功能

获取指定内存中算子的数量。同步接口。

建议用户新建一个线程,在新线程内调用该接口,否则可能阻塞主线程中的其它任务调度。

函数原型

aclError aclprofGetOpNum(const void *opInfo, size_t opInfoLen, uint32_t *opNumber)

参数说明

参数名输入/输出说明
opInfo输入指定算子信息的内存地址。 调用aclprofGetOpDescSize接口获取到单个算子数据结构的大小后,用户需按照“单个算子数据结构的大小*整数系数”得到的数值申请内存,用于存放Profiling采集到的算子信息数据,作为本接口的输入。
opInfoLen输入算子信息的长度。
opNumber输出算子的数量。

返回值说明

返回0表示成功,返回其它值表示失败。

参考资源

接口调用示例,参见Profiling性能数据采集

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

aclprofGetOpTypeLen

函数功能

获取算子类型的字符串长度,用于内存申请。同步接口。

建议用户新建一个线程,在新线程内调用该接口,否则可能阻塞主线程中的其它任务调度。

函数原型

aclError aclprofGetOpTypeLen(const void *opInfo, size_t opInfoLen, uint32_t index, size_t *opTypeLen)

参数说明

参数名输入/输出说明
opInfo输入包含算子信息的地址。
opInfoLen输入算子信息的长度。
index输入指定获取第几个算子的算子类型名称。 用户调用aclprofGetOpNum接口获取算子数量后,这个index的取值范围:[0, (算子数量-1)]。
opTypeLen输出opType的长度。

返回值说明

返回0表示成功,返回其它值表示失败。

参考资源

接口调用示例,参见Profiling性能数据采集

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

在线提单