Memory scoping in NNVM

Is NNVM layer aware of memory scoping of variables represented as inputs and variables used in graph IR or not? For example, suppose I have the following graph IR:

@graph(%input1, %input2, %input3) {
%2 = tvm_op(%input1, %input2, num_outputs=1, num_inputs=2, func_name=‘f1’, flatten_data =‘0’)
$3 = tvm_op(%input3, %2, num_outputs=1, num_inputs=2, func_name=‘f2’, flatten_data=‘0’)

}

In this case, what’s the scope of %input1, assuming that it’s used only for the second tvm_op()? Does it come out right after the second tvm_op() is called, or after the whole tvm_op()'s in the graph?

Thanks.

all the ops in the graph take memory from global scope. If there is an intermediate result that we want to store in say shared memory or register, the graph fusor stage will fuse the operator together, and the scheduler will schedule that stage to the register file