昇腾社区首页
中文
注册
开发者
下载

算子编译简介

本章节介绍的算子编译方法支持开发者通过bisheng命令行和CMake进行手动配置编译选项,或编写CMake脚本来实现编译。开发者可以将Host侧main.cpp和Device侧Kernel核函数置于同一实现文件中,以实现异构编译。

  • 目前,该编译方法仅支持如下型号:
    • Atlas A3 训练系列产品/Atlas A3 推理系列产品
    • Atlas A2 训练系列产品/Atlas A2 推理系列产品
  • 当前版本暂不支持CPU孪生调试功能。
  • 暂不支持在同一个编译单元的两个核函数中,同时设定KERNEL_TYPE_MIX_AIC_1_1KERNEL_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
        ...
    }