Merge branch 'branch-0.5.0-yk' into 'branch-0.5.0'

Add ToIndexData for CopyToIndexFileToGpu

See merge request megasearch/milvus!684

Former-commit-id: f7f497e86d3cce7604157d54f9ec09986429f3b8
pull/191/head
jinhai 2019-10-10 15:43:39 +08:00
commit 092ed2ecbc
3 changed files with 67 additions and 57 deletions

View File

@ -17,7 +17,6 @@
#pragma once
#include <memory>
namespace milvus {

View File

@ -243,12 +243,9 @@ ExecutionEngineImpl::CopyToGpu(uint64_t device_id) {
Status
ExecutionEngineImpl::CopyToIndexFileToGpu(uint64_t device_id) {
auto index = cache::GpuCacheMgr::GetInstance(device_id)->GetIndex(location_);
bool already_in_cache = (index != nullptr);
if (!already_in_cache) {
cache::DataObjPtr obj = std::make_shared<cache::DataObj>(nullptr, PhysicalSize());
auto to_index_data = std::make_shared<ToIndexData>(PhysicalSize());
cache::DataObjPtr obj = std::static_pointer_cast<cache::DataObj>(to_index_data);
milvus::cache::GpuCacheMgr::GetInstance(device_id)->InsertItem(location_, obj);
}
return Status::OK();
}

View File

@ -126,5 +126,19 @@ class BFIndex : public VecIndexImpl {
GetRawIds();
};
class ToIndexData : public cache::DataObj {
public:
explicit ToIndexData(int64_t size) : size_(size) {
}
int64_t
Size() override {
return size_;
}
private:
int64_t size_;
};
} // namespace engine
} // namespace milvus