This reverts commit b077aa1cab.
Revert "[feat] [assistant] [I3T96X] add new Dataset operator LibriSpeechDataset"
This reverts commit 4e6f7dc97d.
delete pass_registry_test.cc
comment hiai_nlu_model_multi.pb related line
Add a subdirectory "model" in the "backend/optimizer/graph_kernel" for litegraph.
Implement two interfaces "AnfGraph2LiteGraph" and "LiteGraph2AnfGraph".
The litegraph will be the base data structure when we migrate the GraphKernel code
from python("mindspore/_extends/graph_kernel") to c++.
1. Add a new message type "AKG/ATTR" in AkgKernelBuilder.
the attrs was sent before the kernel infos.
2. Send "online_tuning" attribute when the flag is not zero,
but error occurs in the latest akg submodule.
3. Send "repository_path" attribute when the flag is not empty.
4. Add a new value "compute_capability" into kernel info when the processor is GPU.
Refactor the original "PassManager" class, and derive the "GraphKernelPassManager"
GraphKernel's ir files are dumped into a new sub-directory "graph_kernel" in the original "verbose_ir_files"
All GraphKernel's passes are divided into 3 levels, and controlled by the flag "opt_level" by default.
when the opt_level is greaterequal to the pass's level, this pass will run.
The default "opt_level" is 2 when GraphKernel is enabled.
Levels:
1. Basic features, like cluster, splitter, and some preprocess, postprocess.
2. All stable features, mainly includes the optimization passes.
3. Experimental features, like stitch-fusion, parallel-fusion.
The two flags "enable_pass" and "disable_pass" are available in this commit.
User can manually enable some passes when it's disabled by "opt_level", or disable the enabled passes,
by specifying that pass in this format: "stage_id.pass_id" or "stage_name.pass_name", multiple passes are separated by comma(",")
the stage/pass index and stage/pass name can be found from the ir filename.
e.g. "--enable_pass=cluster.graph_kernel_expander,1.1,1.2"
Others:
1. the pass "tensor_promotion" is not useful, remove it.
2. put the pass "InsertPadOps" before "ArithmeticSimplify".
when the attr is a list that mixed with Int32Imm and Int64Imm (unreasonable, but it occured),
it will crash whether we use GetValue<std::vector<int>> or GetValue<std::vector<int64_t>>.
so we need to traverse the list and pick the numbers manually.
Decoupled from the front-end interfaces.
1. Removed the call to "Renormalize".
Completed the infer-format in model_builder.
Only used the device shape and device format to
infer an abstract shape without considering padding.
2. Removed the call to python's Primitive interfaces.
The "Renormalize" relies on the PrimitivePy, so they can be
removed together. After that, the functions "ConstAttrToInput",
"DeleteAttrInInput" and related can be removed.
3. Reuse the AkgKernelJsonGenerator in GraphKernelExpander.
1) set the attribute "extract_opinfo_from_anf" to true, so that
the generator can handle the basic operator with anf info.
2) added a function "extract_expand_info" in expander.py
to convert the json into a more friendly format. The attrs
was converted to a dict instead of a list.
4. Scalars only support DefaultFormat.
Removed the argument "format" from graph_builder.value
5. Moved the expander op list from graph_kernel_helper.cc to graph_kernel_expander.cc