{
  "dataset": {
    "name": "wiki_all_88M",
    "base_file": "wiki_all_88M/base.88M.fbin",
    "query_file": "wiki_all_88M/queries.fbin",
    "groundtruth_neighbors_file": "wiki_all_88M/groundtruth.88M.neighbors.ibin",
    "distance": "euclidean"
  },
  "search_basic_param": {
    "batch_size": 10000,
    "k": 10
  },
  "index": [
    {
      "name": "hnswlib.M16.ef50",
      "algo": "hnswlib",
      "build_param": { "M": 16, "efConstruction": 50, "numThreads": 56 },
      "file": "wiki_all_88M/hnswlib/M16.ef50",
      "search_params": [
        { "ef": 10, "numThreads": 56 },
        { "ef": 20, "numThreads": 56 },
        { "ef": 40, "numThreads": 56 },
        { "ef": 60, "numThreads": 56 },
        { "ef": 80, "numThreads": 56 },
        { "ef": 120, "numThreads": 56 },
        { "ef": 200, "numThreads": 56 },
        { "ef": 400, "numThreads": 56 },
        { "ef": 600, "numThreads": 56 },
        { "ef": 800, "numThreads": 56 }
      ]
    },
    {
      "name": "faiss_ivf_pq.M32-nlist16K",
      "algo": "faiss_gpu_ivf_pq",
      "build_param": {
        "M": 32,
        "nlist": 16384,
        "ratio": 2
      },
      "file": "wiki_all_88M/faiss_ivf_pq/M32-nlist16K_ratio2",
      "search_params": [
        { "nprobe": 10 },
        { "nprobe": 20 },
        { "nprobe": 30 },
        { "nprobe": 40 },
        { "nprobe": 50 },
        { "nprobe": 100 },
        { "nprobe": 200 },
        { "nprobe": 500 }
      ]
    },
    {
      "name": "faiss_ivf_pq.M64-nlist16K",
      "algo": "faiss_gpu_ivf_pq",
      "build_param": {
        "M": 64,
        "nlist": 16384,
        "ratio": 2
      },
      "file": "wiki_all_88M/faiss_ivf_pq/M64-nlist16K_ratio2",
      "search_params": [
        { "nprobe": 10 },
        { "nprobe": 20 },
        { "nprobe": 30 },
        { "nprobe": 40 },
        { "nprobe": 50 },
        { "nprobe": 100 },
        { "nprobe": 200 },
        { "nprobe": 500 }
      ]
    },
    {
      "name": "raft_ivf_pq.d128-nlist16K",
      "algo": "raft_ivf_pq",
      "build_param": {
        "pq_dim": 128,
        "pq_bits": 8,
        "nlist": 16384,
        "niter": 10,
        "ratio": 10
      },
      "file": "wiki_all_88M/raft_ivf_pq/d128-nlist16K",
      "search_params": [
        { "nprobe": 20, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 1 },
        { "nprobe": 30, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 1 },
        { "nprobe": 40, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 1 },
        { "nprobe": 50, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 1 },
        { "nprobe": 100, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 1 },
        { "nprobe": 200, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 1 },
        { "nprobe": 500, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 1 }
      ]
    },
    {
      "name": "raft_ivf_pq.d64-nlist16K",
      "algo": "raft_ivf_pq",
      "build_param": {
        "pq_dim": 64,
        "pq_bits": 8,
        "nlist": 16384,
        "niter": 10,
        "ratio": 10
      },
      "file": "wiki_all_88M/raft_ivf_pq/d64-nlist16K",
      "search_params": [
        { "nprobe": 20, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 4 },
        { "nprobe": 30, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 4 },
        { "nprobe": 40, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 4 },
        { "nprobe": 50, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 4 },
        { "nprobe": 100, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 4 },
        { "nprobe": 200, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 4 },
        { "nprobe": 500, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 4 }
      ]
    },
    {
      "name": "raft_ivf_pq.d32-nlist16K",
      "algo": "raft_ivf_pq",
      "build_param": {
        "pq_dim": 32,
        "pq_bits": 8,
        "nlist": 16384,
        "niter": 10,
        "ratio": 10
      },
      "file": "wiki_all_88M/raft_ivf_pq/d32-nlist16K",
      "search_params": [
        { "nprobe": 20, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 32 },
        { "nprobe": 30, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 32 },
        { "nprobe": 40, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 32 },
        { "nprobe": 50, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 32 },
        { "nprobe": 100, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 32 },
        { "nprobe": 200, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 32 },
        { "nprobe": 500, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 32 }
      ]
    },
    {
      "name": "raft_ivf_pq.d32X-nlist16K",
      "algo": "raft_ivf_pq",
      "build_param": {
        "pq_dim": 32,
        "pq_bits": 8,
        "nlist": 16384,
        "niter": 10,
        "ratio": 10
      },
      "file": "wiki_all_88M/raft_ivf_pq/d32-nlist16K",
      "search_params": [
        { "nprobe": 20, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 16 },
        { "nprobe": 30, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 16 },
        { "nprobe": 40, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 16 },
        { "nprobe": 50, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 16 },
        { "nprobe": 100, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 16 },
        { "nprobe": 200, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 16 },
        { "nprobe": 500, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 16 },
        { "nprobe": 30, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 8 },
        { "nprobe": 40, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 8 },
        { "nprobe": 50, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 8 },
        { "nprobe": 100, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 8 },
        { "nprobe": 200, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 8 },
        { "nprobe": 500, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 8 },
        { "nprobe": 30, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 4 },
        { "nprobe": 40, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 4 },
        { "nprobe": 50, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 4 },
        { "nprobe": 100, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 4 },
        { "nprobe": 200, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 4 },
        { "nprobe": 500, "internalDistanceDtype": "half", "smemLutDtype": "half", "refine_ratio": 4 }

      ]
    },
    {
      "name": "raft_cagra.dim32.multi_cta",
      "algo": "raft_cagra",
      "build_param": { "graph_degree": 32, "intermediate_graph_degree": 48 },
      "file": "wiki_all_88M/raft_cagra/dim32.ibin",
      "search_params": [
        { "itopk": 32, "search_width": 1, "max_iterations": 0, "algo": "multi_cta" },
        { "itopk": 32, "search_width": 1, "max_iterations": 32, "algo": "multi_cta" },
        { "itopk": 32, "search_width": 1, "max_iterations": 36, "algo": "multi_cta" },
        { "itopk": 32, "search_width": 1, "max_iterations": 40, "algo": "multi_cta" },
        { "itopk": 32, "search_width": 1, "max_iterations": 44, "algo": "multi_cta" },
        { "itopk": 32, "search_width": 1, "max_iterations": 48, "algo": "multi_cta" },
        { "itopk": 32, "search_width": 2, "max_iterations": 16, "algo": "multi_cta" },
        { "itopk": 32, "search_width": 2, "max_iterations": 24, "algo": "multi_cta" },
        { "itopk": 32, "search_width": 2, "max_iterations": 26, "algo": "multi_cta" },
        { "itopk": 32, "search_width": 2, "max_iterations": 32, "algo": "multi_cta" },
        { "itopk": 64, "search_width": 4, "max_iterations": 16, "algo": "multi_cta" },
        { "itopk": 64, "search_width": 1, "max_iterations": 64, "algo": "multi_cta" },
        { "itopk": 96, "search_width": 2, "max_iterations": 48, "algo": "multi_cta" },
        { "itopk": 128, "search_width": 8, "max_iterations": 16, "algo": "multi_cta" },
        { "itopk": 128, "search_width": 2, "max_iterations": 64, "algo": "multi_cta" },
        { "itopk": 192, "search_width": 8, "max_iterations": 24, "algo": "multi_cta" },
        { "itopk": 192, "search_width": 2, "max_iterations": 96, "algo": "multi_cta" },
        { "itopk": 256, "search_width": 8, "max_iterations": 32, "algo": "multi_cta" },
        { "itopk": 384, "search_width": 8, "max_iterations": 48, "algo": "multi_cta" },
        { "itopk": 512, "search_width": 8, "max_iterations": 64, "algo": "multi_cta" }
      ]
    }

  ]
}

