[TensorPool] Check tensor type in view
authorDonghyeon Jeong <dhyeon.jeong@samsung.com>
Tue, 22 Aug 2023 01:59:59 +0000 (10:59 +0900)
committerJijoong Moon <jijoong.moon@samsung.com>
Tue, 22 Aug 2023 07:10:32 +0000 (16:10 +0900)
This PR enables the TensorPool view to filter call from different tensor type

**Self evaluation:**
1. Build test:   [X]Passed [ ]Failed [ ]Skipped
2. Run test:     [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Donghyeon Jeong <dhyeon.jeong@samsung.com>
nntrainer/tensor/tensor_pool.cpp

index ba1021c..de45099 100644 (file)
@@ -62,6 +62,13 @@ Tensor *TensorPool::view(const std::string &name, const std::string &reference,
                          const std::vector<unsigned int> &exec_order,
                          TensorLifespan lifespan, const size_t offset) {
   auto &spec = getSourceSpec(reference);
+
+  NNTR_THROW_IF(spec.tensor->getDataType() != dim.getDataType() ||
+                  spec.tensor->getFormat() != dim.getFormat(),
+                std::invalid_argument)
+    << "view tensor type != source tensor type, view tensor type: " << dim
+    << " source tensor: " << spec.tensor->getDim();
+
   unsigned adjusted_offset = std::visit(
     [](const auto &s) {
       using T = std::decay_t<decltype(s)>;