模式差异
依据推理产品可以得知有EP、RC两种工作模式。在进行应用开发时,不同的工作模式有以下方面的差异。
环境准备
工作模式 |
参考手册 |
---|---|
EP |
开发环境与运行环境的准备: 请参见《CANN 软件安装指南》。 |
RC |
|
应用编译
应用编译时,在EP模式与RC模式下有两点差异:环境变量的配置与编译命令。
- 环境变量配置:
表7-3 环境变量配置
工作模式
环境变量
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/fwkacllib/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/fwkacllib/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/acllib/lib64/stub
表格中配置的环境变量仅为示例,请将$HOME/Ascend/ascend-toolkit/latest按场景替换:
- EP场景:替换为标准形态fwkacllib软件包的实际安装路径。
- RC场景:替换为minirc形态acllib软件包的实际安装路径。
- 如果开发环境与运行环境CPU架构相同,以开发环境为x86架构为例:
- 编译命令:
表7-4 编译命令
工作模式
环境变量
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架构相同:
应用运行
工作模式 |
运行应用 |
---|---|
EP |
|
RC |
“$HOME/Ascend”为acllib软件包的安装路径: export LD_LIBRARY_PATH=$HOME/Ascend/acllib/lib64 |