| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 15 天前 | ||
| 15 天前 | ||
| 15 天前 |
Faiss NPU Dev Container
本目录提供基于昇腾 CANN 环境的开发容器配置,用于在 VS Code(Dev Containers)中开发、编译和调试 Faiss NPU。
直接使用官方 CANN 预制镜像(无需自建 Dockerfile);编译依赖在容器首次创建时由 postCreateCommand.sh 自动安装。
环境要求
- 宿主机为 Linux(x86_64 或 aarch64),已安装昇腾 NPU 驱动与固件
- 已安装 Docker 与 VS Code "Dev Containers" 扩展
- 容器使用官方 CANN 预制镜像(华为云 SWR 仓库,国内可直接拉取):
swr.cn-south-1.myhuaweicloud.com/ascendhub/cann:9.0.0-910b-ubuntu22.04-py3.11(CANN >= 9.0.0)
使用方式
- 在 VS Code 中打开本仓库根目录
- 弹出提示时选择 "Reopen in Container",或执行命令面板(Ctrl+Shift+P)→ "Dev Containers: Reopen in Container"
- 首次启动:拉取 CANN 镜像 → 创建容器 →
postCreateCommand.sh自动安装编译依赖(openblas/swig/cmake 3.26/numpy 等,需数分钟) - 容器启动后按
postCreateCommand.sh打印的步骤编译算子与 faiss_npu
可配置项
| 配置 | 位置 | 说明 |
|---|---|---|
| CANN 版本 / 芯片类型 | devcontainer.json → image |
默认 9.0.0-910b-ubuntu22.04-py3.11;A3 改为 9.0.0-a3-ubuntu22.04-py3.11,编译算子时用 COMPUTE_UNIT=ascend910_93 |
| 多卡 | devcontainer.json → runArgs |
追加 --device=/dev/davinci1、/dev/davinci2 等 |
无 NPU 设备的环境
若宿主机无 NPU(仅用于阅读代码 / CPU 编译),请注释掉 devcontainer.json 中的 runArgs 与 mounts 后重新打开。
常见问题
- 容器启动失败,提示找不到
/dev/davinci*:确认宿主机已安装 NPU 驱动,或按上文注释设备挂载 npu-smi不可用:确认mounts中已挂载/usr/local/bin/npu-smiimport faiss报算子未安装:执行python3 -m faiss.npu_setup或faiss-install-ops安装算子 run 包- 依赖安装慢/失败:
postCreateCommand.sh已将 apt 源切换为华为云镜像、pip 使用华为云镜像