onnxruntime/tools/ci_build/github/azure-pipelines/templates
liqun Fu cd7112f800
Integration with ONNX 1.16.0 (#19745)
### Description
update with ONNX 1.16.0 branch according to
https://github.com/microsoft/onnxruntime/blob/main/docs/How_To_Update_ONNX_Dev_Notes.md

ONNX 1.16.0 release notes:
https://github.com/onnx/onnx/releases/tag/v1.16.0

#### Updated ops for CPU EP:
- DequantizeLinear(21)
  - Added int16 and uint16 support + various optimizer tests
  - Missing int4 and uint4 support
  - Missing block dequantization support
- QuantizeLinear(21)
  - Added int16 and uint16 support + various optimizer tests
  - Missing int4 and uint4 support
  - Missing block quantization support
- Cast(21)
  - Missing int4 and uint4 support
- CastLike(21)
  - Missing int4 and uint4 support
- ConstantOfShape(21)
  - Missing int4 and uint4 support
- Identity(21)
  - Missing int4 and uint4 support
- If(21)
  - Missing int4 and uint4 support
- Loop(21)
  - Missing int4 and uint4 support
- Reshape(21)
  - Missing int4 and uint4 support
- Scan(21)
  - Missing int4 and uint4 support
- Shape(21)
  - Missing int4 and uint4 support
- Size(21)
  - Missing int4 and uint4 support
- Flatten(21)
- Missing float8e4m3fnuz, float8e5m2, float8e5m2fnuz, int4, and uint4
support
- Pad(21)
- Missing float8e4m3fnuz, float8e5m2, float8e5m2fnuz, int4, and uint4
support
- Squeeze(21)
- Missing float8e4m3fnuz, float8e5m2, float8e5m2fnuz, int4, and uint4
support
- Transpose(21)
- Missing float8e4m3fnuz, float8e5m2, float8e5m2fnuz, int4, and uint4
support
- Unsqueeze(21)
- Missing float8e4m3fnuz, float8e5m2, float8e5m2fnuz, int4, and uint4
support

#### Unimplemented opset 21 features/ops
- int4 and uint4 data type
- QLinearMatMul(21)
- GroupNormalization(21)
- ai.onnx.ml.TreeEnsemble(5)

### 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. -->

### Disabled tests
#### ORT Training

orttraining/orttraining/test/python/orttraining_test_ort_apis_py_bindings.py
- test_ort_custom_ops: Potential shape inference bug for custom ops

#### Python quantization unit tests
test/onnx/python/quantization (shape inference bug)
- test_op_conv_transpose.py: test_quantize_conv_transpose_u8u8_fp16
- test_op_conv_transpose.py: test_quantize_conv_transpose_s8s8_fp16
- test_op_gemm.py: test_quantize_qop_gemm_s8s8
- test_op_gemm.py: test_quantize_qop_gemm_e4m3fn_same
 - test_op_gemm.py: test_quantize_qop_gemm_e4m3fn_p3
- test_op_matmul.py: test_quantize_matmul_u8u8_f16
- test_op_matmul.py: test_quantize_matmul_s8s8_f16
- test_op_matmul.py: test_quantize_matmul_s8s8_f16_entropy
- test_op_matmul.py: test_quantize_matmul_s8s8_f16_percentile
- test_op_matmul.py: test_quantize_matmul_s8s8_f16_distribution
- test_op_relu.py: test_quantize_qop_relu_s8s8

#### ONNX tests
- test_maxpool_2d_ceil_output_size_reduce_by_one: ONNX 1.16.0 fixed a
maxpool output size bug and added this test. Enable this test when [ORT
PR](https://github.com/microsoft/onnxruntime/pull/18377) is merged.
Refer to original [ONNX PR](https://github.com/onnx/onnx/pull/5741).
- test_ai_onnx_ml_tree_ensemble_set_membership_cpu: new unimplemented op
ai.onnx.ml.TreeEnsemble
- test_ai_onnx_ml_tree_ensemble_single_tree_cpu: same
- test_ai_onnx_ml_tree_ensemble_set_membership_cuda: same
- test_ai_onnx_ml_tree_ensemble_single_tree_cuda: same
- test_cast_INT4_to_FLOAT_cpu: ORT Cast(21) impl doesn't support int4
yet
- test_cast_INT4_to_INT8_cpu: same
- test_cast_UINT4_to_FLOAT_cpu: same
- test_cast_UINT4_to_UINT8_cpu: same
- test_cast_INT4_to_FLOAT_cuda
- test_cast_INT4_to_INT8_cuda
- test_cast_UINT4_to_FLOAT_cuda
- test_cast_UINT4_to_UINT8_cuda
- test_constantofshape_float_ones_cuda: ConstantOfShape(21) not
implemented for cuda
- test_constantofshape_int_shape_zero_cuda: same
- test_constantofshape_int_zeros_cuda: same
- test_flatten_axis0_cuda: Flatten(21) not implemented for cuda
- test_flatten_axis1_cuda: same
- test_flatten_axis2_cuda: same
- test_flatten_axis3_cuda: same
- test_flatten_default_axis_cuda: same
- test_flatten_negative_axis1_cuda: same
- test_flatten_negative_axis2_cuda: same
- test_flatten_negative_axis3_cuda: same
- test_flatten_negative_axis4_cuda: same
- test_qlinearmatmul_2D_int8_float16_cpu: QLinearMatMul(21) for onnx not
implemented in ORT yet
- test_qlinearmatmul_2D_int8_float32_cpu: same
- test_qlinearmatmul_2D_uint8_float16_cpu: same
- test_qlinearmatmul_2D_uint8_float32_cpu: same
- test_qlinearmatmul_3D_int8_float16_cpu: same
- test_qlinearmatmul_3D_int8_float32_cpu: same
- test_qlinearmatmul_3D_uint8_float16_cpu: same
- test_qlinearmatmul_3D_uint8_float32_cpu: same
- test_qlinearmatmul_2D_int8_float16_cuda: same
- test_qlinearmatmul_2D_int8_float32_cuda: same
- test_qlinearmatmul_2D_uint8_float16_cuda: same
- test_qlinearmatmul_2D_uint8_float32_cuda: same
- test_qlinearmatmul_3D_int8_float16_cuda: same
- test_qlinearmatmul_3D_int8_float32_cuda: same
- test_qlinearmatmul_3D_uint8_float16_cuda: same
- test_qlinearmatmul_3D_uint8_float32_cuda: same
- test_size_cuda: Size(21) not implemented for cuda
- test_size_example_cuda: same
- test_dequantizelinear_blocked: Missing implementation for block
dequant for DequantizeLinear(21)
- test_quantizelinear_blocked_asymmetric: Missing implementation for
block quant for QuantizeLinear(21)
- test_quantizelinear_blocked_symmetric: Missing implementation for
block quant for QuantizeLinear(21)

---------

Signed-off-by: liqunfu <liqun.fu@microsoft.com>
Signed-off-by: Ganesan Ramalingam <grama@microsoft.com>
Co-authored-by: Ganesan Ramalingam <grama@microsoft.com>
Co-authored-by: George Wu <jywu@microsoft.com>
Co-authored-by: adrianlizarraga <adlizarraga@microsoft.com>
2024-04-12 09:46:49 -07:00
..
jobs Install ONNX by buildling source code in Windows DML stage (#20079) 2024-03-27 12:29:34 -07:00
stages Switch a portion of CI/packaging jobs to MacOS12 (#19908) 2024-03-19 14:54:58 -07:00
android-binary-size-check-stage.yml
android-dump-logs-from-steps.yml
android-java-api-aar-test.yml
android-java-api-aar.yml
build-linux-wasm-step.yml
c-api-artifacts-package-and-publish-steps-posix.yml
c-api-artifacts-package-and-publish-steps-windows.yml
c-api-cpu.yml Fix training and macos ci pipelines (#20034) 2024-03-26 12:20:11 -07:00
c-api-linux-cpu.yml
check-cache-stats.yml
check_test_result.yml
clean-agent-build-directory-step.yml
common-variables.yml
compliance.yml
component-governance-component-detection-steps.yml
download-deps.yml Integration with ONNX 1.16.0 (#19745) 2024-04-12 09:46:49 -07:00
esrp_nuget.yml
explicitly-defined-final-tasks.yml
final-jar-testing.yml
flex-downloadPipelineArtifact.yml
get-docker-image-steps.yml
install-appcenter.yml
java-api-artifacts-package-and-publish-steps-posix.yml
linux-build-step-with-cache.yml
linux-ci.yml
linux-cpu-packaging-pipeline.yml
linux-gpu-tensorrt-packaging-pipeline.yml
linux-wasm-ci.yml
linux-web-init-and-check.yml
mac-build-step-with-cache.yml
mac-cpu-packaging-pipeline.yml Switch a portion of CI/packaging jobs to MacOS12 (#19908) 2024-03-19 14:54:58 -07:00
mac-cpu-packaging-steps.yml
mac-cpu-packing-jobs.yml [java] Java 21 build support (#19876) 2024-03-28 15:51:22 -07:00
mac-esrp-dylib.yml
make_java_win_binaries.yml Split more windows GPU workflow into 2 stages, building and testing, to make them more stable (#20080) 2024-03-28 12:55:44 +08:00
nodejs-artifacts-package-and-publish-steps-posix.yml
nodejs-artifacts-package-and-publish-steps-windows.yml
ondevice-training-cpu-packaging-pipeline.yml
orttraining-linux-gpu-test-ci-pipeline.yml
py-linux-gpu.yml Refactor Python CUDA packaging pipeline to fix random hangs in building (#19989) 2024-03-22 09:16:00 +08:00
py-linux.yml
py-package-smoking-test.yml
py-packaging-linux-test-cpu.yml
py-packaging-linux-test-cuda.yml
py-packaging-selectable-stage.yml
py-packaging-stage.yml Update QNN python packages to use QNN SDK version 2.19.2 (#20213) 2024-04-05 17:15:25 -07:00
py-packaging-training-cuda-stage-steps.yml Reuse T4 for Cuda12.2 training packaging pipeline. (#20244) 2024-04-10 09:21:40 +08:00
py-packaging-training-cuda-stage.yml Reuse T4 for Cuda12.2 training packaging pipeline. (#20244) 2024-04-10 09:21:40 +08:00
py-win-arm64-qnn.yml Update QNN python packages to use QNN SDK version 2.19.2 (#20213) 2024-04-05 17:15:25 -07:00
py-win-gpu.yml Integration with ONNX 1.16.0 (#19745) 2024-04-12 09:46:49 -07:00
py-win-x64-qnn.yml Update QNN python packages to use QNN SDK version 2.19.2 (#20213) 2024-04-05 17:15:25 -07:00
react-native-ci.yml
rocm.yml
run-docker-build-steps.yml
set-nightly-build-option-variable-step.yml
set-python-manylinux-variables-step.yml
set-version-number-variables-step.yml
telemetry-steps.yml
upload-code-coverage-data.yml
use-android-emulator.yml
use-android-ndk.yml
use-xcode-version.yml Fix training and macos ci pipelines (#20034) 2024-03-26 12:20:11 -07:00
validate-package.yml
web-browserstack-ci.yml
web-ci.yml
win-ci.yml Extend time out in Windows GPU packaging jobs (#20207) 2024-04-06 08:03:42 +08:00
win-esrp-dll.yml
win-wasm-ci.yml
win-web-ci.yml fix condition in web CI YAML (#20095) 2024-03-27 10:35:43 -07:00
win-web-multi-browsers.yml fix condition in web CI YAML (#20095) 2024-03-27 10:35:43 -07:00
with-container-registry-steps.yml