你在什么场景下需要该功能?
我希望使用 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 供维护者审查。
描述你认为的候选方案
- 在 xmake 主仓库内新增内置 ascendc toolchain,这是我推荐的方案,用户体验最好,也便于和现有语言、规则、平台配置集成。
- 先以外部自定义 toolchain/rule 的方式维护,侵入性较低,但用户需要额外复制配置,长期维护和复用成本更高。
其他信息
因为昇腾仅支持 Linux 环境,因此当前实现仅支持 Linux 环境,支持通过 ASCEND_HOME_PATH、ASCEND_TOOLKIT_HOME 或 --ascendc= 指定 CANN SDK
你在什么场景下需要该功能?
我希望使用 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 供维护者审查。
描述你认为的候选方案
其他信息
因为昇腾仅支持 Linux 环境,因此当前实现仅支持 Linux 环境,支持通过 ASCEND_HOME_PATH、ASCEND_TOOLKIT_HOME 或 --ascendc= 指定 CANN SDK