Skip to content
版 本

asc_mark_stamp

产 品 支 持 情 况

  • Ascend 950PR/Ascend 950DT:支 持
  • Atlas A3 训 练 系 列 产 品/Atlas A3 推 理 系 列 产 品:不 支 持
  • Atlas A2 训 练 系 列 产 品/Atlas A2 推 理 系 列 产 品:不 支 持
  • Atlas 200I/500 A2 推 理 产 品:不 支 持
  • Atlas 推 理 系 列 产 品AI Core:不 支 持
  • Atlas 推 理 系 列 产 品Vector Core:不 支 持
  • Atlas 训 练 系 列 产 品:不 支 持

功 能 说 明

用 户 通 过 调 用 接 口,用 于 在 算 子 执 行 过 程 中 标 记 特 定 位 置,便 于 后 期 通 过 流 水 图 分 析 代 码 执 行 路 径 与 性 能 热 点。

函 数 原 型

Text
template<pipe_t pipe = PIPE_S>
__aicore__ inline void asc_mark_stamp(uint16_t idx)

template<pipe_t pipe = PIPE_S, uint16_t idx>
__aicore__ inline void asc_mark_stamp()

参 数 说 明

参 数 名含 义
pipe指 定 打 点 所 在 的pipeline类 型。
idx用 户 设 置 的 打 点 的 唯 一 标 识id。

返 回 值 说 明

约 束 说 明

  • idx取 值 范 围 为[0,4095]。为 方 便 从 打 点 图 中 找 到 对 应 的 代 码,建 议 不 要 重 复 使 用 相 同 的idx。
  • 如 果 在 循 环 中 增 加 了 一 个asc_mark_stamp指 令,每 次 执 行 到 指 令 时 都 会 输 出 一 个 打 点,且idx是 相 同 的。
  • 如 果 开 发 者 在 两 个 相 邻 的VF分 别 打 标 记,由 于 编 译 器 可 能 会 对VF A和VF B做 融 合,asc_mark_stamp1和asc_mark_stamp2则 会 被 优 化 掉,不 会 输 出 打 点。

调 用 示 例

Text
mte2_opt();
//在 算 子 执 行 开 始 处 打 点
asc_mark_stamp<PIPE_V, 0>();
//执 行 核 心 计 算
vector_opt();
//在 算 子 执 行 结 束 处 打 点
asc_mark_stamp<PIPE_V, 1>();
mte3_opt();

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