算子编译简介
本章节介绍的算子编译方法支持开发者通过bisheng命令行和CMake进行手动配置编译选项,或编写CMake脚本来实现编译。开发者可以将Host侧main.cpp和Device侧Kernel核函数置于同一实现文件中,以实现异构编译。
- 目前,该编译方法仅支持如下型号:
Atlas A3 训练系列产品 /Atlas A3 推理系列产品 Atlas A2 训练系列产品 /Atlas A2 推理系列产品
- 当前版本暂不支持CPU孪生调试功能。
- 暂不支持在同一个编译单元的两个核函数中,同时设定KERNEL_TYPE_MIX_AIC_1_1和KERNEL_TYPE_MIX_AIC_1_2两种Kernel类型。比如如下示例将不被支持。
1 2 3 4 5 6 7 8 9 10 11 12 13
#include "kernel_operator.h" // 反例,不支持 __global__ __aicore__ KernelA(...) { KERNEL_TASK_TYPE_DEFAULT(KERNEL_TYPE_MIX_AIC_1_2); // 核函数A设定了KERNEL_TYPE_MIX_AIC_1_2 ... } __global__ __aicore__ KernelB(...) { KERNEL_TASK_TYPE_DEFAULT(KERNEL_TYPE_MIX_AIC_1_1); // 核函数B设定了KERNEL_TYPE_MIX_AIC_1_1 ... }
父主题: 算子编译