asc.language.basic.print_time_stamp
- asc.language.basic.print_time_stamp(desc_id: int) None
提供时间戳打点功能,用于在算子Kernel代码中标记关键执行点。调用后会打印如下信息:
desc_id: 用户自定义标识符,用于区分不同打点位置;
rsv :保留值,默认为0,无需关注;
time_stamp : 当前系统cycle数,用于计算时间差,时间换算规则可参考GetSystemCycle(ISASI);
pc_ptr:pc指针数值,若无特殊需求,用户无需关注。
entry:预留字段,用户无需关注。
对应的Ascend C函数原型
__aicore__ inline void PrintTimeStamp(uint32_t descId)
参数说明
desc_id:用户自定义标识符(自定义数字),用于区分不同打点位置。[0, 0xffff]是预留给Ascend C内部各个模块使用的id值,用户自定义的desc_id建议使用大于0xffff的数值。
约束说明
该功能仅用于NPU上板调试。
暂不支持算子入图场景的打印。
单次调用本接口打印的数据总量不可超过1MB(还包括少量框架需要的头尾信息,通常可忽略)。使用时应注意,如果超出这个限制,则数据不会被打印。在使用自定义算子工程进行工程化算子开发时,一个算子所有使用Dump功能的接口在每个核上Dump的数据总量不可超过1MB。请开发者自行控制待打印的内容数据量,超出则不会打印。
调用示例
asc.print_time_stamp(65577)