onnxruntime/tools/ci_build
Scott McKay 697dd12f6e
Re-organize the transpose optimization and layout transformation files. (#16246)
### Description
<!-- Describe your changes. -->
Split out the more basic changes from #15552 for easier review.

Re-organize to clarify the structure
- Separate out generic base functionality from ORT specific components
  - pass in handlers for internal ORT ops to Optimize
- Split out layout transformation from transpose optimization
- Separate out level 1 transpose optimizer
- Cleanup some naming to try and clarify things like an optimizer vs.
general optimization code

Most of the changes are from this movement of code.

Two implementation changes:
- the extended handlers are queried first in GetHandler
- allows the extended handlers to override the default behaviour for an
ONNX operator
- simplify the Optimize function to remove OptimizerMode. 
- `can_modify_node` is used instead of `mode` and
`ignore_assigned_nodes` and a long description of the current usage is
added. I don't _think_ that changes the current behavior and hopefully
clarifies what happens and when, and makes the base transpose optimizer
implementation more generic.

### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
- If it fixes an open issue, please link to the issue here. -->
Create a cleaner separation to support adding EP specific logic next to
cleanly handle where an EP has additional layout sensitive behaviour
required (e.g. it's Resize implementation only handles one layout).
2023-07-07 08:24:47 +10:00
..
github Add compiler cache in linux wasm build (#16579) 2023-07-06 06:58:48 +08:00
__init__.py
amd_hipify.py
build.py Treat Objective-C static analysis warnings as errors (#16293) 2023-06-09 08:51:49 -07:00
clean_docker_image_cache.py
compile_triton.py integrate triton into ort (#15862) 2023-05-17 09:35:28 +08:00
coverage.py
gen_def.py Basic CSharp packaging support for ROCm EP (#15535) 2023-05-16 07:27:38 +08:00
get_docker_image.py
logger.py
op_registration_utils.py Introduce float 8 types (#14731) 2023-05-30 13:25:58 -07:00
op_registration_validator.py Introduce float 8 types (#14731) 2023-05-30 13:25:58 -07:00
patch_manylinux.py
policheck_exclusions.xml
reduce_op_kernels.py Re-organize the transpose optimization and layout transformation files. (#16246) 2023-07-07 08:24:47 +10:00
replace_urls_in_deps.py
requirements.txt Bump transformers from 4.24.0 to 4.30.0 in /tools/ci_build (#16331) 2023-06-16 13:08:46 -07:00
update_tsaoptions.py
upload_python_package_to_azure_storage.py