目录

assert功能

功能介绍

使用工具进行算子调测时,支持断言功能。当核函数代码中条件判断为false时,则立即中断运行流程并打印相关信息,方便快速定位错误。

固定为每个核分配的打印数据的最大可使用空间为1M,目前该大小不支持修改,若打印超过1M,打印内容不再显示,请开发者控制待打印的数据量。

使用方法(命令行)

  1. 在核函数代码中根据需要,在目标位置调用assert接口,详情请参见接口说明,样例如下。

    int32_t x = 31;
    assert(x < 0, "Invalid input_num: %d\n", x);
  2. simulator调测场景执行如下命令,使能Dump开关。

    ascendebug kernel --backend simulator --dump-mode normal ... {其他simulator调测参数}

    --dump-mode取normal,开启通用打印Scalar模式,其他参数参考NPU调测参数根据需要进行配置。

  3. 查看断言结果。

    若调用时传入的判断条件为false,会中断程序并在屏幕上显示断言内容(带文件名、行号),结果示例如下。

    [ASSERT] /home/.../add_custom.cpp:94: Assertion `x < 0' Invalid input_num: 31

接口说明

assert接口说明如下。