Open cycheng opened 6 years ago
Test Case:
onnc::Module module; IRBuilder builder(module); ComputeGraph& cg = *builder.CreateComputeGraph("top-level");
ComputeOperator op1 = builder.AddComputeOp(); ComputeOperator op2 = builder.AddComputeOp(); ComputeOperator op3 = builder.AddComputeOp(); ComputeOperator op4 = builder.AddComputeOp();
// op1 op2 // \ / // op3 // | // op4 cg.addOperand(op1, op3); cg.addOperand(op2, op3); cg.addOperand(op3, op4);
Expect dfs traversing output: op1 op3 op4 op2 Actual output: op1
Got it. I'll write a unittest and resolve it.
Test Case:
onnc::Module module; IRBuilder builder(module); ComputeGraph& cg = *builder.CreateComputeGraph("top-level");
ComputeOperator op1 = builder.AddComputeOp();
ComputeOperator op2 = builder.AddComputeOp();
ComputeOperator op3 = builder.AddComputeOp();
ComputeOperator op4 = builder.AddComputeOp();
// op1 op2 // \ /(op1, op3);
cg.addOperand(op2, op3);
cg.addOperand(op3, op4);
// op3 // | // op4 cg.addOperand
Expect dfs traversing output: op1 op3 op4 op2 Actual output: op1