Skip to content

增加对昇腾 Ascend C toolchain 的支持 #7506

@wuzhenqing

Description

@wuzhenqing

你在什么场景下需要该功能?

我希望使用 xmake 构建基于昇腾 Ascend C 的工程,包括 asc kernel 源文件,以及依赖 bisheng 编译器驱动的二进制、静态库和动态库目标

描述可能的解决方案

希望在 xmake 中新增 ascendc toolchain/language/rule 支持,自动探测 CANN SDK 路径,配置 bisheng、llvm-ar、include/lib/rpath 等环境,并提供 add_ascnpuarchs("dav-xxxx") 之类的接口生成 --npu-arch= 参数。
我已经完成了当前版本的初步实现,准备提交 PR 供维护者审查。

描述你认为的候选方案

  1. 在 xmake 主仓库内新增内置 ascendc toolchain,这是我推荐的方案,用户体验最好,也便于和现有语言、规则、平台配置集成。
  2. 先以外部自定义 toolchain/rule 的方式维护,侵入性较低,但用户需要额外复制配置,长期维护和复用成本更高。

其他信息

因为昇腾仅支持 Linux 环境,因此当前实现仅支持 Linux 环境,支持通过 ASCEND_HOME_PATH、ASCEND_TOOLKIT_HOME 或 --ascendc= 指定 CANN SDK

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    In progress

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions