Expand description
Phase implementations for GPU-accelerated HNSW index construction.
This module contains the main builder structs and their implementations:
GpuHnswIndexBuilder: Primary GPU HNSW builder with phase-based constructionIncrementalGpuIndexBuilder: Streaming ingestion builder with micro-batch supportGpuBatchDistanceComputer: Batch pairwise distance computation (CPU/GPU)BatchSizeCalculator: Optimal batch size heuristics for GPU memory budgetsGpuMemoryBudget: GPU memory budget tracking and feasibility checksGpuIndexOptimizer: High-level optimizer wrapping the memory budgetPipelinedIndexBuilder: Three-stage pipelined index construction
Structs§
- Batch
Size Calculator - Calculates optimal batch sizes for GPU index construction based on available GPU memory and vector dimensionality.
- Computed
Batch - A batch for which GPU distance computation has been (simulated as) completed.
- GpuBatch
Distance Computer - GPU-accelerated batch distance computation
- GpuHnsw
Index Builder - GPU-accelerated HNSW index builder
- GpuIndex
Optimizer - Optimises GPU memory usage during index construction by computing ideal batch sizes and checking memory feasibility.
- GpuMemory
Budget - GPU memory budget tracker for index construction.
- Incremental
GpuIndex Builder - Incremental GPU index builder for streaming ingestion
- Indexed
Batch - A fully indexed batch: neighbor IDs have been selected and are ready to be merged into the final HNSW graph.
- Pipelined
Index Builder - Overlaps CPU preparation work with simulated GPU compute to build an index in a three-stage pipeline: prepare → compute → finalize.
- Prepared
Batch - A batch of vectors prepared (normalised / packed) on the CPU, ready to be dispatched to a GPU compute stage.