diff --git a/cpp/conf/server_config.template b/cpp/conf/server_config.template index 8cee387765d05934bb0480488f242007de6e3660..8d439b08effc4ebf90b27d8bc5951ce73c28b52f 100644 --- a/cpp/conf/server_config.template +++ b/cpp/conf/server_config.template @@ -74,6 +74,9 @@ resource_config: device_id: 0 enable_loader: true enable_executor: true + gpu_resource_num: 2 + pinned_memory: 300 + temp_memory: 300 # gtx1660: # type: GPU diff --git a/cpp/src/core/src/knowhere/index/vector_index/ivf.cpp b/cpp/src/core/src/knowhere/index/vector_index/ivf.cpp index 45c68886e2a9275c68ac1e59306aa46975c15e8d..c994cb99513e87e1db102844975802afc87fc381 100644 --- a/cpp/src/core/src/knowhere/index/vector_index/ivf.cpp +++ b/cpp/src/core/src/knowhere/index/vector_index/ivf.cpp @@ -357,9 +357,9 @@ void BasicIndex::SealImpl() { if (idx != nullptr) { idx->to_readonly(); } - else { - KNOHWERE_ERROR_MSG("Seal failed"); - } + //else { + // KNOHWERE_ERROR_MSG("Seal failed"); + //} //#endif } diff --git a/cpp/src/scheduler/SchedInst.cpp b/cpp/src/scheduler/SchedInst.cpp index 43204f09465fc671453e12eab8d5ad7e2513dfe2..54548540a48c5188c4863cc4ab0deea34a7574f7 100644 --- a/cpp/src/scheduler/SchedInst.cpp +++ b/cpp/src/scheduler/SchedInst.cpp @@ -31,6 +31,9 @@ StartSchedulerService() { auto device_id = resconf.GetInt64Value(server::CONFIG_RESOURCE_DEVICE_ID); auto enable_loader = resconf.GetBoolValue(server::CONFIG_RESOURCE_ENABLE_LOADER); auto enable_executor = resconf.GetBoolValue(server::CONFIG_RESOURCE_ENABLE_EXECUTOR); + auto pinned_memory = resconf.GetInt64Value(server::CONFIG_RESOURCE_PIN_MEMORY); + auto temp_memory = resconf.GetInt64Value(server::CONFIG_RESOURCE_TEMP_MEMORY); + auto resource_num = resconf.GetInt64Value(server::CONFIG_RESOURCE_NUM); ResMgrInst::GetInstance()->Add(ResourceFactory::Create(resname, type, @@ -38,7 +41,9 @@ StartSchedulerService() { enable_loader, enable_executor)); - knowhere::FaissGpuResourceMgr::GetInstance().InitDevice(device_id); + pinned_memory = 1024 * 1024 * pinned_memory; + temp_memory = 1024 * 1024 * temp_memory; + knowhere::FaissGpuResourceMgr::GetInstance().InitDevice(device_id, pinned_memory, temp_memory, resource_num); } knowhere::FaissGpuResourceMgr::GetInstance().InitResource(); diff --git a/cpp/src/server/ServerConfig.h b/cpp/src/server/ServerConfig.h index f60617ba266a7ca08636f4e4e4f70921aeb81582..69ee67fa64a919f7592b53d0a1c2bf18ff528945 100644 --- a/cpp/src/server/ServerConfig.h +++ b/cpp/src/server/ServerConfig.h @@ -56,6 +56,9 @@ static const char* CONFIG_RESOURCE_MEMORY = "memory"; static const char* CONFIG_RESOURCE_DEVICE_ID = "device_id"; static const char* CONFIG_RESOURCE_ENABLE_LOADER = "enable_loader"; static const char* CONFIG_RESOURCE_ENABLE_EXECUTOR = "enable_executor"; +static const char* CONFIG_RESOURCE_NUM = "gpu_resource_num"; +static const char* CONFIG_RESOURCE_PIN_MEMORY = "pinned_memory"; +static const char* CONFIG_RESOURCE_TEMP_MEMORY = "temp_memory"; static const char* CONFIG_RESOURCE_CONNECTIONS = "connections"; static const char* CONFIG_SPEED_CONNECTIONS = "speed"; static const char* CONFIG_ENDPOINT_CONNECTIONS = "endpoint";