Changed the callback function GetProcessorFromContext to GetTargetFromContext,
so that we can use it to filter the clusterable op list, added a GetProcessorByTarget into AkgKernelJsonGenerator.
Moved the function IsKeepBasicNode, GetValidOps, OpListFilter from graph_kernel_helper
to graph_kernel_utils. combined the GetValidOps and OpListFilter.
Decoupled the pass getitem_tuple from "optimizer/common/helper.h", by deleting the checking
of input size. cnode->input(i) also checks the input index.
1. move functions from graph_kernel_helper.cc to graph_builder.cc:
the EliminateMakeTuple, implemented with SpreadTuples.
the ConvertNonscalarTensorToParameter, remove checking the equal tensor.
the IsTupleOutput (original IsMakeTupleOut), use recursion.
the CreateNewFuseCNode, remove the "output" argument; call SetNewKernelInfo in it.
the ReplaceNewFuseCNode,
the BuildSingleGraphFromNodes (original MixedNodesTransToGraph)
the ReplaceNodesWithGraphKernelNode (original FuseNodesToSubGraph)
2. create graph_kernel_utils.cc.
the ExtractGraphKernelName and SpreadTuples was moved to the file.
3. add SetNewKernelInfo to the callback functions.
only the GET functions are implemented now.
remove the calling of AnfAlgo's GET functions for node info from AkgKernelJsonGenerator.
And, bugfix in pass reorder_ops, which set attrs for the same prim::Cast primitive in different CNode.