在Device侧运行检索业务
检索目前只包含标准态(即在Host侧运行检索业务),但有的应用场景需要在Device侧运行检索业务,属于一种特定场景。下面介绍在Device侧进行检索的方法。
前提条件
- 已经按照开放态的流程安装CANN,确保“/usr/local/AscendMiniOSRun/”文件夹已存在。具体操作请参见《CANN 软件安装指南 (开放态, Atlas 推理系列产品)》。
- 已经解除SSH服务的50M内存占用限制,确保可以发送全部依赖文件。具体操作可参考《CANN 软件安装指南 (开放态,
Atlas 推理系列产品 》的“使用DSMI接口打开SSH服务”章节。 - Host侧需为Arm架构。
- P2P内存在device侧预留4G,该部分内存默认不可用。若要使用这部分内存,达到最大库容,需使用npu-smi info set -t p2p-mem-cfg -i "id" -d "value"命令设置芯片BAR空间拷贝使能状态为“禁用”状态。命令使用可参考《Atlas 中心推理卡 24.1.RC1 npu-smi 命令参考》的“设置指定芯片BAR空间拷贝使能状态”章节。
操作步骤
- 生成要运行的算法所需要的算子。算法介绍请参考算法介绍。
- 将以下依赖的库传输到Device侧上。
- openblas:/opt/OpenBLAS/lib
- faiss:/usr/local/faiss/faiss1.7.4/lib
- 运行态toolkit so:/usr/local/AscendMiniOSRun/acllib/lib64和/usr/local/AscendMiniOSRun/aarch64-linux/data
- 检索so:${MX_INDEX_HOME}/mxIndex/host/lib,其中{MX_INDEX_HOME}为Index SDK的安装目录。
- Host侧编译器中的libgfortran.so:/usr/lib/aarch64-linux-gnu/libgfortran.so*
- Demo编译出来的二进制
- toolkit目录下的latest/opp/version.info文件
- 算子文件:${MX_INDEX_HOME}/modelpath/
算子文件必须保证只有Atlas 推理系列产品的算子,不能有其他产品的算子,否则可能导致Device侧运行失败。
- 登录到Device侧,配置以下环境变量。
# 配置环境变量 export LD_LIBRARY_PATH=./lib:./lib64:./ # 配置version.info文件所在的目录 export ASCEND_OPP_PATH=./
- 登录到Device侧,运行用例。
父主题: 附录