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

兼容性指南

兼容性是确保开发者能够高效迁移算子的关键。为了保证在不同AI处理器之间迁移时,Ascend C算子的语义和功能保持一致,开发者需要根据目标平台的架构进行代码适配和优化。如果开发者希望在新平台上运行其他平台开发的Ascend C算子程序,需要在新平台上重新编译并运行。请参考迁移指南,了解如何将昇腾平台上开发的算子迁移到麒麟平台。

为了保证兼容性,建议开发者在开发过程中尽量避免使用如下接口或编程方式,否则开发者需自行保证兼容性。

  • 非Ascend C公开接口、结构体,例如impl目录下的接口、结构体等;
  • 对芯片规格进行硬编码;例如:
    1
    2
    3
    constexpr uint32_t MAX_UB_SIZE = 256 * 1024;  
    // 建议获取方式:ascendcPlatform.GetCoreMemSize(platform_ascendc::CoreMemType::UB, MAX_UB_SIZE);
    ...
    
  • 编译器BuiltIn API;例如:
    1
    copy_gm_to_ubuf(input_1_local_UB, input_1, 0, 1, 8, 0, 0);
    
  • TilingKey编程。

建议开发者使用如下接口或编程方式。