SetKernelMode
产品支持情况
- Ascend 950PR/Ascend 950DT:支持
- Atlas A3 训练系列产品/Atlas A3 推理系列产品:支持
- Atlas A2 训练系列产品/Atlas A2 推理系列产品:支持
- Atlas 200I/500 A2 推理产品:支持
- Atlas 推理系列产品AI Core:支持
- Atlas 推理系列产品Vector Core:不支持
- 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;
}