Skip to content
版 本

ascendc_assert

产 品 支 持 情 况

产 品

是 否 支 持

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

功 能 说 明

头 文 件 路 径 为:"utils/debug/asc_assert.h"

ascendc_assert提 供 了 一 种 在CPU/NPU域 实 现 断 言 功 能 的 接 口。当 断 言 条 件 不 满 足 时,系 统 会 输 出 断 言 信 息 并 格 式 化 打 印 在 屏 幕 上。

在 算 子Kernel侧 实 现 代 码 中 需 要 增 加 断 言 的 地 方 使 用ascendc_assert检 查 代 码,并 格 式 化 输 出 一 些 调 测 信 息。

注 意

该 接 口 主 要 用 于 调 试 分 析,开 启 后 会 对 算 子 性 能 产 生 一 定 影 响,通 常 在 调 试 阶 段 使 用,生 产 环 境 建 议 关 闭。
默 认 情 况 下,调 用 该 接 口 就 会 打 印 相 关 内 容,开 发 者 可 以 参 考关 闭ASCENDC_DUMP说 明,按 需 关 闭 该 接 口 功 能。

函 数 原 型

C++
#define ascendc_assert(...)

参 数 说 明

表 1 参 数 说 明

参 数 名 称输 入/输 出描 述
...输 入可 变 参 数 列 表:根 据 不 同 的 参 数,当 参 数 包 含 了 一 个 要 被 插 入 的 值,替 换 参 数 中 指 定 的 每 个%标 签。参 数 的 个 数 应 与%标 签 的 个 数 相 同。

数 据 类 型

返 回 值 说 明

约 束 说 明

单 次 调 用 本 接 口 打 印 的 数 据 总 量 不 可 超 过30KB。使 用 时 应 注 意,如 果 超 出 这 个 限 制,则 数 据 不 会 被 打 印。

调 用 示 例

接 口 调 用 示 例

C++
int assertFlag = 10;

// 格 式 化 打 印
ascendc_assert(assertFlag != 10, "The assertFlag value is %d.\n", assertFlag);

程 序 运 行 时 会 触 发assert,打 印 效 果 如 下:

[ASSERT] /home/.../add_custom.cpp:44: Assertion `assertFlag != 10' The assertFlag value is 10.

免 责 声 明:本 站 内 容 由 asc-devkit 仓 master 分 支 自 动 编 译 生 成,属 于 持 续 开 发 版 本,可 能 存 在 缺 陷,仅 供 预 览 与 参 考。如 需 稳 定 及 商 用 资 料,请 查 阅 官 方 昇 腾 社 区