Unverified Commit 0468b907 authored by Jin Hai's avatar Jin Hai Committed by GitHub
Browse files

Merge pull request #588 from Yukikaze-CZR/0.6.0

#552 Server down during building index_type: IVF_PQ using GPU-edition
parents c7ab705c 82e011d1
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ Please mark all change in change log and use the ticket from JIRA.
- \#533 - NSG build failed with MetricType Inner Product
- \#543 - client raise exception in shards when search results is empty
- \#545 - Avoid dead circle of build index thread when error occurs
- \#552 - Server down during building index_type: IVF_PQ using GPU-edition
- \#561 - Milvus server should report exception/error message or terminate on mysql metadata backend error

## Feature
+2 −1
Original line number Diff line number Diff line
@@ -42,7 +42,8 @@ class NSGInterfaceTest : public DataGen, public ::testing::Test {
    SetUp() override {
        // Init_with_default();
#ifdef MILVUS_GPU_VERSION
        knowhere::FaissGpuResourceMgr::GetInstance().InitDevice(DEVICEID, 1024 * 1024 * 200, 1024 * 1024 * 600, 2);
        int64_t MB = 1024 * 1024;
        knowhere::FaissGpuResourceMgr::GetInstance().InitDevice(DEVICEID, MB * 200, MB * 600, 1);
#endif
        Generate(256, 1000000 / 100, 1);
        index_ = std::make_shared<knowhere::NSG>();
+7 −2
Original line number Diff line number Diff line
@@ -134,7 +134,7 @@ IVFPQConfAdapter::Match(const TempMetaConf& metaconf) {

    /*
     * Faiss 1.6
     * Only 1, 2, 3, 4, 6, 8, 10, 12, 16, 20, 24, 28, 32 dims per sub-quantizer are currently supporte with
     * Only 1, 2, 3, 4, 6, 8, 10, 12, 16, 20, 24, 28, 32 dims per sub-quantizer are currently supported with
     * no precomputed codes. Precomputed codes supports any number of dimensions, but will involve memory overheads.
     */
    static std::vector<int64_t> support_dim_per_subquantizer{32, 28, 24, 20, 16, 12, 10, 8, 6, 4, 3, 2, 1};
@@ -152,7 +152,12 @@ IVFPQConfAdapter::Match(const TempMetaConf& metaconf) {

    if (resset.empty()) {
        // todo(linxj): throw exception here.
        return nullptr;
        WRAPPER_LOG_ERROR << "The dims of PQ is wrong : only 1, 2, 3, 4, 6, 8, 10, 12, 16, 20, 24, 28, 32 dims per sub-"
                             "quantizer are currently supported with no precomputed codes.";
        throw WrapperException(
            "The dims of PQ is wrong : only 1, 2, 3, 4, 6, 8, 10, 12, 16, 20, 24, 28, 32 dims "
            "per sub-quantizer are currently supported with no precomputed codes.");
        // return nullptr;
    }
    static int64_t compression_level = 1;  // 1:low, 2:high
    if (compression_level == 1) {
+1 −0
Original line number Diff line number Diff line
@@ -182,6 +182,7 @@ TEST_P(KnowhereWrapperTest, SERIALIZE_TEST) {
TEST(whatever, test_config) {
    milvus::engine::TempMetaConf conf;
    conf.nprobe = 16;
    conf.dim = 128;
    auto nsg_conf = std::make_shared<milvus::engine::NSGConfAdapter>();
    nsg_conf->Match(conf);
    nsg_conf->MatchSearch(conf, milvus::engine::IndexType::NSG_MIX);