DumpTensor

产品支持情况

产品

是否支持

Ascend 950PR/Ascend 950DT

√

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

√

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

√

Atlas 200I/500 A2 推理产品

√

Atlas 推理系列产品AI Core

√

Atlas 推理系列产品Vector Core

x

Atlas 训练系列产品

x

功能说明

基于算子工程开发的算子,可以使用该接口Dump指定Tensor的内容。同时支持打印自定义的附加信息(仅支持uint32_t数据类型的信息),比如打印当前行号等。

在算子kernel侧实现代码中需要打印Tensor数据的地方调用DumpTensor接口打印相关内容。样例如下:
1
AscendC::DumpTensor(srcLocal, 5, dataLen);

DumpTensor接口打印功能会对算子实际运行的性能带来一定影响,通常在调测阶段使用。开发者可以按需通过设置ASCENDC_DUMP=0来关闭打印功能。

打印示例如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
DumpTensor: desc=5, addr=0, data_type=float16, position=UB, dump_size=32
[19.000000, 4.000000, 38.000000, 50.000000, 39.000000, 67.000000, 84.000000, 98.000000, 21.000000, 36.000000, 18.000000, 46.000000, 10.000000, 92.000000, 26.000000, 38.000000, 39.000000, 9.000000, 82.000000, 37.000000, 35.000000, 65.000000, 97.000000, 59.000000, 89.000000, 63.000000, 70.000000, 57.000000, 35.000000, 3.000000, 16.000000,
42.000000]
DumpTensor: desc=5, addr=100, data_type=float16, position=UB, dump_size=32
[6.000000, 34.000000, 52.000000, 38.000000, 73.000000, 38.000000, 35.000000, 14.000000, 67.000000, 62.000000, 30.000000, 49.000000, 86.000000, 37.000000, 84.000000, 18.000000, 38.000000, 18.000000, 44.000000, 21.000000, 86.000000, 99.000000, 13.000000, 79.000000, 84.000000, 9.000000, 48.000000, 74.000000, 52.000000, 99.000000, 80.000000,
53.000000]
...
DumpTensor: desc=5, addr=0, data_type=float16, position=UB, dump_size=32
[35.000000, 41.000000, 41.000000, 22.000000, 84.000000, 49.000000, 60.000000, 0.000000, 90.000000, 14.000000, 67.000000, 80.000000, 16.000000, 46.000000, 16.000000, 83.000000, 6.000000, 70.000000, 97.000000, 28.000000, 97.000000, 62.000000, 80.000000, 22.000000, 53.000000, 37.000000, 23.000000, 58.000000, 65.000000, 28.000000, 4.000000,
29.000000]

函数原型

参数说明

表1 模板参数说明

参数名

描述

T

需要dump的Tensor的数据类型。

Ascend 950PR/Ascend 950DT,支持的数据类型为:bool、uint8_t、int8_t、int16_t、uint16_t、int32_t、uint32_t、int64_t、uint64_t、float、half、bfloat16_t、fp8_e4m3fn_t、fp8_e5m2_t、hifloat8_t、fp8_e8m0_t。

Atlas A3 训练系列产品/Atlas A3 推理系列产品,支持的数据类型为:bool、uint8_t、int8_t、int16_t、uint16_t、int32_t、uint32_t、int64_t、uint64_t、float、half、bfloat16_t。

Atlas A2 训练系列产品/Atlas A2 推理系列产品,支持的数据类型为:bool、uint8_t、int8_t、int16_t、uint16_t、int32_t、uint32_t、int64_t、uint64_t、float、half、bfloat16_t。

Atlas 200I/500 A2 推理产品,支持的数据类型为:bool、uint8_t、int8_t、int16_t、uint16_t、int32_t、uint32_t、int64_t、uint64_t、float、half。

Atlas 推理系列产品AI Core,支持的数据类型为:bool、uint8_t、int8_t、int16_t、uint16_t、int32_t、uint32_t、int64_t、uint64_t、float、half。

表2 参数说明

参数名

输入/输出

描述

tensor

输入

需要dump的Tensor。

  • 待dump的tensor位于Unified Buffer/L1 Buffer/L0C Buffer时使用LocalTensor类型的tensor参数输入。
  • 待dump的tensor位于Global Memory时使用GlobalTensor类型的tensor参数输入。

desc

输入

用户自定义附加信息(行号或其他自定义数字)。

在使用DumpTensor功能时,用户可通过desc参数附加自定义信息,以便在不同调用场景下区分Dump内容的来源。此功能有助于精准定位具体DumpTensor的输出,提升调试与分析效率。

dumpSize

输入

需要dump的元素个数。

shapeInfo

输入

传入Tensor的shape信息,可按照shape信息进行打印。
  • 当Shape尺寸大于dumpSize元素个数时, 按照ShapeInfo打印元素,不足的Dump数据用"-"展示。
  • 当Shape尺寸小于等于dumpSize元素个数时, 按照ShapeInfo打印元素,多出的Dump数据不展示。

返回值说明

无

约束说明

调用示例