昇腾AI 处理器各工作模式的差异
昇腾AI 处理器有EP、RC两种工作模式。在进行应用开发时,不同的工作模式有以下方面的差异。
环境准备
应用编译
应用编译时,在EP模式与RC模式下有两点差异:环境变量的配置与编译命令。
- 环境变量配置:
表2 环境变量配置 工作模式
环境变量
EP
- 如果开发环境与运行环境CPU架构相同,以开发环境为x86架构为例:
export DDK_PATH=$HOME/Ascend/ascend-toolkit/latest/x86_64-linux export NPU_HOST_LIB=$HOME/Ascend/ascend-toolkit/latest/x86_64-linux/compiler/lib64/stub
- 如果开发环境与运行环境CPU架构不同,以开发环境为x86架构、运行环境为ARM架构为例:
export DDK_PATH=$HOME/Ascend/ascend-toolkit/latest/arm64-linux export NPU_HOST_LIB=$HOME/Ascend/ascend-toolkit/latest/arm64-linux/runtime/lib64/stub
RC
由于RC模式下,开发环境的操作系统为Ubuntu X86而运行环境的操作系统为Ubuntu ARM, 开发环境与运行环境的CPU架构不相同,所以只有一种环境变量配置方式。
export DDK_PATH=$HOME/Ascend/ascend-toolkit/latest/arm64-linux export NPU_HOST_LIB=$HOME/Ascend/ascend-toolkit/latest/arm64-linux/runtime/lib64/stub
表格中配置的环境变量仅为示例,请将$HOME/Ascend/ascend-toolkit/latest按场景替换:
- EP场景:替换为标准形态compiler或runtime软件包的实际安装路径。
- RC场景:替换为minirc形态runtime软件包的实际安装路径。
- 如果开发环境与运行环境CPU架构相同,以开发环境为x86架构为例:
- 编译命令:
表3 编译命令 工作模式
环境变量
EP
- 如果开发环境与运行环境CPU架构相同:
cmake ../../../src -DCMAKE_CXX_COMPILER=g++ -DCMAKE_SKIP_RPATH=TRUE
- 如果开发环境与运行环境CPU架构不同:
cmake ../../../src -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DCMAKE_SKIP_RPATH=TRUE
RC
由于RC模式下,开发环境的操作系统为Ubuntu X86而运行环境的操作系统为Ubuntu ARM, 开发环境与运行环境的CPU架构不相同,所以只有一种编译命令。
cmake ../../../src -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DCMAKE_SKIP_RPATH=TRUE
- 如果开发环境与运行环境CPU架构相同:
父主题: 附录