From 58e10a4597d23dc3fa6b8fa79bda1d3c79fa9ad2 Mon Sep 17 00:00:00 2001 From: Joel Schlosser Date: Tue, 15 Jul 2025 15:07:49 -0400 Subject: [PATCH] Composability release notes (tentative) --- 2.8.0/{todo => done}/result_composability.md | 69 +++++++------------- 2.8.0/done/result_cuda.md | 1 + 2 files changed, 23 insertions(+), 47 deletions(-) rename 2.8.0/{todo => done}/result_composability.md (66%) diff --git a/2.8.0/todo/result_composability.md b/2.8.0/done/result_composability.md similarity index 66% rename from 2.8.0/todo/result_composability.md rename to 2.8.0/done/result_composability.md index c788b05..f28acfb 100644 --- a/2.8.0/todo/result_composability.md +++ b/2.8.0/done/result_composability.md @@ -28,64 +28,39 @@ The categories below are as follows: ### deprecation ### new features ### improvements -- Allow duck typing for 0/1 ([#150222](https://github.com/pytorch/pytorch/pull/150222)) +- Introduce flag to override fake registration for custom ops ([#150806](https://github.com/pytorch/pytorch/pull/150806)) +- Custom op meta kernel generation with operator profiles ([#150807](https://github.com/pytorch/pytorch/pull/150807)) +- Support saving / loading profiles for custom ops ([#151817](https://github.com/pytorch/pytorch/pull/151817)) +- Data dependent free reshape ([#153198](https://github.com/pytorch/pytorch/pull/153198)) ### bug fixes -- Custom Op handle 1-element tuples ([#155447](https://github.com/pytorch/pytorch/pull/155447)) +- Fix support for 1-element tuple returns from custom ops ([#155447](https://github.com/pytorch/pytorch/pull/155447)) +- Avoid overflow in `torch.norm` for scalar input ([#144073](https://github.com/pytorch/pytorch/pull/144073)) ### performance ### docs -- Add docblock for resolve_unbacked_bindings ([#154374](https://github.com/pytorch/pytorch/pull/154374)) -- Add docblock for is_accessor_node ([#154375](https://github.com/pytorch/pytorch/pull/154375)) -- Add docblock for _sympy_from_args ([#154376](https://github.com/pytorch/pytorch/pull/154376)) -- Remove _constrain_symbol_range ([#154386](https://github.com/pytorch/pytorch/pull/154386)) -- Add docblock for RuntimeAssert ([#154401](https://github.com/pytorch/pytorch/pull/154401)) -- Add docblock for _suggest_torch_checks ([#154404](https://github.com/pytorch/pytorch/pull/154404)) -- Add docblock for _remove_effect_token_unbacked_bindings ([#154405](https://github.com/pytorch/pytorch/pull/154405)) -- Add docblock for _iterate_exprs ([#154377](https://github.com/pytorch/pytorch/pull/154377)) -- Add docblock for free_symbols ([#154378](https://github.com/pytorch/pytorch/pull/154378)) -- Add docblock for free_unbacked_symbols ([#154379](https://github.com/pytorch/pytorch/pull/154379)) -- Add docblock to is_symbol_binding_fx_node ([#154380](https://github.com/pytorch/pytorch/pull/154380)) -- Add docblock for find_symbol_binding_fx_nodes ([#154381](https://github.com/pytorch/pytorch/pull/154381)) -- Add docblock for _free_unbacked_symbols_with_path ([#154383](https://github.com/pytorch/pytorch/pull/154383)) -- Add docblock for _guard_or ([#154384](https://github.com/pytorch/pytorch/pull/154384)) -- Add docblock for guard_scalar ([#154385](https://github.com/pytorch/pytorch/pull/154385)) -- Add docblock for _ShapeGuardPrinter ([#154402](https://github.com/pytorch/pytorch/pull/154402)) -- Add docblock for ShapeGuardPythonPrinter ([#154403](https://github.com/pytorch/pytorch/pull/154403)) -- Add docblock to cast_symbool_to_symint_guardless ([#154400](https://github.com/pytorch/pytorch/pull/154400)) -- add docblock for _fast_expand ([#154398](https://github.com/pytorch/pytorch/pull/154398)) -- Add docblock for TrackedFake ([#154396](https://github.com/pytorch/pytorch/pull/154396)) -- Add docblock for _eval_is_non_overlapping_and_dense ([#154399](https://github.com/pytorch/pytorch/pull/154399)) -- Add docblock for _expandsums ([#154397](https://github.com/pytorch/pytorch/pull/154397)) -- Enable torch.types.IntLikeType / FloatLikeType / BoolLikeType ([#152157](https://github.com/pytorch/pytorch/pull/152157)) -- Fix grammar mistakes in StatefulSymbolicContext comment ([#152598](https://github.com/pytorch/pytorch/pull/152598)) - ### devs -- Introduce sym_and, sym_or ([#150456](https://github.com/pytorch/pytorch/pull/150456)) -- Support statically_known_true in C++ ([#151346](https://github.com/pytorch/pytorch/pull/151346)) -- Add C++ bindings for guard_or_false/true ([#150148](https://github.com/pytorch/pytorch/pull/150148)) -- Introduce statically_known_false ([#154291](https://github.com/pytorch/pytorch/pull/154291)) +- Allow duck typing for 0/1 ([#150222](https://github.com/pytorch/pytorch/pull/150222)) +- Introduce `sym_and` and `sym_or` ([#150456](https://github.com/pytorch/pytorch/pull/150456)) +- Support `statically_known_true` in C++ ([#151346](https://github.com/pytorch/pytorch/pull/151346)) +- Add C++ bindings for `guard_or_false` and `guard_or_true` ([#150148](https://github.com/pytorch/pytorch/pull/150148)) +- Introduce `statically_known_false` ([#154291](https://github.com/pytorch/pytorch/pull/154291)) - Don't log exception when recording is disabled or already recording ([#151038](https://github.com/pytorch/pytorch/pull/151038)) - Log suppressed data dependent errors ([#151041](https://github.com/pytorch/pytorch/pull/151041)) -- Demote runtime_asserts_frozen logger to debug mode ([#149832](https://github.com/pytorch/pytorch/pull/149832)) +- Demote `runtime_asserts_frozen` logger to debug mode ([#149832](https://github.com/pytorch/pytorch/pull/149832)) - Demote constant registration warnings to debug ([#149833](https://github.com/pytorch/pytorch/pull/149833)) +- Rewrite `expand` with `guard_or_false` ([#150236](https://github.com/pytorch/pytorch/pull/150236)) +- Unbacked safe unsqueeze ([#154087](https://github.com/pytorch/pytorch/pull/154087)) +- Use `guard_or_false` for `cat` and `repeat` ([#155290](https://github.com/pytorch/pytorch/pull/155290)) +- Skip fused linear path if not definitely contiguous ([#155051](https://github.com/pytorch/pytorch/pull/155051)) +- Use try-catch instead of guard_or_true for reshape_view_helper ([#152638](https://github.com/pytorch/pytorch/pull/152638)) +- Add docblocks for several functions related to dynamic shapes ([#154374](https://github.com/pytorch/pytorch/pull/154374), [#154375](https://github.com/pytorch/pytorch/pull/154375), [#154376](https://github.com/pytorch/pytorch/pull/154376), [#154386](https://github.com/pytorch/pytorch/pull/154386), [#154401](https://github.com/pytorch/pytorch/pull/154401), [#154404](https://github.com/pytorch/pytorch/pull/154404), [#154405](https://github.com/pytorch/pytorch/pull/154405), [#154377](https://github.com/pytorch/pytorch/pull/154377), [#154378](https://github.com/pytorch/pytorch/pull/154378), [#154379](https://github.com/pytorch/pytorch/pull/154379), [#154380](https://github.com/pytorch/pytorch/pull/154380), [#154381](https://github.com/pytorch/pytorch/pull/154381), [#154383](https://github.com/pytorch/pytorch/pull/154383), [#154384](https://github.com/pytorch/pytorch/pull/154384), [#154385](https://github.com/pytorch/pytorch/pull/154385), [#154402](https://github.com/pytorch/pytorch/pull/154402), [#154403](https://github.com/pytorch/pytorch/pull/154403), [#154400](https://github.com/pytorch/pytorch/pull/154400), [#154398](https://github.com/pytorch/pytorch/pull/154398), [#154396](https://github.com/pytorch/pytorch/pull/154396), [#154399](https://github.com/pytorch/pytorch/pull/154399), [#154397](https://github.com/pytorch/pytorch/pull/154397)) ### Untopiced -- Avoid overflow in vector_norm for scalar input ([#144073](https://github.com/pytorch/pytorch/pull/144073)) -- [custom ops] Override fake registration ([#150806](https://github.com/pytorch/pytorch/pull/150806)) -- Generate meta kernel with operator profiles ([#150807](https://github.com/pytorch/pytorch/pull/150807)) -- [dynamic shapes] rewrite expand with guard_or_false ([#150236](https://github.com/pytorch/pytorch/pull/150236)) -- Save/load op profiles ([#151817](https://github.com/pytorch/pytorch/pull/151817)) -- [dynamic shapes] aten.constant_pad_nd meta impl ([#152129](https://github.com/pytorch/pytorch/pull/152129)) -- [dynamic shapes] use try-catch instead of guard_or_true for reshape_view_helper ([#152638](https://github.com/pytorch/pytorch/pull/152638)) -- error out on negative offs or on K=0 in group gemm ([#153226](https://github.com/pytorch/pytorch/pull/153226)) -- Data dependent free reshape. ([#153198](https://github.com/pytorch/pytorch/pull/153198)) -- [dynamic shapes] unbacked safe unsqueeze ([#154087](https://github.com/pytorch/pytorch/pull/154087)) -- [dynamic shapes] guard_or_false for cat, repeat ([#155290](https://github.com/pytorch/pytorch/pull/155290)) -- [dynamic shapes] skip fused linear path if not definitely contiguous ([#155051](https://github.com/pytorch/pytorch/pull/155051)) -- Align meta deducing for fft_r2c with fft_r2c_mkl on XPU ([#156048](https://github.com/pytorch/pytorch/pull/156048)) ### not user facing +- Align meta deducing for fft_r2c with fft_r2c_mkl on XPU ([#156048](https://github.com/pytorch/pytorch/pull/156048)) - fix cuDNN SDPA meta registration ([#148921](https://github.com/pytorch/pytorch/pull/148921)) - Add meta function for out variants of ones,zeros,empty ([#149098](https://github.com/pytorch/pytorch/pull/149098)) +- Meta implementation for `aten.constant_pad_nd` ([#152129](https://github.com/pytorch/pytorch/pull/152129)) - [export] fix stft decomp and making it consistent with cpp impl. ([#149232](https://github.com/pytorch/pytorch/pull/149232)) - Remove aten.elu core ATen decomp because it is now core ATen ([#149780](https://github.com/pytorch/pytorch/pull/149780)) - Fix torch.matmul related out dtype check ([#148174](https://github.com/pytorch/pytorch/pull/148174)) @@ -106,8 +81,6 @@ The categories below are as follows: - fix slice w/ dynamic shapes ([#153131](https://github.com/pytorch/pytorch/pull/153131)) - remove allow-untyped-defs from context.py ([#155622](https://github.com/pytorch/pytorch/pull/155622)) - remove gso from vector_norm ([#156530](https://github.com/pytorch/pytorch/pull/156530)) - - - Update meta kernel for torch._scaled_mm nvfp4 recipe ([#150462](https://github.com/pytorch/pytorch/pull/150462)) - Support backed_size_oblivious in guard_or_false/guard_or_true ([#150231](https://github.com/pytorch/pytorch/pull/150231)) - Fix optimized_add to call make_optimized on non args only ([#150955](https://github.com/pytorch/pytorch/pull/150955)) @@ -126,5 +99,7 @@ The categories below are as follows: - [aotd] Support mutations of the same input in fw and bw ([#155354](https://github.com/pytorch/pytorch/pull/155354)) - [multigraph] use specializations in compile_and_call_fx_graph ([#153449](https://github.com/pytorch/pytorch/pull/153449)) - Add guard_or_false for computeStorageNbytes ([#150483](https://github.com/pytorch/pytorch/pull/150483)) +- Enable torch.types.IntLikeType / FloatLikeType / BoolLikeType ([#152157](https://github.com/pytorch/pytorch/pull/152157)) +- Fix grammar mistakes in StatefulSymbolicContext comment ([#152598](https://github.com/pytorch/pytorch/pull/152598)) ### security diff --git a/2.8.0/done/result_cuda.md b/2.8.0/done/result_cuda.md index ae7d8a7..d6584fe 100644 --- a/2.8.0/done/result_cuda.md +++ b/2.8.0/done/result_cuda.md @@ -48,6 +48,7 @@ The categories below are as follows: - Fix torch.cuda.MemPool for multithreaded use-cases ([#153356](https://github.com/pytorch/pytorch/pull/153356)) - Properly clean up hooks in `torch.cuda.memory._record_memory_history` ([#153839](https://github.com/pytorch/pytorch/pull/153839)) - Fix to avoid calling `sum()` on a default-constructed gamma / beta in `layer_norm` ([#156600](https://github.com/pytorch/pytorch/pull/156600)) +- Avoid hangs by erroring out for negative offsets or K=0 in grouped GEMMs ([#153226](https://github.com/pytorch/pytorch/pull/153226)) ### performance - 8 bytes aligned vector loads for bf16 and fp16 dtypes in torch.cat ([#150233](https://github.com/pytorch/pytorch/pull/150233)) - Enable vectorized 8byte copy for fp16/bf16 for index select kernel ([#152380](https://github.com/pytorch/pytorch/pull/152380))