onnxruntime/onnxruntime/core/optimizer
Vincent Wang 4134cd9e42
Add Optional Redundant Clip Node to NodeUnit (#22888)
Currently we have Clip/Relu with Q fusion on level 2. But for EPs that
are using NodeUnit, these optimizers are not applied. If we want to
remove such redundant Clip/Relu nodes, we need to add code to handle it
for each EP separately.

The PR detects a Clip/Relu is made redundant with a Q node, and add this
information to the corresponding QDQ NodeUnit, so that EPs can ignore
it, and can handle the target node only in the QDQ NodeUnit.
2025-01-09 10:25:32 +08:00
..
compute_optimizer Enablement of onnxruntime for AIX and fixing issues related to big-endian platform. (#21133) 2024-07-17 12:37:06 -07:00
layout_transformation Fixed a minor bug in layout transformation for Resize (#21954) 2024-10-31 14:20:10 -07:00
qdq_transformer Add Optional Redundant Clip Node to NodeUnit (#22888) 2025-01-09 10:25:32 +08:00
selectors_actions add transform part of the dq matmul tool chain (#21374) 2024-07-19 22:55:15 -07:00
transpose_optimization Integrate onnx 1.17.0 (#21897) 2024-12-24 09:02:02 -08:00
attention_fusion.cc Security fuzz address sanitizer fix Bug (continue) (#21579) 2024-08-02 15:45:42 -07:00
attention_fusion.h Fix typos - 1st Wave (#21278) 2024-07-11 13:35:08 +08:00
attention_fusion_helper.h Address CodeQL security issues on comparison of different types (#23276) 2025-01-07 17:30:44 -08:00
bias_dropout_fusion.cc
bias_dropout_fusion.h
bias_gelu_fusion.cc [CUDA] Optimize BiasGelu/BiasGeluGrad Kernel (#16608) 2023-07-07 08:28:38 +08:00
bias_gelu_fusion.h
bias_softmax_fusion.cc Run clang-format in CI (#15524) 2023-04-18 09:26:58 -07:00
bias_softmax_fusion.h
cast_elimination.cc
cast_elimination.h
common_subexpression_elimination.cc Fix typos - 1st Wave (#21278) 2024-07-11 13:35:08 +08:00
common_subexpression_elimination.h
concat_slice_elimination.cc ORTModule log clean up (#16795) 2023-07-26 12:42:50 +08:00
concat_slice_elimination.h Run clang-format in CI (#15524) 2023-04-18 09:26:58 -07:00
constant_folding.cc Reduce default logger usage (#23030) 2024-12-10 12:54:14 +11:00
constant_folding.h Make session configuration options available to kernels via OpKernelInfo (#18897) 2024-01-13 10:02:43 +10:00
constant_sharing.cc Optimize constant sharing perf (#20143) 2024-04-09 12:04:36 +08:00
constant_sharing.h Optimize constant sharing perf (#20143) 2024-04-09 12:04:36 +08:00
conv_activation_fusion.cc [js/webgpu] Enable conv+clip fuse on mobilenetv2-12-f16 (#21234) 2024-08-29 08:03:02 -07:00
conv_activation_fusion.h
conv_add_act_fusion.cc [JS/Web]Added FusedConv. (#17766) 2023-11-01 15:34:51 -07:00
conv_add_act_fusion.h
conv_add_fusion.cc
conv_add_fusion.h
conv_bn_fusion.cc
conv_bn_fusion.h
conv_mul_fusion.cc
conv_mul_fusion.h
div_mul_fusion.cc Run clang-format in CI (#15524) 2023-04-18 09:26:58 -07:00
div_mul_fusion.h
double_qdq_pairs_remover.cc Extend DoubleQDQPairsRemover to handle sequences that end in duplicate DQ nodes (#20759) 2024-05-24 18:30:15 -07:00
double_qdq_pairs_remover.h Extend DoubleQDQPairsRemover to handle sequences that end in duplicate DQ nodes (#20759) 2024-05-24 18:30:15 -07:00
dropout_elimination.cc Run clang-format in CI (#15524) 2023-04-18 09:26:58 -07:00
dropout_elimination.h
dynamic_quantize_matmul_fusion.cc
dynamic_quantize_matmul_fusion.h
embed_layer_norm_fusion.cc Fix EmbedLayerNormalization fusion related to LayerNormalization optional input (#22371) 2024-10-09 17:24:21 -07:00
embed_layer_norm_fusion.h
expand_elimination.cc Run clang-format in CI (#15524) 2023-04-18 09:26:58 -07:00
expand_elimination.h
fast_gelu_fusion.cc Introduce float 8 types (#14731) 2023-05-30 13:25:58 -07:00
fast_gelu_fusion.h Run clang-format in CI (#15524) 2023-04-18 09:26:58 -07:00
free_dim_override_transformer.cc Fix typos according to reviewdog report. (#21335) 2024-07-22 13:37:32 -07:00
free_dim_override_transformer.h Remove core/common/gsl.h (#20894) 2024-07-08 18:09:39 -07:00
gather_fusion.cc Bug fix for gather fusion with on-device training (#20891) 2024-06-03 14:41:39 -07:00
gather_fusion.h Fix typos - 1st Wave (#21278) 2024-07-11 13:35:08 +08:00
gelu_approximation.cc
gelu_approximation.h Run clang-format in CI (#15524) 2023-04-18 09:26:58 -07:00
gelu_fusion.cc Move Gelu and LayerNorm fusion to L1 optimization (#21332) 2024-09-09 13:27:52 +10:00
gelu_fusion.h Move Gelu and LayerNorm fusion to L1 optimization (#21332) 2024-09-09 13:27:52 +10:00
gemm_activation_fusion.cc Disable gemm activation for non-float data types (#19612) 2024-02-23 18:20:22 -08:00
gemm_activation_fusion.h
gemm_sum_fusion.cc Release backward inputs per static graph ref count (#20804) 2024-06-14 14:33:01 +08:00
gemm_sum_fusion.h Fix typos - 1st Wave (#21278) 2024-07-11 13:35:08 +08:00
gemm_transpose_fusion.cc Fuse Cast + SoftmaxCrossEntropyLossInternal (#20334) 2024-04-29 14:12:10 +08:00
gemm_transpose_fusion.h Run clang-format in CI (#15524) 2023-04-18 09:26:58 -07:00
graph_transformer.cc General INFO logging tracking occurance of GraphTransformer modification (#17819) 2023-10-06 17:03:26 -07:00
graph_transformer_mgr.cc Re-organize the transpose optimization and layout transformation files. (#16246) 2023-07-07 08:24:47 +10:00
graph_transformer_mgr.h
graph_transformer_utils.cc Quantize Weight for Gemm/Conv on Quantized Model (#22969) 2025-01-08 10:00:24 +08:00
identical_children_consolidation.cc Fix static analysis bug (#16114) 2023-05-28 10:58:07 -07:00
identical_children_consolidation.h Fix static analysis bug (#16114) 2023-05-28 10:58:07 -07:00
identity_elimination.cc Run clang-format in CI (#15524) 2023-04-18 09:26:58 -07:00
identity_elimination.h Fix typos - 1st Wave (#21278) 2024-07-11 13:35:08 +08:00
initializer.cc Remove core/common/gsl.h (#20894) 2024-07-08 18:09:39 -07:00
initializer.h Delete path.h (#21211) 2024-07-04 15:54:13 +08:00
insert_cast_transformer.cc Reduce default logger usage (#23030) 2024-12-10 12:54:14 +11:00
insert_cast_transformer.h Refine cast optimizer for safety (#15658) 2023-04-28 09:32:54 -07:00
isinf_reducesum_fusion.cc Fix typos - 1st Wave (#21278) 2024-07-11 13:35:08 +08:00
isinf_reducesum_fusion.h
label_encoder_fusion.cc Label encoder fusion (#19761) 2024-04-01 09:41:10 -07:00
label_encoder_fusion.h Label encoder fusion (#19761) 2024-04-01 09:41:10 -07:00
layer_norm_fusion.cc Move Gelu and LayerNorm fusion to L1 optimization (#21332) 2024-09-09 13:27:52 +10:00
layer_norm_fusion.h Move Gelu and LayerNorm fusion to L1 optimization (#21332) 2024-09-09 13:27:52 +10:00
matmul_activation_fusion.cc Run clang-format in CI (#15524) 2023-04-18 09:26:58 -07:00
matmul_activation_fusion.h
matmul_add_fusion.cc Release backward inputs per static graph ref count (#20804) 2024-06-14 14:33:01 +08:00
matmul_add_fusion.h Run clang-format in CI (#15524) 2023-04-18 09:26:58 -07:00
matmul_bn_fusion.cc Fix MatMulBnFusion to exclude cases when tensors are not 2D tensors (#22762) 2024-11-11 19:48:25 +01:00
matmul_bn_fusion.h Fix typos - 1st Wave (#21278) 2024-07-11 13:35:08 +08:00
matmul_integer_to_float.cc [DML EP] Prefer MatMulInteger over MatMulIntegerToFloat in case of (#22469) 2024-11-07 10:02:01 -08:00
matmul_integer_to_float.h
matmul_nbits_fusion.cc MatMulNBits + Add fusion (#20587) 2024-05-16 11:00:59 -07:00
matmul_nbits_fusion.h MatMulNBits + Add fusion (#20587) 2024-05-16 11:00:59 -07:00
matmul_scale_fusion.cc Update the functions in tensorprotoutils.h to use std::filesystem::path instead (#20920) 2024-06-28 20:03:57 -07:00
matmul_scale_fusion.h Add #pragma once to matmul_scale_fusion.h. (#20538) 2024-05-02 15:38:11 -07:00
matmul_transpose_fusion.cc Keep original name during fusion (#20097) 2024-03-28 08:40:34 +08:00
matmul_transpose_fusion.h
nchwc_transformer.cc Enablement of onnxruntime for AIX and fixing issues related to big-endian platform. (#21133) 2024-07-17 12:37:06 -07:00
nchwc_transformer.h
nhwc_transformer.cc Reduce default logger usage (#23030) 2024-12-10 12:54:14 +11:00
nhwc_transformer.h Reduce default logger usage (#23030) 2024-12-10 12:54:14 +11:00
noop_elimination.cc Optimize KahnsTopologicalSort and PriorityNodeCompare (#19475) 2024-02-16 05:34:55 -08:00
noop_elimination.h
not_where_fusion.cc Run clang-format in CI (#15524) 2023-04-18 09:26:58 -07:00
not_where_fusion.h
optimizer_execution_frame.cc Reduce default logger usage (#23030) 2024-12-10 12:54:14 +11:00
optimizer_execution_frame.h Reduce default logger usage (#23030) 2024-12-10 12:54:14 +11:00
pad_fusion.cc fix: Pad/AveragePool fusion (#23190) 2025-01-07 15:48:38 -08:00
pad_fusion.h Extend Pad Fusion for AveragePool (#21556) 2024-07-30 09:35:45 -07:00
pre_shape_node_elimination.cc Fix SegFault (#22499) 2024-10-21 14:36:28 +08:00
pre_shape_node_elimination.h Eliminate safe nodes that are followed by a shape node. (#16065) 2023-06-26 16:35:07 +08:00
propagate_cast_ops.cc Fuse Cast + SoftmaxCrossEntropyLossInternal (#20334) 2024-04-29 14:12:10 +08:00
propagate_cast_ops.h Run clang-format in CI (#15524) 2023-04-18 09:26:58 -07:00
quick_gelu_fusion.cc Keep original name during fusion (#20097) 2024-03-28 08:40:34 +08:00
quick_gelu_fusion.h
relu_clip_fusion.cc
relu_clip_fusion.h
reshape_fusion.cc Enablement of onnxruntime for AIX and fixing issues related to big-endian platform. (#21133) 2024-07-17 12:37:06 -07:00
reshape_fusion.h
rocm_blas_alt_impl.cc
rocm_blas_alt_impl.h
rule_based_graph_transformer.cc Run clang-format in CI (#15524) 2023-04-18 09:26:58 -07:00
skip_layer_norm_fusion.cc Fix SkipLayerNormFusion incorrectly setting modified every time it runs (#21502) 2024-07-26 10:00:28 +10:00
skip_layer_norm_fusion.h
slice_elimination.cc
slice_elimination.h
stft_decomposition.cc Enablement of onnxruntime for AIX and fixing issues related to big-endian platform. (#21133) 2024-07-17 12:37:06 -07:00
stft_decomposition.h Implement STFT Decomposition transformer (#19725) 2024-03-08 15:02:58 -08:00
transformer_memcpy.cc Reduce default logger usage (#23030) 2024-12-10 12:54:14 +11:00
transformer_memcpy.h
transpose_optimizer.cc Resize and EP specific transpose optimization updates (#17664) 2023-09-29 08:11:36 +10:00
transpose_optimizer.h Resize and EP specific transpose optimization updates (#17664) 2023-09-29 08:11:36 +10:00
unsqueeze_elimination.cc Security Fuzz Test Fixes (#21608) 2024-08-11 03:28:41 -07:00
unsqueeze_elimination.h
utils.cc Fuse Cast + SoftmaxCrossEntropyLossInternal (#20334) 2024-04-29 14:12:10 +08:00
utils.h