[Segt] Allow non-zero input and output offset
authorAndrey Shedko <a.shedko@samsung.com>
Wed, 19 Jan 2022 09:41:41 +0000 (12:41 +0300)
committer심준영/NPU Lab(SR)/삼성전자 <jy0922.shim@samsung.com>
Mon, 7 Feb 2022 04:11:08 +0000 (13:11 +0900)
This commit allows input and output segments to have non-zero statring
offsets.

Signed-off-by: Andrey Shedko <a.shedko@samsung.com>
src/core/ne-model.cc
src/core/ne-model.h

index 3525d24523a457f570f21426f52caee751d57b9f..aa20ec08ead1b5b41e6570a69c3ce72a6eb08502 100644 (file)
@@ -200,11 +200,9 @@ Metadata_v3::createInstance (npubin_meta *meta) {
 
   if (metadata->getSegmentsNum () > MAX_SEGMENTS)
     goto sanity_violation;
-  if (metadata->getInputNum () > metadata->getSegmentsNum () ||
-      metadata->getInputNum () > MAX_TENSORS)
+  if (metadata->getInputNum () > MAX_TENSORS)
     goto sanity_violation;
-  if (metadata->getOutputNum () > metadata->getSegmentsNum () ||
-      metadata->getOutputNum () > MAX_TENSORS)
+  if (metadata->getOutputNum () > MAX_TENSORS)
     goto sanity_violation;
 
   if (metadata->getWeightSize () > 0 &&
index 45f127d98b79b5e958feaa07d740190a67417a42..09d43d2686cb5b7aac65eaac35c300d245b838b3 100644 (file)
@@ -233,8 +233,8 @@ class Metadata_v3 : public Metadata {
   uint32_t getInputNum () const override { return meta_->input_seg_num; }
   uint32_t getOutputNum () const override { return meta_->output_seg_num; }
 
-  uint32_t getInputOffset (uint32_t idx) const override { return 0; }
-  uint32_t getOutputOffset (uint32_t idx) const override { return 0; }
+  uint32_t getInputOffset (uint32_t idx) const override { return getInputSegmentOffset (idx); }
+  uint32_t getOutputOffset (uint32_t idx) const override { return getOutputSegmentOffset (idx); }
 
   uint32_t getInputTensorSize (uint32_t idx, data_layout layout) const override;
   uint32_t getOutputTensorSize (uint32_t idx, data_layout layout) const override;