aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorArne Juul <arnej@verizonmedia.com>2020-12-02 11:51:31 +0000
committerArne Juul <arnej@verizonmedia.com>2020-12-02 11:51:31 +0000
commitf4f2f7c0b2fb2bb0f4d5819699c8ad923c832876 (patch)
tree107d8714be7db424582b7b5231bb19be54fbadf5 /searchlib
parent148a0fa5005eb5cc9e005b813cfeebbbb1073219 (diff)
compute num_subspaces as num_cells/dense_subspace_size
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/vespa/searchlib/tensor/streamed_value_store.cpp5
-rw-r--r--searchlib/src/vespa/searchlib/tensor/streamed_value_store.h3
2 files changed, 3 insertions, 5 deletions
diff --git a/searchlib/src/vespa/searchlib/tensor/streamed_value_store.cpp b/searchlib/src/vespa/searchlib/tensor/streamed_value_store.cpp
index 2e5e5a60b34..c4579880409 100644
--- a/searchlib/src/vespa/searchlib/tensor/streamed_value_store.cpp
+++ b/searchlib/src/vespa/searchlib/tensor/streamed_value_store.cpp
@@ -135,9 +135,9 @@ StreamedValueStore::get_tensor_data(EntryRef ref) const
check_alignment(source.peek(), CellTypeUtils::alignment(_data_from_type.cell_type));
retval.cells_ref = TypedCells(source.peek(), _data_from_type.cell_type, num_cells);
source.adjustReadPos(CellTypeUtils::mem_size(_data_from_type.cell_type, num_cells));
- retval.num_subspaces = source.readValue<uint32_t>();
+ assert((num_cells % _data_from_type.dense_subspace_size) == 0);
+ retval.num_subspaces = num_cells / _data_from_type.dense_subspace_size;
retval.labels_buffer = vespalib::ConstArrayRef<char>(source.peek(), source.size());
- assert(retval.num_subspaces * _data_from_type.dense_subspace_size == num_cells);
retval.valid = true;
return retval;
}
@@ -161,7 +161,6 @@ StreamedValueStore::serialize_labels(const Value::Index &index,
vespalib::nbostream &target) const
{
uint32_t num_subspaces = index.size();
- target << num_subspaces;
uint32_t num_mapped_dims = _data_from_type.num_mapped_dimensions;
std::vector<vespalib::stringref> labels(num_mapped_dims * num_subspaces);
auto view = index.create_view({});
diff --git a/searchlib/src/vespa/searchlib/tensor/streamed_value_store.h b/searchlib/src/vespa/searchlib/tensor/streamed_value_store.h
index ad43307fc02..de94dc043d3 100644
--- a/searchlib/src/vespa/searchlib/tensor/streamed_value_store.h
+++ b/searchlib/src/vespa/searchlib/tensor/streamed_value_store.h
@@ -31,8 +31,7 @@ namespace search::tensor {
* [bytes] : [format] : [description]
* 4 : n.b.o. uint32_ t : num cells = ND * DS
* CS * ND * DS : native float or double : cells
- * 4 : n.b.o. uint32_t : number of subspaces = ND
- * (depends) : n.b.o. strings : labels
+ * (depends) : n.b.o. strings : ND * MD label strings
*
* Here, n.b.o. means network byte order, or more precisely
* it's the format vespalib::nbostream uses for the given data type,