lyang24
7a4e7975d1
Fix RaBitQ fast scan aux offsets for large bbs ( #5421 )
...
Summary:
Fix RaBitQ FastScan aux-factor lookup for bbs > 32 so SIMD sub-blocks read factors from the correct vector offsets.
Pull Request resolved: https://github.com/facebookresearch/faiss/pull/5421
Test Plan:
Added regression coverage for the bbs>32 aux-factor offset fix.
Non-IVF path (imported C++ test, now wired into the internal Buck build via a new `test_rabitq_fastscan_cpp` target):
buck test fbcode//faiss/tests:test_rabitq_fastscan_cpp => Pass 1
IVF path (new end-to-end regression test `test_ivf_large_bbs_aux_offsets`; `nlist=1` + `bbs=64` so a single list spans multiple bbs blocks and the `b>=1` SIMD sub-blocks exercise `idx_base % bbs != 0`):
buck test fbcode//faiss/tests:test_rabitq_fastscan -- test_ivf_large_bbs_aux_offsets => Pass 1
Red/green verified: the IVF test FAILS on the pre-fix offset (`aux_base + j * storage_size`) and PASSES with the fix (`aux_base + ((idx_base % bbs) + j) * storage_size`).
Reviewed By: mnorris11
Differential Revision: D112829433
Pulled By: alibeklfc
fbshipit-source-id: 0271fddc459a6af6675ebfb9078c44e9476733b3
2026-07-31 07:49:57 -07:00
..
2026-07-10 17:33:47 -07:00
2026-06-29 15:07:10 -07:00
2026-07-31 07:49:57 -07:00
2026-06-29 17:29:05 -07:00
2024-10-23 07:34:38 -07:00
2026-03-14 15:12:14 -07:00
2026-07-13 11:09:13 -07:00
2026-02-04 00:03:15 -08:00
2025-10-14 16:47:57 -07:00
2024-10-22 09:46:48 -07:00
2026-04-14 23:35:31 -07:00
2026-06-29 17:29:05 -07:00
2026-06-29 17:29:05 -07:00
2026-06-29 17:29:05 -07:00
2026-07-15 17:47:15 -07:00
2026-06-29 17:29:05 -07:00
2026-01-05 15:00:20 -08:00
2026-06-29 17:29:05 -07:00
2026-06-29 17:29:05 -07:00
2026-07-17 10:20:42 -07:00
2026-03-20 10:21:55 -07:00
2026-06-29 17:29:05 -07:00
2026-07-17 10:20:42 -07:00
2025-07-25 02:37:10 -07:00
2026-03-20 10:21:55 -07:00
2026-01-21 13:58:27 -08:00
2026-03-20 10:21:55 -07:00
2026-03-20 10:21:55 -07:00
2026-04-29 09:37:46 -07:00
2026-03-20 10:21:55 -07:00
2024-10-22 09:46:48 -07:00
2026-07-15 17:47:15 -07:00
2026-06-29 17:29:05 -07:00
2026-07-14 12:27:43 -07:00
2026-06-29 17:29:05 -07:00
2026-02-20 19:39:13 -08:00
2026-07-15 08:50:29 -07:00
2026-06-29 17:29:05 -07:00
2026-03-18 14:05:55 -07:00
2026-06-29 17:29:05 -07:00
2026-04-23 13:31:11 -07:00
2026-06-30 10:17:47 -07:00
2026-06-29 18:38:01 -07:00
2026-06-29 17:29:05 -07:00
2026-03-20 10:21:55 -07:00
2026-05-28 13:28:59 -07:00
2026-07-17 10:20:42 -07:00
2026-07-23 11:17:13 -07:00
2026-07-22 15:22:53 -07:00
2026-06-29 17:29:05 -07:00
2026-06-29 17:29:05 -07:00
2026-07-17 10:20:42 -07:00
2026-07-17 11:01:30 -07:00
2026-02-12 21:09:31 -08:00
2026-06-29 17:29:05 -07:00
2026-07-06 08:54:27 -07:00
2026-07-17 10:20:42 -07:00
2026-07-23 10:53:58 -07:00
2026-06-29 17:29:05 -07:00
2024-11-15 13:53:46 -08:00
2026-03-20 10:21:55 -07:00
2026-06-29 17:29:05 -07:00
2026-03-20 10:21:55 -07:00
2026-06-29 17:29:05 -07:00
2026-03-20 10:21:55 -07:00
2026-06-29 17:29:05 -07:00
2026-04-23 13:31:11 -07:00
2026-04-09 20:12:31 -07:00
2026-05-30 02:02:42 -07:00
2026-04-24 12:53:56 -07:00
2026-06-29 17:29:05 -07:00
2024-10-22 09:46:48 -07:00
2025-11-12 11:39:51 -08:00
2026-03-20 10:21:55 -07:00
2026-05-01 12:23:05 -07:00
2026-06-29 18:38:01 -07:00
2026-05-05 00:46:37 -07:00
2026-05-04 07:35:56 -07:00
2026-03-12 02:15:42 -07:00
2026-04-23 13:31:11 -07:00
2026-06-29 18:38:01 -07:00
2026-07-31 07:49:57 -07:00
2026-07-31 07:49:57 -07:00
2026-07-31 07:47:52 -07:00
2026-07-17 11:14:42 -07:00
2026-07-09 09:32:24 -07:00
2026-03-20 10:21:55 -07:00
2026-07-29 10:52:12 -07:00
2026-06-29 17:29:05 -07:00
2026-07-16 12:09:45 -07:00
2026-07-17 10:20:42 -07:00
2026-07-17 10:20:42 -07:00
2024-10-22 09:46:48 -07:00
2026-06-29 17:29:05 -07:00
2026-07-10 08:38:21 -07:00
2026-07-17 10:20:42 -07:00
2026-07-17 10:20:42 -07:00
2026-02-09 01:19:35 -08:00
2026-02-09 01:19:35 -08:00
2026-05-05 16:54:09 -07:00
2026-05-01 09:55:55 -07:00
2026-04-09 04:19:54 -07:00
2026-03-18 14:05:55 -07:00
2026-03-20 10:21:55 -07:00
2026-04-10 17:59:30 -07:00
2026-07-17 10:20:42 -07:00
2026-07-17 21:15:37 -07:00
2026-07-17 21:15:37 -07:00
2026-04-03 15:08:59 -07:00
2026-07-01 21:53:26 -07:00
2026-07-22 13:17:27 -07:00
2026-06-29 17:29:05 -07:00
2026-07-27 09:25:51 -07:00
2026-03-20 10:21:55 -07:00
2026-03-20 10:21:55 -07:00
2024-10-22 09:46:48 -07:00
2026-06-29 17:29:05 -07:00
2026-06-29 17:29:05 -07:00
2026-04-23 13:31:11 -07:00
2026-06-29 17:29:05 -07:00
2026-07-17 10:20:42 -07:00