Milvus Distributions
Overview
Milvus comes in two distributions: CPU-only Milvus and GPU-enabled Milvus.
- CPU-only Milvus only supports using CPU to search or build index.
- GPU-enabled Milvus supports GPU acceleration for searching and index building: You can use CPU for searching and GPU for index building at the same time to improve query efficiency.
If your GPU supports CUDA, then you can install GPU-enabled Milvus to achieve much higher search performance in large-scale datasets.
Indexes for GPU-enabled Milvus
Milvus maps different embedding types with different index types. Click the tab below to view the index types supporting your embedding type.
Index type | Indexing with CPU | Indexing with GPU | Search with CPU | Search with GPU |
---|---|---|---|---|
FLAT | N/A | N/A | ✔️ | ✔️ |
IVF_FLAT | ✔️ | ✔️ | ✔️ | ✔️ |
IVF_SQ8 | ✔️ | ✔️ | ✔️ | ✔️ |
IVF_SQ8H | ✔️ | ✔️ | ✔️ | ✔️ |
IVF_PQ | ✔️ | ✔️ | ✔️ | ✔️ |
RNSG | ✔️ | ❌ | ✔️ | ❌ |
HNSW | ✔️ | ❌ | ✔️ | ❌ |
ANNOY | ✔️ | ❌ | ✔️ | ❌ |
- An index built with CPU is identical to built with CPU. The only difference is the time to build the index: GPU usually takes less time.
- If
top_k
> 2048, Milvus switches from GPU search to CPU search. - If
nprobe
> 2048, Milvus switches from GPU search to CPU search.
Index type | Indexing with CPU | Indexing with GPU | Search with CPU | Search with GPU |
---|---|---|---|---|
FLAT | N/A | N/A | ✔️ | ❌ |
IVF_FLAT | ✔️ | ❌ | ✔️ | ❌ |