Skip to content
版 本

SetKernelMode

产 品 支 持 情 况

产 品

是 否 支 持

Ascend 950PR/Ascend 950DT

Atlas A3 训 练 系 列 产 品/Atlas A3 推 理 系 列 产 品

Atlas A2 训 练 系 列 产 品/Atlas A2 推 理 系 列 产 品

Atlas 200I/500 A2 推 理 产 品

Atlas 推 理 系 列 产 品AI Core

Atlas 推 理 系 列 产 品Vector Core

x

Atlas 训 练 系 列 产 品

Kirin X90

Kirin 9030

功 能 说 明

头 文 件 路 径 为:"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;
}

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