跳到主要内容

算子编译迁移指导

进行算子编译时,开发者需要感知不同架构、不同的AI处理器型号。

  • 异构编译场景:当前KirinX90/Kirin9030不支持异构编译。

  • 标准自定义算子工程的场景:开发者需要在进行算子原型定义时,通过AddConfig接口注册算子支持的AI处理器型号以及相关的配置信息。AddConfig接口原型如下:soc参数表示AI处理器型号,aicore_config表示其他配置信息。

    void AddConfig(const char *soc);
    void AddConfig(const char *soc, OpAICoreConfig &aicore_config);

    所以需要在算子原型定义里,添加算子支持的AI处理器型号:KirinX90/Kirin9030。另外,算子工程目录下编译配置项文件CMakePresets.json中的ASCEND_COMPUTE_UNIT字段改成需要编译的新平台AI处理器型号。

    // ...
    namespace ops {
    class AddCustom : public OpDef {
    public:
    AddCustom(const char* name) : OpDef(name)
    {
    // ...
    this->AICore().AddConfig("ascend910b");
    // 示例:添加KirinX90处理器系列
    this->AICore().AddConfig("kirinx90");
    }
    };
    OP_ADD(AddCustom);
    } // namespace ops