功能介绍
aclprofRangeStop
函数功能
msproftx用于记录事件发生的时间跨度的结束时间。同步接口。
调用此接口后,Profiling自动在Stamp指针中记录采集结束的时间戳。
约束说明
- 与aclprofRangeStart接口成对使用,表示时间跨度的开始和结束。
- 在aclprofCreateStamp接口和aclprofDestroyStamp接口之间调用。
- 可以跨线程调用。
函数原型
aclError aclprofRangeStop(uint32_t rangeId)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| rangeId | 输出 | msproftx事件标记的唯一标识。用于在跨线程时区分。 |
返回值说明
返回0表示成功,返回其它值表示失败。
参考资源
接口调用示例,参见Profiling性能数据采集。
父主题: Profiling AscendCL API for Extension(Profiling AscendCL API扩展接口)
aclprofDestroyStamp
函数功能
释放msproftx事件标记。同步接口。
约束说明
与aclprofCreateStamp接口配对使用,在aclprofStop接口前调用。
函数原型
void aclprofDestroyStamp(void *stamp)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| stamp | 输入 | Stamp指针,指代msproftx事件标记。 指定aclprofCreateStamp接口的指针。 |
参考资源
接口调用示例,参见Profiling性能数据采集。
父主题: Profiling AscendCL API for Extension(Profiling AscendCL API扩展接口)
功能介绍
功能
该章节描述使用订阅算子信息的Profiling AscendCL API采集性能数据,实现将采集到的Profiling数据解析后写入管道,由用户读入内存,再由用户调用AscendCL的接口获取性能数据。
接口调用方式:aclprofModelSubscribe接口、aclprofGet*接口、aclprofModelUnSubscribe接口配合使用,实现该方式的性能数据采集,当前支持获取网络模型中算子的性能数据,包括算子名称、算子类型名称、算子执行时间等。
总体约束
不能与Profiling AscendCL API(通过Profiling AscendCL API采集并落盘性能数据)的接口交叉调用:aclprofModelSubscribe接口和aclprofModelUnSubscribe接口之间不能调用aclprofInit接口、aclprofStart接口、aclprofStop接口和aclprofFinalize接口。
接口约束说明
- 接口调用要求:
-
aclprofModelSubscribe接口在模型执行之前调用,若在模型执行过程中调用aclprofModelSubscribe接口,Profling采集到的数据为调用aclprofModelSubscribe接口之后的数据,可能导致数据不完整。
-
aclprofModelSubscribe接口需与aclprofModelUnSubscribe接口配对使用,不能在调用aclprofModelUnSubscribe接口前,多次调用
aclprofModelSubscribe接口重复订阅相同的模型。
-
不能调用aclprofModelSubscribe接口订阅不存在的模型ID。
-
不能调用aclprofModelUnSubscribe接口取消订阅不存在的模型ID或未订阅过的模型ID。
-
如果在同一个Device上加载了多个模型,只能对多个模型下发同样的订阅配置。
-
- 接口调用顺序:
-
建议的接口调用顺序如下:
模型加载-->aclprofModelSubscribe接口-->aclprofGetOpDescSize接口-->aclprofGetOpNum接口-->aclprofGetOpType/aclprofGetOpName/aclprofGetOpStart/aclprofGetOpEnd/aclprofGetOpDuration/aclprofGetModelId接口-->aclprofModelUnSubscribe接口
-
错误的接口调用顺序示例如下,以重复定义同一个模型为例:
模型1加载-->aclprofModelSubscribe接口(指定模型1)-->aclprofModelSubscribe接口(指定模型1)-->aclprofModelUnSubscribe接口
-
父主题: 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)
在线提单