Commit e6f5c0c
Add SIMD dynamic dispatch migration guide (#4973)
Summary:
Pull Request resolved: #4973
Add a developer-facing guide for migrating FAISS modules from compile-time
#ifdef SIMD guards to the runtime dynamic dispatch (DD) infrastructure.
Covers:
- Why separate compilation units are required (auto-vectorization trap)
- The 4-step conversion recipe with worked examples
- Two template instantiation patterns (explicit vs macro-driven)
- Dispatch masks and with_selected_simd_levels
- Build system setup (CMake + Buck)
- Common patterns: shared -inl.h kernels, auto-vectorization, SVE forwarding
- Key design principles
- Testing workflow with FAISS_OPT_LEVEL=dd and FAISS_SIMD_LEVEL override
- Common pitfalls
All code examples link to specific lines in the GitHub repo (pinned to
commit 645a742) so readers can verify patterns against real code.
Reviewed By: algoriddle
Differential Revision: D97799584
fbshipit-source-id: a475aa853bdfbe4308742668260d7fde16c527de1 parent 9af8384 commit e6f5c0c
1 file changed
+505
-0
lines changed
0 commit comments