Register now open for the virtual Milvus Community Conf2020!Join us on Oct.17th, 2020.

Milvus Versions

Overview

Milvus runs on machines with or without GPU. To use Milvus on machines without a GPU, install CPU-only Milvus. Otherwise, if you have CUDA-enabled GPUs in your computer, it is recommended that you use GPU-enabled Milvus to achieve better search performance for larger queries.

CPU-only Milvus vs. GPU-enabled Milvus

In Milvus, a vector search includes two separate processes: index building and search.

  • For GPU-enabled Milvus, these two processes can run concurrently, which facilitates more efficient query, especially for incremental data.
  • For CPU-only Milvus, search computation can only be executed after index building is completed, which makes it more suitable for static data.

Index types in CPU-only Milvus

Name Index building with CPU Search with CPU Float vector support Binary vector support
FLAT - ✔️ ✔️ ✔️  
IVF_FLAT ✔️ ✔️ ✔️ ✔️  
IVF_SQ8 ✔️ ✔️ ✔️
IVF_PQ ✔️ ✔️ ✔️
RNSG ✔️ ✔️ ✔️
HNSW ✔️ ✔️ ✔️
ANNOY ✔️ ✔️ ✔️

Index types in Milvus with GPU support

Name Index building with CPU Search with CPU Search with GPU Search with GPU Float vector support Binary vector support
FLAT - ✔️ - ✔️
(Only Supports floating point vectors)
✔️ ✔️
IVF_FLAT ✔️ ✔️ ✔️
(Only Supports floating point vectors)
✔️
(Only Supports floating point vectors)
✔️ ✔️
IVF_SQ8 ✔️ ✔️ ✔️ ✔️ ✔️
IVF_SQ8H ✔️ ✔️ ✔️ ✔️ ✔️
IVF_PQ ✔️ ✔️ ✔️
(Only Supports GPU index for Euclidean distance)
✔️
(Only Supports GPU search for Euclidean distance)
✔️
RNSG ✔️ ✔️ ✔️
HNSW ✔️ ✔️ ✔️
ANNOY ✔️ ✔️ ✔️
  • FLAT index does not need index building.
  • For indexes supporting both CPU search and GPU search, you can create or search them using different devices, either CPU or GPU. For example, you can create an index using CPU and conduct a vector search using GPU.
  • Index building parameters and search parameters vary with index type. See Milvus Operations for more information.
Edit
© 2019 - 2020 Milvus. All rights reserved.