v0.4.0
What's Changed
Breaking Changes
- Remove torchscript graph builder by @justinchuby in #2444
New Features
- [torch api] Create torch API for PyTorch 2.9 by @justinchuby in #2503
Optimizer and rewriter
- Expose match functionality of rewrite-rule by extracting base classes by @Copilot in #2447
- Implement MatchContext class for rewriter pattern matching by @Copilot in #2455
- [Rewriter] Implement value/node level checkers for pattern matching infrastructure by @Copilot in #2459
- fix: handling of default attrs in SimplifiedLayerNormalization + LayerNormalization🐛 by @KarelZe in #2396
- Add initial support for RotaryEmbedding fusion for onnx opset 23 by @gramalingam in #2450
- Attention mask for GQA fusion by @gramalingam in #2452
- Handle matching against None explicitly by @gramalingam in #2460
- [docs] Document rewriter pattern options by @Copilot in #2406
- Rename fusion files by @gramalingam in #2476
- [Rewriter] Add optimizer to fold Pad operators into Conv by @Johansmm in #2363
- MHA fusion cleanup by @gramalingam in #2481
- Remove double transpose flag in MHA fusion by @gramalingam in #2483
- Add reproduction test case for incorrect slice rewrite and add potential fix by @sebimarkgraf in #2478
- [ort_fusuion] Support fp16 in rms_norm fusion by @titaiwangms in #2491
- Introduce layer-norm fusion by @gramalingam in #2492
- Correctly create empty ints for Constant in rewriter by @justinchuby in #2497
- Add Erf-based Gelu fusion rule by @gramalingam in #2495
- Extend rewriter to handle subgraphs by @gramalingam in #2494
- Minor fix for getting function's graph by @gramalingam in #2504
- Fixes for when attr type can be ambiguous for empty lists by @justinchuby in #2505
Torch Lib
- [torchlib] Improve aten_chunk conversion by @justinchuby in #2469
- Make onnx export SDPA match aten behavior by @IlyasMoutawwakil in #2479
- Add condition to dropout and ref to isnan by @titaiwangms in #2482
- Support aten::scatter.src by @titaiwangms in #2490
Other Changes
- Update VERSION to 0.4.0 by @justinchuby in #2449
- Remove legacy_ir usage in testutil by @justinchuby in #2451
- Remove legacy ir by @justinchuby in #2456
- Remove DORT related tests since it was removed from PyTorch by @justinchuby in #2465
- Update requirements-ort-nightly.txt by @justinchuby in #2471
- Fix logic for converting np array to text by @justinchuby in #2470
- Add a test for boolean attention mask within SDPA by @titaiwangms in #2480
- chore(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #2484
- Use onnx-ir 0.1.7 by @justinchuby in #2509
- Minor fixes to onnx to onnxscript converter by @gramalingam in #2510
New Contributors
- @IlyasMoutawwakil made their first contribution in #2479
- @sebimarkgraf made their first contribution in #2478
Full Changelog: v0.3.2...v0.4.0