SetKernelMode
产 品 支 持 情 况
功 能 说 明
头 文 件 路 径 为:"tools/cpudebug/include/stub_def.h"。
针 对 分 离 模 式,CPU调 测 时,设 置 内 核 模 式 为 单AIV模 式,单AIC模 式 或 者MIX模 式,以 分 别 支 持 单AIV矢 量 算 子,单AIC矩 阵 算 子,MIX混 合 算 子 的CPU调 试。不 调 用 该 接 口 的 情 况 下,默 认 为MIX模 式。为 保 证 算 子 代 码 在 多 个 硬 件 平 台 兼 容,耦 合 模 式 下 也 可 以 调 用,该 场 景 下 接 口 不 会 生 效,不 影 响 正 常 调 试。
函 数 原 型
C++
void SetKernelMode(KernelMode mode)
参 数 说 明
| 参 数 名 称 | 输 入/输 出 | 描 述 |
|---|---|---|
| mode | 输 入 | 内 核 模 式,用 于 AIC/AIV/MIX 算 子 的 CPU 调 试。enum class KernelMode {
MIX_MODE = 0,
AIC_MODE,
AIV_MODE
}; |
返 回 值 说 明
无
调 用 示 例
C++
int32_t main(int32_t argc, char* argv[])
{
...
#ifdef ASCENDC_CPU_DEBUG
...
AscendC::SetKernelMode(KernelMode::AIV_MODE);
ICPU_RUN_KF(add_custom, numBlocks, x, y, z);
...
AscendC::GmFree((void *)x);
AscendC::GmFree((void *)y);
AscendC::GmFree((void *)z);
#else
...
#endif
return 0;
}