TRACE_STOP
产 品 支 持 情 况
- Ascend 950PR/Ascend 950DT:支 持
- Atlas A3 训 练 系 列 产 品/Atlas A3 推 理 系 列 产 品:支 持
- Atlas A2 训 练 系 列 产 品/Atlas A2 推 理 系 列 产 品:支 持
- Atlas 200I/500 A2 推 理 产 品:支 持
- Atlas 推 理 系 列 产 品AI Core:支 持
- Atlas 推 理 系 列 产 品Vector Core:不 支 持
- Atlas 训 练 系 列 产 品:支 持
功 能 说 明
通 过CAModel进 行 算 子 性 能 仿 真 时,可 对 算 子 任 意 运 行 阶 段 打 点,从 而 分 析 不 同 指 令 的 流 水 图,以 便 进 一 步 性 能 调 优。
用 于 表 示 终 止 位 置 打 点,一 般 与TRACE_START配 套 使 用。
注 意 该 功 能 主 要 用 于调 试 和 性 能 分 析,开 启 后 会 对 算 子 性 能 产 生 一 定 影 响,通 常 在 调 测 阶 段 使 用,生 产 环 境 建 议 关 闭。 默 认 情 况 下,该 功 能 关 闭,开 发 者 可 以 按 需 通 过 如 下 方 式 开 启 打 点 功 能。 修 改Kernel直 调 工 程cmake目 录 下 的npu_lib.cmake文 件,在ascendc_compile_definitions命 令 中 增 加-DASCENDC_TRACE_ON编 译 选 项,来 开 启 打 点 功 能。示 例 如 下:
Text
// 打 开 算 子 的 打 点 功 能
ascendc_compile_definitions(ascendc_kernels_${RUN_MODE} PRIVATE
-DASCENDC_TRACE_ON
)
函 数 原 型
Text
#define TRACE_STOP(TraceId apid)
#define TRACE_STOP(pipe_t pipe, TraceId apid)
参 数 说 明
| 参 数 名 | 输 入/输 出 | 描 述 |
|---|---|---|
| apid | 输 入 | 取 值 需 与TRACE_START参 数 取 值 保 持 一 致,否 则 影 响 打 点 结 果。 |
| pipe | 输 入 | 取 值 需 与TRACE_START的pipe参 数 取 值 保 持 一 致,pipe取 值 请 参 考硬 件 流 水 类 型,否 则 影 响 打 点 结 果。仅Ascend 950PR/Ascend 950DT生 效,其 他 产 品 上 不 生 效。 |
返 回 值 说 明
无
约 束 说 明
- TRACE_START/TRACE_STOP需 配 套 使 用,若Trace图 上 未 显 示 打 点,则 说 明 两 者 没 有 配 对。
- 不 支 持 跨 核 使 用,例 如TRACE_START在AI Cube打 点,则TRACE_STOP打 点 也 需 要 在AI Cube上,不 能 在AI Vector上。
- 宏 支 持 所 有 的 产 品 型 号,但 实 际 调 用 时 需 与 调 测 工 具 支 持 的 型 号 保 持 一 致。
- 仅 支 持Kernel直 调 工 程,不 支 持 自 定 义 算 子 工 程 下 开 启 打 点 功 能。
调 用 示 例
在Kernel代 码 中 特 定 指 令 位 置 打 上TRACE_START/TRACE_STOP:
Text
TRACE_START(0x1);
DataCopy(zGm, zLocal, this->totalLength);
TRACE_STOP(0x1);