diff --git a/CHANGELOG.md b/CHANGELOG.md index 9495456c9a..36806f3b2d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,9 @@ Please mark all change in change log and use the issue from GitHub # Milvus 0.10.1 (TBD) ## Bug +- \#2585 IVF_PQ on GPU with using metric_type IP +- \#2578 Result count doesn't match target vectors count +- \#2557 fix random crash of INSERT_DUPLICATE_ID case ## Feature diff --git a/core/src/index/knowhere/knowhere/index/vector_index/ConfAdapter.cpp b/core/src/index/knowhere/knowhere/index/vector_index/ConfAdapter.cpp index 5d038c3710..43c66f6ade 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/ConfAdapter.cpp +++ b/core/src/index/knowhere/knowhere/index/vector_index/ConfAdapter.cpp @@ -138,16 +138,11 @@ IVFPQConfAdapter::CheckTrain(Config& oricfg, const IndexMode mode) { static int64_t DEFAULT_NBITS = 8; static int64_t MAX_NLIST = 999999; static int64_t MIN_NLIST = 1; - static std::vector CPU_METRICS{knowhere::Metric::L2, knowhere::Metric::IP}; - static std::vector GPU_METRICS{knowhere::Metric::L2}; + static std::vector METRICS{knowhere::Metric::L2, knowhere::Metric::IP}; oricfg[knowhere::IndexParams::nbits] = DEFAULT_NBITS; - if (mode == IndexMode::MODE_GPU) { - CheckStrByValues(knowhere::Metric::TYPE, GPU_METRICS); - } else { - CheckStrByValues(knowhere::Metric::TYPE, CPU_METRICS); - } + CheckStrByValues(knowhere::Metric::TYPE, METRICS); CheckIntByRange(knowhere::meta::DIM, DEFAULT_MIN_DIM, DEFAULT_MAX_DIM); CheckIntByRange(knowhere::meta::ROWS, DEFAULT_MIN_ROWS, DEFAULT_MAX_ROWS); CheckIntByRange(knowhere::IndexParams::nlist, MIN_NLIST, MAX_NLIST); diff --git a/core/src/server/delivery/request/CreateIndexRequest.cpp b/core/src/server/delivery/request/CreateIndexRequest.cpp index dc198f6472..eaba58cde6 100644 --- a/core/src/server/delivery/request/CreateIndexRequest.cpp +++ b/core/src/server/delivery/request/CreateIndexRequest.cpp @@ -96,20 +96,6 @@ CreateIndexRequest::OnExecute() { } } -#ifdef MILVUS_GPU_VERSION - Status s; - bool enable_gpu = false; - server::Config& config = server::Config::GetInstance(); - s = config.GetGpuResourceConfigEnable(enable_gpu); - fiu_do_on("CreateIndexRequest.OnExecute.ip_meteric", - collection_info.metric_type_ = static_cast(engine::MetricType::IP)); - - if (s.ok() && adapter_index_type == (int)engine::EngineType::FAISS_PQ && - collection_info.metric_type_ == (int)engine::MetricType::IP) { - return Status(SERVER_UNEXPECTED_ERROR, "PQ not support IP in GPU version!"); - } -#endif - rc.RecordSection("check validation"); // step 3: create index diff --git a/core/unittest/server/test_rpc.cpp b/core/unittest/server/test_rpc.cpp index bef93fd01c..8bf69e3071 100644 --- a/core/unittest/server/test_rpc.cpp +++ b/core/unittest/server/test_rpc.cpp @@ -252,14 +252,6 @@ TEST_F(RpcHandlerTest, INDEX_TEST) { ASSERT_TRUE(grpc_status.ok()); fiu_disable("CreateIndexRequest.OnExecute.create_index_fail"); -#ifdef MILVUS_GPU_VERSION - request.set_index_type(static_cast(milvus::engine::EngineType::FAISS_PQ)); - fiu_enable("CreateIndexRequest.OnExecute.ip_meteric", 1, NULL, 0); - grpc_status = handler->CreateIndex(&context, &request, &response); - ASSERT_TRUE(grpc_status.ok()); - fiu_disable("CreateIndexRequest.OnExecute.ip_meteric"); -#endif - ::milvus::grpc::CollectionName collection_name; ::milvus::grpc::IndexParam index_param; handler->DescribeIndex(&context, &collection_name, &index_param);