函数:get_model_id
函数:get_op_end
| C函数原型 | uint64_t aclprofGetOpEnd(const void *opInfo, size_t opInfoLen, uint32_t index) |
|---|---|
| Python函数 | op_end = acl.prof.get_op_end(op_info, op_info_len, index) |
| 函数功能 | 获取算子执行的结束时间,单位为ns。同步接口。 建议用户新建一个线程,在新线程内调用该接口,否则可能阻塞主线程中的其它任务调度。 |
| 输入说明 | op_info:int,指定算子信息的内存地址。 op_info_len:int,算子信息的长度。 index:int,指定获取第几个算子的算子名称。 用户调用acl.prof.get_op_num接口获取算子数量后,这个index的取值范围:[0, (算子数量-1)]。 |
| 返回值说明 | op_end:int,算子执行的结束时间。 |
| 参考资源 | 接口调用示例,参见Profiling性能数据采集。 |
父主题: Profiling pyACL API for Subscription(订阅算子信息的Profiling pyACL API)
函数:get_op_duration
| C函数原型 | uint64_t aclprofGetOpDuration(const void *opInfo, size_t opInfoLen, uint32_t index) |
|---|---|
| Python函数 | op_duration = acl.prof.get_op_duration(op_info, op_info_len, index) |
| 函数功能 | 获取算子执行的耗时时间,单位为ns。同步接口。 建议用户新建一个线程,在新线程内调用该接口,否则可能阻塞主线程中的其它任务调度。 |
| 输入说明 | op_info:int,指定算子信息的内存地址。 op_info_len:int,算子信息的长度。 index:int,指定获取第几个算子的算子名称。 用户调用acl.prof.get_op_num接口获取算子数量后,这个index的取值范围:[0, (算子数量-1)]。 |
| 返回值说明 | op_duration:int,算子执行的耗时时间。 |
| 约束说明 | 无 |
| 参考资源 | 接口调用示例,参见Profiling性能数据采集。 |
父主题: Profiling pyACL API for Subscription(订阅算子信息的Profiling pyACL API)
函数:get_model_id
| C函数原型 | size_t aclprofGetModelId(const void *opInfo, size_t opInfoLen, uint32_t index) |
|---|---|
| Python函数 | model_id = acl.prof.get_model_id(op_info, op_info_len, index) |
| 函数功能 | 获取指定算子所在模型的ID。同步接口。 建议用户新建一个线程,在新线程内调用该接口,否则可能阻塞主线程中的其它任务调度。 |
| 输入说明 | op_info:int,指定算子信息的内存地址。 op_info_len:int,算子信息的长度。 index:int,指定获取第几个算子的算子名称。 用户调用acl.prof.get_op_num接口获取算子数量后,这个index的取值范围:[0, (算子数量-1)]。 |
| 返回值说明 | model_id:int,模型的ID。 |
| 参考资源 | 接口调用示例,参见Profiling性能数据采集。 |
父主题: Profiling pyACL API for Subscription(订阅算子信息的Profiling pyACL API)
函数:get_step_timestamp
| C函数原型 | aclError aclprofGetStepTimestamp(aclprofStepInfo* stepInfo, aclprofStepTag tag, aclrtStream stream) |
|---|---|
| Python函数 | ret =acl.prof.get_step_timestamp(stepinfo, tag, stream) |
| 函数功能 | 利用单算子加载与执行接口实现训练的场景下,使用本接口用于标记迭代开始与结束时间,为后续Profiling解析提供迭代标识,以便以迭代为粒度展示性能数据。 |
| 输入说明 | stepinfo:指定迭代信息。需提前调用acl.prof.create_step_info接口创建aclprofStepInfo类型的数据。 tag:用于标记迭代开始或结束。在迭代开始时传入ACL_STEP_START,迭代结束时需传入ACL_STEP_END。 stream:指定Stream。 |
| 返回值说明 | ret:int,错误码。 - 返回0表示成功。 - 返回其它值表示失败。 |
父主题: Profiling pyACL API(PyTorch场景标记迭代时间)
函数:create_step_info
| C函数原型 | aclprofStepInfo* aclprofCreateStepInfo() |
|---|---|
| Python函数 | info = acl.prof.create_step_info() |
| 函数功能 | 创建aclprofStepInfo对象,用于描述迭代信息,同步接口。 |
| 输入说明 | 无 |
| 返回值说明 | info:aclprofStepInfo类型指针地址。 - 返回aclprofStepInfo类型,表示成功。 - 返回None,表示失败。 |
| 约束说明 | - 使用acl.prof.destroy_step_info接口销毁aclprofStepInfo类型的数据,如不销毁会导致内存未被释放。 - 与acl.prof.destroy_step_info接口配对使用,先调用acl.prof.create_step_info接口再调用acl.prof.destroy_step_info接口。 - 同一个aclprofStepInfo对象、同一个tag只能设置一次,否则Profiling解析会出错。 |
父主题: Profiling pyACL API(PyTorch场景标记迭代时间)
函数:destroy_step_info
| C函数原型 | void aclprofDestroyStepInfo (aclprofStepInfo * stepinfo) |
|---|---|
| Python函数 | acl.prof.destroy_step_info(stepinfo) |
| 函数功能 | 销毁通过acl.prof.create_step_info接口创建的aclprofStepInfo类型的数据,同步接口。 |
| 输入说明 | stepinfo:指定迭代信息,需提前调用acl.prof.create_step_info接口创建aclprofStepInfo类型的数据。 |
| 返回值说明 | 无 |
| 约束说明 | - 与acl.prof.create_step_info接口配对使用,先调用acl.prof.create_step_info接口再调用acl.prof.destroy_step_info接口。 - 同一aclprofStepInfo数据重复调用acl.prof.destroy_step_info接口,会出现重复释放内存的报错。 |
父主题: Profiling pyACL API(PyTorch场景标记迭代时间)
在线提单