已开启
[faiss] 支持单 Faiss 内嵌 NPU Flat 并完善过滤与安装 #96
肾炝喜鲤创建于 7月6日
[faiss] 支持单 Faiss 内嵌 NPU Flat 并完善过滤与安装 #96
已开启
合并受阻
7月6日 关联了issue:[Feature]: 新增 presmoke 预冒烟流水线
ascend-robot
7月6日 评论:
7月6日 评论:
compile


ascend-robot
7月6日 评论:
7月6日 评论:
xiangjie10
7月6日 评论:
7月6日 评论:
🔍 PR 规范审计未通过,以下项目需要修正:
- ⚠️ PR 代码变更未包含测试用例(变更文件路径中均不包含 test 或 ut),请确认已经备注原因!
请修正后重新提交,或联系仓库管理员。


7月6日 添加了label:ascend-cla/yes
此处折叠了100条消息 查看更多
15 小时前 添加了label:ci-pipeline-running
15 小时前 删除了label:ci-pipeline-running
15 小时前 添加了label:ci-pipeline-passed
ascend-robot
15 小时前 评论:
15 小时前 评论:
流水线 PR-pipeline_faiss#688 [ commitID:15891cfa ] 已完成
>>>代码风格自动修复执行成功(无修复内容)
| 阶段 | 任务名 | 状态 | 详情 |
|---|---|---|---|
| 编译构建 | PR-build-SAST-check | ✅ COMPLETED | >>> |
| Build_arm | ✅ COMPLETED | >>> | |
| 恶意代码检查 | Antipoison | ✅ COMPLETED | >>> |
| 编码安全与规范检查 | pre-commit | ✅ COMPLETED | >>> |
| 开源片段检查 | SCA | ✅ COMPLETED | >>> |
| 开发者测试 | PreSmoke | ✅ COMPLETED | >>> |
| UT | ✅ COMPLETED | >>> | |
| 流水线 | PR-pipeline_faiss | ✅ COMPLETED | >>> |
- compile : 运行流水线
- retry : 重试流水线所有失败子任务
- retry <任务名> : 仅重试指定失败子任务
- stop : 停止流水线


14 小时前 修改了pull request 的描述
变更摘要
提供可编入调用方已有 Faiss target 的 FP32 Flat source-component;补齐 IDSelector/mask、过滤后不足 k 的填充语义、MathUtils 安装头及 custom_math 公共头安装;补充 L2 tiling 类型缓冲区判空与 CompileInfo 默认初始化。删除旧 IndexSDK/OM 对接说明和包装路径。默认独立 Faiss-NPU 构建与 embedded 模式分开,后者不引入 INT8 扩展 vtable。
源码与验证版本
Faiss 当前源码
15891cfad06f72118e6239f9c865e8eb53476686,基于上游87f8d1b82f519a0333e33529ef9e9fa18b9591c5。已完成 P1/P2 和服务矩阵的 Faiss 源码为3561604fc6d7f368e7c0f0fa9e76fbf386f74039;tiling 防护定向验证绑定53ac5087b83c496fdd3bd2d3c9d5c78fc902591e。本次重基线、格式和提交整理未重跑完整矩阵。验证记录与边界
P1 FP32/FP16 Flat、selector/mask、安装后 consumer 与嵌入式 consumer 的既有验证继续绑定
3561604。53ac508的真实 CANN 定向回归 5/5 通过;原版本 typed-null 同例退出 139,修复后返回 GRAPH_FAILED;完整 translation unit 语法检查通过。Milvus 服务级矩阵由 C3/C4 报告提供,不使用旧 IndexSDK 单算子数据。流水线 #687 的格式失败已按仓库 clang-format 18 与尾空白规则修正。其 UT 两项失败分别为旧 OPQIVFPQ 克隆用例 nlist=8 不满足 64 对齐,以及旧 OPQ 对照用例 recall=75 未达 80;本次纳入上游已有对应修复,不新增本 PR 的阈值调整。Flat 测试在该轮通过。定向格式及静态检查通过;本机缺少 CI 注入的 ./gitleaks,已用现有 gitleaks 对 15 个变更文件完成等价扫描。新 head 的正式 CI 以流水线结果为准。
共同环境:Linux arm64、Ascend910B3、CANN 9.1.0-beta.3、driver 25.2.0。FP32 为主机接口;设备 Flat 路径使用 FP16。容器 NPU E2E 为 NOT_RUN,按本次确认的验收分工非必需;native 验证与本地 Docker 基础检查不能互相代替。本地验证不替代本 PR 新 head 的 CI、维护者检视或合入。
依赖与复验
主链为 B!96 → C1!969 → C2!970 → C3!971 → C4!974 → C5!976。IndexSDK !285 是独立历史增强,不是前置。不得混用旧单体 Milvus patch。
依照 C5 README 首次准备 native 环境,之后运行
./review.sh quick --env review.env或./review.sh full --env review.env。完整材料已补交至 Issue #13 的最终交付评论(评论编号 188853340):设计文档、测试验证报告、C3 CSV、C4 CSV、七文件 review bundle。请使用本次新附件;此前 IndexSDK/OM 附件仅供历史查阅。开发自检