asc_time_stamp

产品支持情况

产品

是否支持

Ascend 950PR/Ascend 950DT

√

Atlas A3 训练系列产品/Atlas A3 推理系列产品

√

Atlas A2 训练系列产品/Atlas A2 推理系列产品

√

Atlas 200I/500 A2 推理产品

x

Atlas 推理系列产品AI Core

x

Atlas 推理系列产品Vector Core

x

Atlas 训练系列产品

x

功能说明

提供时间戳打点功能,用于在算子Kernel代码中标记关键执行点。调用后会打印如下信息:

打印示例如下:

1
descId is 11, rsv is 0, timeStamp is 815603975350485, pcPtr is 19792358553124, entry is 815603975328116.

该功能主要用于调试和性能分析,开启后会对算子性能产生一定影响,生产环境建议关闭。

默认情况下,该功能关闭,开发者可以按需通过增加-DASCENDC_TIME_STAMP_ON编译选项的方式,开启打点功能。

函数原型

1
__aicore__ inline void asc_time_stamp(uint32_t desc_id)

参数说明

参数名

输入/输出

描述

desc_id

输入

用户自定义标识符(自定义数字),用于区分不同打点位置。

注意:

[0, 0xffff]是预留给Ascend C内部各个模块使用的id值,用户自定义的desc_id建议使用大于0xffff的数值。

返回值说明

无

约束说明

调用示例

1
asc_time_stamp(11);

打印结果如下(Dump信息头等仅在使用自定义算子工程时才会打印):

1
2
3
opType=AddCustom, DumpHead: AIV-0, CoreType=AIV, block dim=8, total_block_num=8, block_remain_len=1047136, block_initial_space=1048576, rsv=0, magic=5aa5bccd
...// 一些框架内部的打点信息
descId is 11, rsv is 0, timeStamp is 815603975350485, pcPtr is 19792358553124, entry is 815603975328116.