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();