Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
milvus
提交
c11c58a5
milvus
项目概览
BaiXuePrincess
/
milvus
与 Fork 源项目一致
从无法访问的项目Fork
通知
7
Star
4
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
milvus
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c11c58a5
编写于
8月 14, 2019
作者:
W
wxyu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
MS-355 Add copy interface in ExcutionEngine
Former-commit-id: 9320dde8c2452982c552f604289d2661e5c1907e
上级
0cd9a974
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
38 addition
and
3 deletion
+38
-3
cpp/CHANGELOG.md
cpp/CHANGELOG.md
+1
-0
cpp/src/db/engine/ExecutionEngine.h
cpp/src/db/engine/ExecutionEngine.h
+4
-0
cpp/src/db/engine/ExecutionEngineImpl.cpp
cpp/src/db/engine/ExecutionEngineImpl.cpp
+26
-0
cpp/src/db/engine/ExecutionEngineImpl.h
cpp/src/db/engine/ExecutionEngineImpl.h
+7
-3
未找到文件。
cpp/CHANGELOG.md
浏览文件 @
c11c58a5
...
...
@@ -15,6 +15,7 @@ Please mark all change in change log and use the ticket from JIRA.
-
MS-348 - Add ResourceFactory Test
-
MS-350 - Remove knowhere submodule
-
MS-354 - Add task class and interface in scheduler
-
MS-355 - Add copy interface in ExcutionEngine
## New Feature
-
MS-343 - Implement ResourceMgr
...
...
cpp/src/db/engine/ExecutionEngine.h
浏览文件 @
c11c58a5
...
...
@@ -42,6 +42,10 @@ public:
virtual
Status
Load
(
bool
to_cache
=
true
)
=
0
;
virtual
Status
CopyToGpu
(
uint64_t
device_id
)
=
0
;
virtual
Status
CopyToCpu
()
=
0
;
virtual
Status
Merge
(
const
std
::
string
&
location
)
=
0
;
virtual
Status
Search
(
long
n
,
...
...
cpp/src/db/engine/ExecutionEngineImpl.cpp
浏览文件 @
c11c58a5
...
...
@@ -143,6 +143,32 @@ Status ExecutionEngineImpl::Load(bool to_cache) {
return
Status
::
OK
();
}
Status
ExecutionEngineImpl
::
CopyToGpu
(
uint64_t
device_id
)
{
try
{
index_
=
index_
->
CopyToGpu
(
device_id
);
ENGINE_LOG_DEBUG
<<
"CPU to GPU"
<<
device_id
;
}
catch
(
knowhere
::
KnowhereException
&
e
)
{
ENGINE_LOG_ERROR
<<
e
.
what
();
return
Status
::
Error
(
e
.
what
());
}
catch
(
std
::
exception
&
e
)
{
return
Status
::
Error
(
e
.
what
());
}
return
Status
::
OK
();
}
Status
ExecutionEngineImpl
::
CopyToCpu
()
{
try
{
index_
=
index_
->
CopyToCpu
();
ENGINE_LOG_DEBUG
<<
"GPU to CPU"
;
}
catch
(
knowhere
::
KnowhereException
&
e
)
{
ENGINE_LOG_ERROR
<<
e
.
what
();
return
Status
::
Error
(
e
.
what
());
}
catch
(
std
::
exception
&
e
)
{
return
Status
::
Error
(
e
.
what
());
}
return
Status
::
OK
();
}
Status
ExecutionEngineImpl
::
Merge
(
const
std
::
string
&
location
)
{
if
(
location
==
location_
)
{
return
Status
::
Error
(
"Cannot Merge Self"
);
...
...
cpp/src/db/engine/ExecutionEngineImpl.h
浏览文件 @
c11c58a5
...
...
@@ -18,7 +18,7 @@ namespace engine {
class
ExecutionEngineImpl
:
public
ExecutionEngine
{
public:
public:
ExecutionEngineImpl
(
uint16_t
dimension
,
const
std
::
string
&
location
,
...
...
@@ -42,6 +42,10 @@ class ExecutionEngineImpl : public ExecutionEngine {
Status
Load
(
bool
to_cache
)
override
;
Status
CopyToGpu
(
uint64_t
device_id
)
override
;
Status
CopyToCpu
()
override
;
Status
Merge
(
const
std
::
string
&
location
)
override
;
Status
Search
(
long
n
,
...
...
@@ -56,12 +60,12 @@ class ExecutionEngineImpl : public ExecutionEngine {
Status
Init
()
override
;
private:
private:
VecIndexPtr
CreatetVecIndex
(
EngineType
type
);
VecIndexPtr
Load
(
const
std
::
string
&
location
);
protected:
protected:
VecIndexPtr
index_
=
nullptr
;
EngineType
build_type
;
EngineType
current_type
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录