下载
中文
注册

在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空间拷贝使能状态”章节。

操作步骤

  1. 生成要运行的算法所需要的算子。算法介绍请参考算法介绍
  2. 将以下依赖的库传输到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侧运行失败。

  3. 登录到Device侧,配置以下环境变量。
    # 配置环境变量
    export LD_LIBRARY_PATH=./lib:./lib64:./
    # 配置version.info文件所在的目录
    export ASCEND_OPP_PATH=./
  4. 登录到Device侧,运行用例。