Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
milvus
milvus
提交
5970450d
M
milvus
项目概览
milvus
/
milvus
9 个月 前同步成功
通知
260
Star
22476
Fork
2472
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
milvus
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
5970450d
编写于
12月 05, 2019
作者:
C
Cai Yudong
提交者:
Jin Hai
12月 05, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#705 fix search SQ8H crash without GPU resource (#706)
上级
8574b8b9
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
19 addition
and
7 deletion
+19
-7
CHANGELOG.md
CHANGELOG.md
+1
-0
core/src/db/engine/ExecutionEngineImpl.cpp
core/src/db/engine/ExecutionEngineImpl.cpp
+1
-0
core/src/wrapper/VecIndex.cpp
core/src/wrapper/VecIndex.cpp
+17
-7
未找到文件。
CHANGELOG.md
浏览文件 @
5970450d
...
...
@@ -52,6 +52,7 @@ Please mark all change in change log and use the ticket from JIRA.
-
\#
658 - Milvus error out when building SQ8H index without GPU resources
-
\#
668 - Update badge of README
-
\#
670 - Random failure of unittest db_test::SEARCH_TEST
-
\#
705 - Fix search SQ8H crash without GPU resource
## Feature
-
\#
12 - Pure CPU version for Milvus
...
...
core/src/db/engine/ExecutionEngineImpl.cpp
浏览文件 @
5970450d
...
...
@@ -634,6 +634,7 @@ ExecutionEngineImpl::Init() {
Status
s
=
config
.
GetGpuResourceConfigBuildIndexResources
(
gpu_ids
);
if
(
!
s
.
ok
())
{
gpu_num_
=
knowhere
::
INVALID_VALUE
;
return
s
;
}
for
(
auto
id
:
gpu_ids
)
{
if
(
gpu_num_
==
id
)
{
...
...
core/src/wrapper/VecIndex.cpp
浏览文件 @
5970450d
...
...
@@ -24,6 +24,8 @@
#include "knowhere/index/vector_index/IndexIVFSQ.h"
#include "knowhere/index/vector_index/IndexNSG.h"
#include "knowhere/index/vector_index/IndexSPTAG.h"
#include "server/Config.h"
#include "utils/Exception.h"
#include "utils/Log.h"
#ifdef MILVUS_GPU_VERSION
...
...
@@ -145,6 +147,10 @@ GetVecIndexFactory(const IndexType& type, const Config& cfg) {
index
=
std
::
make_shared
<
knowhere
::
GPUIVF
>
(
gpu_device
);
break
;
}
case
IndexType
::
FAISS_IVFFLAT_MIX
:
{
index
=
std
::
make_shared
<
knowhere
::
GPUIVF
>
(
gpu_device
);
return
std
::
make_shared
<
IVFMixIndex
>
(
index
,
IndexType
::
FAISS_IVFFLAT_MIX
);
}
case
IndexType
::
FAISS_IVFPQ_GPU
:
{
index
=
std
::
make_shared
<
knowhere
::
GPUIVFPQ
>
(
gpu_device
);
break
;
...
...
@@ -161,16 +167,20 @@ GetVecIndexFactory(const IndexType& type, const Config& cfg) {
index
=
std
::
make_shared
<
knowhere
::
GPUIVFSQ
>
(
gpu_device
);
break
;
}
case
IndexType
::
FAISS_IVFFLAT_MIX
:
{
index
=
std
::
make_shared
<
knowhere
::
GPUIVF
>
(
gpu_device
);
return
std
::
make_shared
<
IVFMixIndex
>
(
index
,
IndexType
::
FAISS_IVFFLAT_MIX
);
}
#endif
#ifdef CUSTOMIZATION
case
IndexType
::
FAISS_IVFSQ8_HYBRID
:
{
index
=
std
::
make_shared
<
knowhere
::
IVFSQHybrid
>
(
gpu_device
);
return
std
::
make_shared
<
IVFHybridIndex
>
(
index
,
IndexType
::
FAISS_IVFSQ8_HYBRID
);
server
::
Config
&
config
=
server
::
Config
::
GetInstance
();
bool
gpu_resource_enable
=
true
;
config
.
GetGpuResourceConfigEnable
(
gpu_resource_enable
);
if
(
gpu_resource_enable
)
{
index
=
std
::
make_shared
<
knowhere
::
IVFSQHybrid
>
(
gpu_device
);
return
std
::
make_shared
<
IVFHybridIndex
>
(
index
,
IndexType
::
FAISS_IVFSQ8_HYBRID
);
}
else
{
throw
Exception
(
DB_ERROR
,
"No GPU resources for IndexType::FAISS_IVFSQ8_HYBRID"
);
}
}
#endif
#endif
case
IndexType
::
NSG_MIX
:
{
// TODO(linxj): bug.
index
=
std
::
make_shared
<
knowhere
::
NSG
>
(
gpu_device
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录