asc_get_system_cycle
产 品 支 持 情 况
| 产 品 | 是 否 支 持 |
|---|---|
Ascend 950PR/Ascend 950DT | √ |
| √ | |
| √ |
功 能 说 明
获 取 当 前 系 统cycle数,若 换 算 成 时 间 需 要 按 照50MHz的 频 率,时 间 单 位 为us,换 算 公 式 为:time = (cycle数/50)us。
函 数 原 型
C++
__aicore__ inline int64_t asc_get_system_cycle()
参 数 说 明
无
返 回 值 说 明
返 回 系 统Cycle数。
流 水 类 型
PIPE_S
约 束 说 明
该 接 口 是PIPE_S流 水,若 需 要 测 试 其 他 流 水 的 指 令 时 间,需 要 在 调 用 该 接 口 前 插 入 对 应 流 水 的 同 步。
调 用 示 例
C++
asc_sync_notify(PIPE_V, PIPE_S, 0);
int64_t system_cycle_before = asc_get_system_cycle(); // 计 算 操 作 指 令 前 的cycle数
......// 进 行PIPE_V流 水 的 计 算 操 作
asc_sync_notify(PIPE_V, PIPE_S, 0);
int64_t system_cycle_after = asc_get_system_cycle(); // 计 算 操 作 指 令 后 的cycle数
int64_t total_cycle = system_cycle_after - system_cycle_before; // 执 行Add指 令 所 用 的cycle数