diff --git a/src/operator/Memorize.cpp b/src/operator/Memorize.cpp index 61239071a99a9dfca8613ef78eba17757c4276b7..cd4a4808137a786b04d8d143e50b96b9648e7d9a 100644 --- a/src/operator/Memorize.cpp +++ b/src/operator/Memorize.cpp @@ -150,7 +150,7 @@ void Aidge::Memorize_Op::setBackend(const std::string& name, Aidge::DeviceIdx_t } void Aidge::Memorize_Op::forward() { - Operator::forward(); + OperatorTensor::forward(); ++mAttributes->template getAttr<MemorizeAttr::ForwardStep>(); mAttributes->template getAttr<MemorizeAttr::ScheduleStep>() = 0; } diff --git a/src/operator/Pop.cpp b/src/operator/Pop.cpp index cd5b18759cdd743f292054bca91ffee5da722ea6..a27e2745b8929e84456ac079d063d94ffa359679 100644 --- a/src/operator/Pop.cpp +++ b/src/operator/Pop.cpp @@ -24,6 +24,7 @@ Aidge::Elts_t Aidge::Pop_ProdConso::getNbRequiredData(const Aidge::IOIndex_t inp assert(mOp.getRawInput(inputIdx) && "requires valid input"); const Pop_Op& op = dynamic_cast<const Pop_Op&>(mOp); + AIDGE_ASSERT(!op.getInput(inputIdx)->empty(), "Pop operator requires known, non-empty, input dims for scheduling. You might have an unresolved data dependency upstream in the computing graph."); return Elts_t::DataElts(op.getInput(inputIdx)->size() / op.getInput(inputIdx)->dims()[0]); } @@ -93,7 +94,7 @@ std::set<std::string> Aidge::Pop_Op::getAvailableBackends() const { } void Aidge::Pop_Op::forward() { - Operator::forward(); + OperatorTensor::forward(); ++mAttributes->template getAttr<PopAttr::ForwardStep>(); }