Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
milvus
milvus
提交
25b8c373
M
milvus
项目概览
milvus
/
milvus
11 个月 前同步成功
通知
261
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,发现更多精彩内容 >>
未验证
提交
25b8c373
编写于
7月 13, 2021
作者:
D
dragondriver
提交者:
GitHub
7月 13, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix 6421, split raw vectors to serveral smaller one (#6449)
Signed-off-by:
N
dragondriver
<
jiquan.long@zilliz.com
>
上级
d822cfdb
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
16 addition
and
0 deletion
+16
-0
internal/core/src/indexbuilder/IndexWrapper.cpp
internal/core/src/indexbuilder/IndexWrapper.cpp
+13
-0
internal/core/src/indexbuilder/IndexWrapper.h
internal/core/src/indexbuilder/IndexWrapper.h
+3
-0
未找到文件。
internal/core/src/indexbuilder/IndexWrapper.cpp
浏览文件 @
25b8c373
...
@@ -21,6 +21,7 @@
...
@@ -21,6 +21,7 @@
#include "indexbuilder/utils.h"
#include "indexbuilder/utils.h"
#include "index/knowhere/knowhere/index/vector_index/ConfAdapterMgr.h"
#include "index/knowhere/knowhere/index/vector_index/ConfAdapterMgr.h"
#include "index/knowhere/knowhere/common/Timer.h"
#include "index/knowhere/knowhere/common/Timer.h"
#include "index/knowhere/knowhere/common/Utils.h"
namespace
milvus
{
namespace
milvus
{
namespace
indexbuilder
{
namespace
indexbuilder
{
...
@@ -239,6 +240,10 @@ IndexWrapper::Serialize() {
...
@@ -239,6 +240,10 @@ IndexWrapper::Serialize() {
std
::
shared_ptr
<
uint8_t
[]
>
raw_data
(
new
uint8_t
[
raw_data_
.
size
()],
std
::
default_delete
<
uint8_t
[]
>
());
std
::
shared_ptr
<
uint8_t
[]
>
raw_data
(
new
uint8_t
[
raw_data_
.
size
()],
std
::
default_delete
<
uint8_t
[]
>
());
memcpy
(
raw_data
.
get
(),
raw_data_
.
data
(),
raw_data_
.
size
());
memcpy
(
raw_data
.
get
(),
raw_data_
.
data
(),
raw_data_
.
size
());
binarySet
.
Append
(
RAW_DATA
,
raw_data
,
raw_data_
.
size
());
binarySet
.
Append
(
RAW_DATA
,
raw_data
,
raw_data_
.
size
());
auto
slice_size
=
get_index_file_slice_size
();
// https://github.com/milvus-io/milvus/issues/6421
// Disassemble will only divide the raw vectors, other keys was already divided
knowhere
::
Disassemble
(
slice_size
*
1024
*
1024
,
binarySet
);
}
}
namespace
indexcgo
=
milvus
::
proto
::
indexcgo
;
namespace
indexcgo
=
milvus
::
proto
::
indexcgo
;
...
@@ -317,6 +322,14 @@ IndexWrapper::get_index_mode() {
...
@@ -317,6 +322,14 @@ IndexWrapper::get_index_mode() {
return
mode
.
has_value
()
?
mode_map
[
mode
.
value
()]
:
knowhere
::
IndexMode
::
MODE_CPU
;
return
mode
.
has_value
()
?
mode_map
[
mode
.
value
()]
:
knowhere
::
IndexMode
::
MODE_CPU
;
}
}
int64_t
IndexWrapper
::
get_index_file_slice_size
()
{
if
(
config_
.
contains
(
knowhere
::
INDEX_FILE_SLICE_SIZE_IN_MEGABYTE
))
{
return
config_
[
knowhere
::
INDEX_FILE_SLICE_SIZE_IN_MEGABYTE
].
get
<
int64_t
>
();
}
return
4
;
// by default
}
std
::
unique_ptr
<
IndexWrapper
::
QueryResult
>
std
::
unique_ptr
<
IndexWrapper
::
QueryResult
>
IndexWrapper
::
Query
(
const
knowhere
::
DatasetPtr
&
dataset
)
{
IndexWrapper
::
Query
(
const
knowhere
::
DatasetPtr
&
dataset
)
{
return
std
::
move
(
QueryImpl
(
dataset
,
config_
));
return
std
::
move
(
QueryImpl
(
dataset
,
config_
));
...
...
internal/core/src/indexbuilder/IndexWrapper.h
浏览文件 @
25b8c373
...
@@ -65,6 +65,9 @@ class IndexWrapper {
...
@@ -65,6 +65,9 @@ class IndexWrapper {
knowhere
::
IndexMode
knowhere
::
IndexMode
get_index_mode
();
get_index_mode
();
int64_t
get_index_file_slice_size
();
template
<
typename
T
>
template
<
typename
T
>
std
::
optional
<
T
>
std
::
optional
<
T
>
get_config_by_name
(
std
::
string
name
);
get_config_by_name
(
std
::
string
name
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录