# 算子编译迁移指导

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

* 异构编译场景：当前KirinX90/Kirin9030不支持异构编译。

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

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

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

  ```cpp
  // ...
  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
  ```

