What does "op": "null", "name": "p0" mean in graph.json

I print the parameter graph_json in

void GraphExecutor::Init(const std::string& graph_json, tvm::runtime::Module module, const std::vector& devs, const PackedFunc lookup_linked_param_func) {

the graph includes operators like

{
  "op": "null", 
  "name": "p0", 
  "inputs": []
}, 
{
  "op": "null", 
  "name": "p1", 
  "inputs": []
}, 

What does this type of op means? I don’t unstand the function of that

“op”: “null”: Operation type “null” means it’s not actual operation or computation. Instead, it is an input node that supplies data or parameters to the computational graph.

names like p0, p1 are unique identifiers assigned to represent the model’s inputs or parameter nodes. I think TVM automatically generates these names during the compilation process based on the input order or parameter list.

Got it, another question by the way. When is the execution time for this type of operator? That is to say, will these operators wait until they are needed to take values, or will they be executed immediately after run()?