huajsj commented on a change in pull request #8497:
URL: https://github.com/apache/tvm/pull/8497#discussion_r678565329
##########
File path: src/runtime/graph_executor/graph_executor.cc
##########
@@ -384,9 +446,15 @@ void GraphExecutor::SetupOpExecs() {
for (size_t i = 0; i < inode.inputs.size(); i++) {
uint32_t eid = this->entry_id(inode.inputs[i]);
- // check if op input is model input
- if (input_node_eids.count(eid) > 0) {
-
input_dltensors_[eid].push_back(static_cast<DLTensor*>(op_args->arg_values[i].v_handle));
+
input_dltensors_[eid].push_back(static_cast<DLTensor*>(op_args->arg_values[i].v_handle));
+ }
+
+ // check if op output is model output
+ if (output_node_id.count(nid) > 0) {
+ for (uint32_t index = inode.inputs.size();
+ index < inode.param.num_outputs + inode.param.num_inputs; ++index) {
Review comment:
index < inode.inputs.size() + inode.param.num_outputs;
##########
File path: src/runtime/graph_executor/graph_executor.cc
##########
@@ -389,6 +434,13 @@ void GraphExecutor::SetupOpExecs() {
input_dltensors_[eid].push_back(static_cast<DLTensor*>(op_args->arg_values[i].v_handle));
}
}
+ // check if op output is model output
+ if (output_node_id.count(nid) > 0) {
+ for (uint32_t index = inode.inputs.size();
+ index < inode.param.num_outputs + inode.param.num_inputs; ++index) {
+
output_dltensors_.push_back(static_cast<DLTensor*>(op_args->arg_values[index].v_handle));
Review comment:
about the disorder solution, SetInputZeroCopy use map of entry_id and
v_handle to fix disorder issue, how about use similar logic like following
here?
//*.h
std::vector<std::vector<DLTensor*>> output_dltensors_;
//*.cc
output_eid = this->entry_id(nid, index - inode.inputs.size())
output_dltensors_[output_eid].push_back(static_cast<DLTensor*>(op_args->arg_values[index].v_handle));
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]