Output arg modifier return maybe part_0 #5447
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Output arg modifier return maybe - part_0:
这次pr是形成 api层到 OutputArgModifer回调函数 完整的 maybe手工栈的第一部分,共两部分。
第二部分在:#5451
完整调用链为:
api层 -> f0(如CurJobBuildAndInferCtx_AddAndInferMirroredOp) -> f1(如AddAndInferMirroredOp)-> ConstructOp -> CheckAndConstructOp -> Operator->Init() -> Init() -> InitFromOpConf() -> output_arg_modify_fn
因ConstructOp会传染较多文件,故本次pr从output_arg_modify_fn截止到CheckAndConstructOp,使用了CHECK_JUST中断了手工栈
"""
std::shared_ptr CheckAndConstructOp(std::shared_ptr op_conf) {
...
CHECK_JUST(rptr->Init(op_conf));
...
}
"""
第二部分pr形成ConstructOp到api层手工栈。