mirror of
https://gitee.com/milvus-io/milvus.git
synced 2025-12-29 06:55:27 +08:00
update
Signed-off-by: Zhiru Zhu <zzhu@fandm.edu>
This commit is contained in:
parent
a267c9a6fc
commit
f69861c2fd
@ -1,61 +0,0 @@
|
||||
// Copyright (C) 2019-2020 Zilliz. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
|
||||
// with the License. You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software distributed under the License
|
||||
// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
// or implied. See the License for the specific language governing permissions and limitations under the License.
|
||||
#ifdef MILVUS_GPU_VERSION
|
||||
#include "config/handler/GpuBuildResHandler.h"
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
namespace milvus {
|
||||
namespace server {
|
||||
|
||||
GpuBuildResHandler::GpuBuildResHandler() {
|
||||
server::Config& config = server::Config::GetInstance();
|
||||
config.GetGpuResourceConfigBuildIndexResources(build_gpus_);
|
||||
}
|
||||
|
||||
GpuBuildResHandler::~GpuBuildResHandler() {
|
||||
server::Config& config = server::Config::GetInstance();
|
||||
config.CancelCallBack(server::CONFIG_GPU_RESOURCE, server::CONFIG_GPU_RESOURCE_BUILD_INDEX_RESOURCES, identity_);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////
|
||||
void
|
||||
GpuBuildResHandler::OnGpuBuildResChanged(const std::vector<int64_t>& gpus) {
|
||||
build_gpus_ = gpus;
|
||||
}
|
||||
|
||||
void
|
||||
GpuBuildResHandler::AddGpuBuildResListener() {
|
||||
server::Config& config = server::Config::GetInstance();
|
||||
server::ConfigCallBackF lambda = [this](const std::string& value) -> Status {
|
||||
server::Config& config = server::Config::GetInstance();
|
||||
std::vector<int64_t> gpu_ids;
|
||||
auto status = config.GetGpuResourceConfigSearchResources(gpu_ids);
|
||||
if (status.ok()) {
|
||||
OnGpuBuildResChanged(gpu_ids);
|
||||
}
|
||||
|
||||
return status;
|
||||
};
|
||||
config.RegisterCallBack(server::CONFIG_GPU_RESOURCE, server::CONFIG_GPU_RESOURCE_BUILD_INDEX_RESOURCES, identity_,
|
||||
lambda);
|
||||
}
|
||||
|
||||
void
|
||||
GpuBuildResHandler::RemoveGpuBuildResListener() {
|
||||
auto& config = server::Config::GetInstance();
|
||||
config.CancelCallBack(server::CONFIG_GPU_RESOURCE, server::CONFIG_GPU_RESOURCE_BUILD_INDEX_RESOURCES, identity_);
|
||||
}
|
||||
|
||||
} // namespace server
|
||||
} // namespace milvus
|
||||
#endif
|
||||
@ -1,44 +0,0 @@
|
||||
// Copyright (C) 2019-2020 Zilliz. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
|
||||
// with the License. You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software distributed under the License
|
||||
// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
// or implied. See the License for the specific language governing permissions and limitations under the License.
|
||||
#ifdef MILVUS_GPU_VERSION
|
||||
#pragma once
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include "config/handler/GpuResourcesHandler.h"
|
||||
|
||||
namespace milvus {
|
||||
namespace server {
|
||||
|
||||
class GpuBuildResHandler : virtual public GpuResourcesHandler {
|
||||
public:
|
||||
GpuBuildResHandler();
|
||||
|
||||
~GpuBuildResHandler();
|
||||
|
||||
public:
|
||||
virtual void
|
||||
OnGpuBuildResChanged(const std::vector<int64_t>& gpus);
|
||||
|
||||
protected:
|
||||
void
|
||||
AddGpuBuildResListener();
|
||||
|
||||
void
|
||||
RemoveGpuBuildResListener();
|
||||
|
||||
protected:
|
||||
std::vector<int64_t> build_gpus_;
|
||||
};
|
||||
|
||||
} // namespace server
|
||||
} // namespace milvus
|
||||
#endif
|
||||
@ -1,64 +0,0 @@
|
||||
|
||||
// Copyright (C) 2019-2020 Zilliz. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
|
||||
// with the License. You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software distributed under the License
|
||||
// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
// or implied. See the License for the specific language governing permissions and limitations under the License.
|
||||
#ifdef MILVUS_GPU_VERSION
|
||||
#include "config/handler/GpuResourcesHandler.h"
|
||||
|
||||
namespace milvus {
|
||||
namespace server {
|
||||
|
||||
GpuResourcesHandler::GpuResourcesHandler() {
|
||||
server::Config& config = server::Config::GetInstance();
|
||||
config.GetGpuResourceConfigEnable(gpu_enable_);
|
||||
}
|
||||
|
||||
GpuResourcesHandler::~GpuResourcesHandler() {
|
||||
RemoveGpuEnableListener();
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////
|
||||
void
|
||||
GpuResourcesHandler::OnGpuEnableChanged(bool enable) {
|
||||
gpu_enable_ = enable;
|
||||
}
|
||||
|
||||
void
|
||||
GpuResourcesHandler::SetIdentity(const std::string& identity) {
|
||||
server::Config& config = server::Config::GetInstance();
|
||||
config.GenUniqueIdentityID(identity, identity_);
|
||||
}
|
||||
|
||||
void
|
||||
GpuResourcesHandler::AddGpuEnableListener() {
|
||||
server::Config& config = server::Config::GetInstance();
|
||||
|
||||
server::ConfigCallBackF lambda = [this](const std::string& value) -> Status {
|
||||
server::Config& config = server::Config::GetInstance();
|
||||
bool enable;
|
||||
auto status = config.GetGpuResourceConfigEnable(enable);
|
||||
if (status.ok()) {
|
||||
OnGpuEnableChanged(enable);
|
||||
}
|
||||
|
||||
return status;
|
||||
};
|
||||
config.RegisterCallBack(server::CONFIG_GPU_RESOURCE, server::CONFIG_GPU_RESOURCE_ENABLE, identity_, lambda);
|
||||
}
|
||||
|
||||
void
|
||||
GpuResourcesHandler::RemoveGpuEnableListener() {
|
||||
server::Config& config = server::Config::GetInstance();
|
||||
config.CancelCallBack(server::CONFIG_GPU_RESOURCE, server::CONFIG_GPU_RESOURCE_ENABLE, identity_);
|
||||
}
|
||||
|
||||
} // namespace server
|
||||
} // namespace milvus
|
||||
#endif
|
||||
@ -1,50 +0,0 @@
|
||||
// Copyright (C) 2019-2020 Zilliz. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
|
||||
// with the License. You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software distributed under the License
|
||||
// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
// or implied. See the License for the specific language governing permissions and limitations under the License.
|
||||
#ifdef MILVUS_GPU_VERSION
|
||||
#pragma once
|
||||
|
||||
#include <exception>
|
||||
#include <limits>
|
||||
#include <string>
|
||||
|
||||
#include "server/Config.h"
|
||||
|
||||
namespace milvus {
|
||||
namespace server {
|
||||
|
||||
class GpuResourcesHandler {
|
||||
public:
|
||||
GpuResourcesHandler();
|
||||
|
||||
~GpuResourcesHandler();
|
||||
|
||||
protected:
|
||||
virtual void
|
||||
OnGpuEnableChanged(bool enable);
|
||||
|
||||
protected:
|
||||
void
|
||||
SetIdentity(const std::string& identity);
|
||||
|
||||
void
|
||||
AddGpuEnableListener();
|
||||
|
||||
void
|
||||
RemoveGpuEnableListener();
|
||||
|
||||
protected:
|
||||
bool gpu_enable_ = true;
|
||||
std::string identity_;
|
||||
};
|
||||
|
||||
} // namespace server
|
||||
} // namespace milvus
|
||||
#endif
|
||||
@ -1,99 +0,0 @@
|
||||
// Copyright (C) 2019-2020 Zilliz. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
|
||||
// with the License. You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software distributed under the License
|
||||
// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
// or implied. See the License for the specific language governing permissions and limitations under the License.
|
||||
#ifdef MILVUS_GPU_VERSION
|
||||
#include "config/handler/GpuSearchResHandler.h"
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "server/Config.h"
|
||||
|
||||
namespace milvus {
|
||||
namespace server {
|
||||
|
||||
GpuSearchResHandler::GpuSearchResHandler() {
|
||||
server::Config& config = server::Config::GetInstance();
|
||||
|
||||
Status s = config.GetEngineConfigGpuSearchThreshold(threshold_);
|
||||
if (!s.ok()) {
|
||||
threshold_ = std::numeric_limits<int32_t>::max();
|
||||
}
|
||||
|
||||
config.GetGpuResourceConfigSearchResources(search_gpus_);
|
||||
}
|
||||
|
||||
GpuSearchResHandler::~GpuSearchResHandler() {
|
||||
RemoveGpuSearchThresholdListener();
|
||||
RemoveGpuSearchResListener();
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
void
|
||||
GpuSearchResHandler::OnGpuSearchThresholdChanged(int64_t threshold) {
|
||||
threshold_ = threshold;
|
||||
}
|
||||
|
||||
void
|
||||
GpuSearchResHandler::OnGpuSearchResChanged(const std::vector<int64_t>& gpus) {
|
||||
search_gpus_ = gpus;
|
||||
}
|
||||
|
||||
void
|
||||
GpuSearchResHandler::AddGpuSearchThresholdListener() {
|
||||
server::Config& config = server::Config::GetInstance();
|
||||
|
||||
server::ConfigCallBackF lambda_gpu_threshold = [this](const std::string& value) -> Status {
|
||||
server::Config& config = server::Config::GetInstance();
|
||||
int64_t threshold;
|
||||
auto status = config.GetEngineConfigGpuSearchThreshold(threshold);
|
||||
if (status.ok()) {
|
||||
OnGpuSearchThresholdChanged(threshold);
|
||||
}
|
||||
|
||||
return status;
|
||||
};
|
||||
config.RegisterCallBack(server::CONFIG_ENGINE, server::CONFIG_ENGINE_GPU_SEARCH_THRESHOLD, identity_,
|
||||
lambda_gpu_threshold);
|
||||
}
|
||||
|
||||
void
|
||||
GpuSearchResHandler::AddGpuSearchResListener() {
|
||||
server::Config& config = server::Config::GetInstance();
|
||||
|
||||
server::ConfigCallBackF lambda_gpu_search_res = [this](const std::string& value) -> Status {
|
||||
server::Config& config = server::Config::GetInstance();
|
||||
std::vector<int64_t> gpu_ids;
|
||||
auto status = config.GetGpuResourceConfigSearchResources(gpu_ids);
|
||||
if (status.ok()) {
|
||||
OnGpuSearchResChanged(gpu_ids);
|
||||
}
|
||||
|
||||
return status;
|
||||
};
|
||||
config.RegisterCallBack(server::CONFIG_GPU_RESOURCE, server::CONFIG_GPU_RESOURCE_SEARCH_RESOURCES, identity_,
|
||||
lambda_gpu_search_res);
|
||||
}
|
||||
|
||||
void
|
||||
GpuSearchResHandler::RemoveGpuSearchThresholdListener() {
|
||||
server::Config& config = server::Config::GetInstance();
|
||||
config.CancelCallBack(server::CONFIG_ENGINE, server::CONFIG_ENGINE_GPU_SEARCH_THRESHOLD, identity_);
|
||||
}
|
||||
|
||||
void
|
||||
GpuSearchResHandler::RemoveGpuSearchResListener() {
|
||||
auto& config = server::Config::GetInstance();
|
||||
config.CancelCallBack(server::CONFIG_GPU_RESOURCE, server::CONFIG_GPU_RESOURCE_SEARCH_RESOURCES, identity_);
|
||||
}
|
||||
|
||||
} // namespace server
|
||||
} // namespace milvus
|
||||
#endif
|
||||
@ -1,55 +0,0 @@
|
||||
// Copyright (C) 2019-2020 Zilliz. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
|
||||
// with the License. You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software distributed under the License
|
||||
// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
// or implied. See the License for the specific language governing permissions and limitations under the License.
|
||||
#ifdef MILVUS_GPU_VERSION
|
||||
#pragma once
|
||||
|
||||
#include <limits>
|
||||
#include <vector>
|
||||
|
||||
#include "config/handler/GpuResourcesHandler.h"
|
||||
|
||||
namespace milvus {
|
||||
namespace server {
|
||||
|
||||
class GpuSearchResHandler : virtual public GpuResourcesHandler {
|
||||
public:
|
||||
GpuSearchResHandler();
|
||||
|
||||
~GpuSearchResHandler();
|
||||
|
||||
public:
|
||||
virtual void
|
||||
OnGpuSearchThresholdChanged(int64_t threshold);
|
||||
|
||||
virtual void
|
||||
OnGpuSearchResChanged(const std::vector<int64_t>& gpus);
|
||||
|
||||
protected:
|
||||
void
|
||||
AddGpuSearchThresholdListener();
|
||||
|
||||
void
|
||||
AddGpuSearchResListener();
|
||||
|
||||
void
|
||||
RemoveGpuSearchThresholdListener();
|
||||
|
||||
void
|
||||
RemoveGpuSearchResListener();
|
||||
|
||||
protected:
|
||||
int64_t threshold_ = std::numeric_limits<int64_t>::max();
|
||||
std::vector<int64_t> search_gpus_;
|
||||
};
|
||||
|
||||
} // namespace server
|
||||
} // namespace milvus
|
||||
#endif
|
||||
Loading…
x
Reference in New Issue
Block a user