if (!exec_info_.empty()) {
        // Skip functions that aren't supposed to be executed
      }
  // Creates an InputBuffer and moves the output to the corresponding input position
  InputBuffer input_buffer(next.function->num_inputs());
  input_buffer.add(next.input_nr,
                   std::move(output),
                   opt_parent_stream,
                   opt_next_stream);

  if (is_ready) {
    auto queue = ready_queue(cpu_ready_queue, input_buffer.device());
    queue->push(
        NodeTask(graph_task, next.function, std::move(input_buffer)));
  } else {
    not_ready.emplace(next.function.get(), std::move(input_buffer));
  }

```