@tgsmdww
auto output = at::empty(…) -> output is a newly allocated tensor
auto c_output = output -> c_output and output share the same underlying storage
c_output = c_output.narrow -> c_output’s storage is not change.
c_output.copy_(c_input) -> c_output copy c_input into its storage
return output -> output shared storage with c_output due to above.