summaryrefslogtreecommitdiffstats
path: root/eval
diff options
context:
space:
mode:
authorArne Juul <arnej@verizonmedia.com>2020-12-09 14:18:22 +0000
committerArne Juul <arnej@verizonmedia.com>2020-12-09 14:18:22 +0000
commitf37787e1510bd073748fdc0d0b991a22cc909ff0 (patch)
treed10b67c4668c884326ea420f055d81e97b79aa53 /eval
parentbcf36102b997b4276830706562ea9cb57ea1c15e (diff)
add TODO comments
Diffstat (limited to 'eval')
-rw-r--r--eval/src/vespa/eval/tensor/dense/dense_add_dimension_optimizer.h1
-rw-r--r--eval/src/vespa/eval/tensor/dense/dense_fast_rename_optimizer.h1
-rw-r--r--eval/src/vespa/eval/tensor/dense/dense_pow_as_map_optimizer.h1
-rw-r--r--eval/src/vespa/eval/tensor/dense/dense_remove_dimension_optimizer.h1
-rw-r--r--eval/src/vespa/eval/tensor/dense/dense_replace_type_function.h1
-rw-r--r--eval/src/vespa/eval/tensor/dense/dense_simple_join_function.h2
-rw-r--r--eval/src/vespa/eval/tensor/dense/dense_simple_map_function.h1
-rw-r--r--eval/src/vespa/eval/tensor/dense/dense_single_reduce_function.h2
-rw-r--r--eval/src/vespa/eval/tensor/dense/dense_tensor_create_function.h1
-rw-r--r--eval/src/vespa/eval/tensor/dense/vector_from_doubles_function.h2
10 files changed, 13 insertions, 0 deletions
diff --git a/eval/src/vespa/eval/tensor/dense/dense_add_dimension_optimizer.h b/eval/src/vespa/eval/tensor/dense/dense_add_dimension_optimizer.h
index 4b5cf296292..8d52c835261 100644
--- a/eval/src/vespa/eval/tensor/dense/dense_add_dimension_optimizer.h
+++ b/eval/src/vespa/eval/tensor/dense/dense_add_dimension_optimizer.h
@@ -9,6 +9,7 @@ namespace vespalib::tensor {
/**
* Tensor function optimizer for efficient adding of dimensions with
* size 1 for dense tensors.
+ * TODO: extend to mixed tensors.
**/
struct DenseAddDimensionOptimizer {
static const eval::TensorFunction &optimize(const eval::TensorFunction &expr, Stash &stash);
diff --git a/eval/src/vespa/eval/tensor/dense/dense_fast_rename_optimizer.h b/eval/src/vespa/eval/tensor/dense/dense_fast_rename_optimizer.h
index bbcb38e1f80..0543c7117b9 100644
--- a/eval/src/vespa/eval/tensor/dense/dense_fast_rename_optimizer.h
+++ b/eval/src/vespa/eval/tensor/dense/dense_fast_rename_optimizer.h
@@ -9,6 +9,7 @@ namespace vespalib::tensor {
/**
* Tensor function optimizer for efficient non-transposing rename of a
* dense tensor.
+ * TODO: extend to mixed tensors.
**/
struct DenseFastRenameOptimizer {
static const eval::TensorFunction &optimize(const eval::TensorFunction &expr, Stash &stash);
diff --git a/eval/src/vespa/eval/tensor/dense/dense_pow_as_map_optimizer.h b/eval/src/vespa/eval/tensor/dense/dense_pow_as_map_optimizer.h
index 4849a10c070..6231db0e4bd 100644
--- a/eval/src/vespa/eval/tensor/dense/dense_pow_as_map_optimizer.h
+++ b/eval/src/vespa/eval/tensor/dense/dense_pow_as_map_optimizer.h
@@ -10,6 +10,7 @@ namespace vespalib::tensor {
* Tensor function optimizer for converting join expressions on the
* form 'join(tensor,<small integer constant>,f(x,y)(pow(x,y))' to
* expressions on the form 'map(tensor,f(x)(x*x...))'.
+ * TODO: extend to mixed tensors.
**/
struct DensePowAsMapOptimizer {
static const eval::TensorFunction &optimize(const eval::TensorFunction &expr, Stash &stash);
diff --git a/eval/src/vespa/eval/tensor/dense/dense_remove_dimension_optimizer.h b/eval/src/vespa/eval/tensor/dense/dense_remove_dimension_optimizer.h
index 64b057a62d8..2551bf4f072 100644
--- a/eval/src/vespa/eval/tensor/dense/dense_remove_dimension_optimizer.h
+++ b/eval/src/vespa/eval/tensor/dense/dense_remove_dimension_optimizer.h
@@ -9,6 +9,7 @@ namespace vespalib::tensor {
/**
* Tensor function optimizer for efficient removal of dimensions with
* size 1 for dense tensors.
+ * TODO: extend to mixed tensors.
**/
struct DenseRemoveDimensionOptimizer {
static const eval::TensorFunction &optimize(const eval::TensorFunction &expr, Stash &stash);
diff --git a/eval/src/vespa/eval/tensor/dense/dense_replace_type_function.h b/eval/src/vespa/eval/tensor/dense/dense_replace_type_function.h
index adf5023b0cb..f72dcb6bd23 100644
--- a/eval/src/vespa/eval/tensor/dense/dense_replace_type_function.h
+++ b/eval/src/vespa/eval/tensor/dense/dense_replace_type_function.h
@@ -9,6 +9,7 @@ namespace vespalib::tensor {
/**
* Tensor function for efficient type-only modification of dense
* tensor.
+ * TODO: extend to handling any tensor, dense/mixed/sparse.
**/
class DenseReplaceTypeFunction : public eval::tensor_function::Op1
{
diff --git a/eval/src/vespa/eval/tensor/dense/dense_simple_join_function.h b/eval/src/vespa/eval/tensor/dense/dense_simple_join_function.h
index 4cb4a0fc4ff..48eb73fe09a 100644
--- a/eval/src/vespa/eval/tensor/dense/dense_simple_join_function.h
+++ b/eval/src/vespa/eval/tensor/dense/dense_simple_join_function.h
@@ -9,6 +9,8 @@ namespace vespalib::tensor {
/**
* Tensor function for simple join operations on dense tensors.
+ * TODO: consider if this is useful anymore, maybe we just need
+ * to handle inplace.
**/
class DenseSimpleJoinFunction : public eval::tensor_function::Join
{
diff --git a/eval/src/vespa/eval/tensor/dense/dense_simple_map_function.h b/eval/src/vespa/eval/tensor/dense/dense_simple_map_function.h
index 02a81ec137b..f179b36ebc6 100644
--- a/eval/src/vespa/eval/tensor/dense/dense_simple_map_function.h
+++ b/eval/src/vespa/eval/tensor/dense/dense_simple_map_function.h
@@ -8,6 +8,7 @@ namespace vespalib::tensor {
/**
* Tensor function for simple map operations on dense tensors.
+ * TODO: Fix generic map to handle inplace, and remove this.
**/
class DenseSimpleMapFunction : public eval::tensor_function::Map
{
diff --git a/eval/src/vespa/eval/tensor/dense/dense_single_reduce_function.h b/eval/src/vespa/eval/tensor/dense/dense_single_reduce_function.h
index 8bdcf82d4ab..33027ebc930 100644
--- a/eval/src/vespa/eval/tensor/dense/dense_single_reduce_function.h
+++ b/eval/src/vespa/eval/tensor/dense/dense_single_reduce_function.h
@@ -30,6 +30,8 @@ make_dense_single_reduce_list(const eval::ValueType &type, eval::Aggr aggr,
* operation. Adjacent reduced dimensions will be handled is if they
* were a single dimension. Trivial dimensions will be trivially
* reduced along with any other dimension.
+ * TODO: consider if we should extend this to handling mixed tensors
+ * (handling the spare part as a batch dimension).
**/
class DenseSingleReduceFunction : public eval::tensor_function::Op1
{
diff --git a/eval/src/vespa/eval/tensor/dense/dense_tensor_create_function.h b/eval/src/vespa/eval/tensor/dense/dense_tensor_create_function.h
index c0c238a2a89..7ca906ae38b 100644
--- a/eval/src/vespa/eval/tensor/dense/dense_tensor_create_function.h
+++ b/eval/src/vespa/eval/tensor/dense/dense_tensor_create_function.h
@@ -8,6 +8,7 @@ namespace vespalib::tensor {
/**
* Tensor function for creating a dense tensor from double values.
+ * TODO: benchmark how useful this is, maybe we can just drop it.
*/
class DenseTensorCreateFunction : public eval::TensorFunction
{
diff --git a/eval/src/vespa/eval/tensor/dense/vector_from_doubles_function.h b/eval/src/vespa/eval/tensor/dense/vector_from_doubles_function.h
index d21a339e7d9..739c8721a47 100644
--- a/eval/src/vespa/eval/tensor/dense/vector_from_doubles_function.h
+++ b/eval/src/vespa/eval/tensor/dense/vector_from_doubles_function.h
@@ -8,6 +8,8 @@ namespace vespalib::tensor {
/**
* Tensor function for a concat forming a vector from double values
+ * TODO: consider removing this, since the user can write a tensor
+ * create expression instead.
*/
class VectorFromDoublesFunction : public eval::TensorFunction
{