diff --git a/src/scheduler/Scheduler.cpp b/src/scheduler/Scheduler.cpp index 1c41afd4a2765d364b0ce6035bf50d732179fe1c..d383a199b525b20885130fc3a66269486674d47c 100644 --- a/src/scheduler/Scheduler.cpp +++ b/src/scheduler/Scheduler.cpp @@ -195,7 +195,9 @@ std::vector<std::shared_ptr<Aidge::Scheduler::StaticSchedulingElement>> Aidge::S // be put back in the consumers list once the remaining consumers // have been exhausted. bool isStillConsumer = false; - for (IOIndex_t inputIdx = 0; inputIdx < consumer->nbInputs(); ++inputIdx) { + // Only look for data inputs. If no data is available on data input, + // by definition, no parameter can be consumed on parameter inputs. + for (IOIndex_t inputIdx = 0; inputIdx < consumer->nbData(); ++inputIdx) { AIDGE_LOG_CONTEXT("Consumer node {} input #{}", namePtrTable.at(consumer), inputIdx); if (consumer->getOperator()->getNbConsumedData(inputIdx) <