Weekly GitHub Report for Pytorch: September 07, 2026 - September 14, 2026 (20:09:15)
Weekly GitHub Report for Pytorch
Thank you for subscribing to our weekly newsletter! Each week, we deliver a comprehensive summary of your GitHub project's latest activity right to your inbox, including an overview of your project's issues, pull requests, contributors, and commit activity.
Table of Contents
I. News
1.1 Recent Version Releases:
The current version of this repository is v2.6.0
1.2 Version Information:
Released on January 29, 2025, PyTorch 2.6 introduces significant enhancements including torch.compile support for Python 3.13, a new dynamic compilation control API torch.compiler.set_stance, and improved AOTInductor packaging and ABI compatibility. Notable highlights also include FP16 support on X86 CPUs, expanded Intel GPU support, FlexAttention for X86 CPUs targeting LLMs, and a backward-incompatible security improvement flipping the default of torch.load to weights_only=True, alongside the deprecation of official Conda package publishing.
II. Issues
2.1 Top 5 Active Issues:
We consider active issues to be issues that that have been commented on most frequently within the last week. Bot comments are omitted.
-
[GOOD FIRST ISSUE] [TRIAGED] [OSS CONTRIBUTION WANTED] [ONCALL: PT2] [MODULE: DYNAMO] [BOT-TRIAGED] Meta issue: Port more CPython tests to run under Dynamo: This issue is about porting more CPython test modules to run under the Dynamo compiler by adapting existing CPython v3.13.5 tests with minimal changes to ensure compatibility and tracking expected failures. Contributors are encouraged to pick individual test modules, follow a defined porting procedure, and submit pull requests, with the goal of expanding Dynamo's test coverage while skipping tests that rely on CPython internals or unsupported features.
- The comments show multiple contributors claiming different test modules to port, sharing progress updates, and opening pull requests for completed ports, with some coordination to avoid duplicate work and adherence to the outlined porting steps.
- Number of comments this week: 22
-
[TRIAGE REVIEW] [MODULE: ROCM] [MODULE: DEADLOCK] [BOT-TRIAGED] [RELEASE TRIAGE] [ROCm] Out-of-bounds gather/index_select never completes on gfx1103: no assert, next sync hangs unkillably: This issue reports that on the AMD gfx1103 GPU, passing out-of-bounds indices to
Tensor.gatherortorch.index_selectcauses the HIP stream to hang indefinitely without any error or device-side assert, leading to an unkillable process and system shutdown failures. The problem contrasts with CPU behavior, which raises an immediate error, and differs from other operators likeF.embeddingthat complete slowly but do not hang; attempts to add bounds checks or environment variable workarounds have not resolved the hang on this GPU and software configuration.- The comments confirm reproduction on a similar GPU, discuss a partial fix that adds host-side bounds checks raising errors on out-of-bounds indices, and clarify that the hang persists on gfx1103 with ROCm kernel asserts disabled; measurements show significant performance overhead for the guard and inconsistent behavior across operators, with no effective workaround found yet for the gfx1103 hang.
- Number of comments this week: 6
-
[MODULE: PERFORMANCE] [FEATURE] [TRIAGED] [MODULE: MKLDNN] [MODULE: XPU] [BOT-TRIAGED] [XPU] Runtime control for the embedded oneDNN primitive cache: This issue discusses the need for a runtime control mechanism in PyTorch XPU to clear or reset the embedded oneDNN primitive cache during the lifetime of a process, as the current lack of such an interface negatively impacts performance when transitioning between different execution phases. The user reports performance degradation on an Intel Arc A770 when the cache capacity is set too high or too low and suggests that a supported API to adjust the cache capacity dynamically at synchronized workload phase boundaries would improve overall performance without requiring process restarts.
- The comments clarify that the user is requesting a Python wrapper for the oneDNN cache capacity control functions, including getter and setter capabilities, to manage cache size dynamically during execution phases. Developers express willingness to implement this feature but also consider investigating the root cause of the performance bottleneck in oneDNN before exposing the API, requesting a reproducer to aid debugging.
- Number of comments this week: 4
-
[TRIAGED] [ONCALL: PT2] [MODULE: INDUCTOR] [BOT-TRIAGED] [RELEASE TRIAGE] [inductor] mul_softmax_pattern generates neg(bool): compile-time NotImplementedError for softmax over a bool*tensor product (eager works): This issue reports a compile-time
NotImplementedErrorin the PyTorch inductor backend when usingtorch.compileon a model that multiplies a boolean tensor by another tensor before applyingsoftmax, due to an unsupported negation operation on boolean tensors in themul_softmax_patternrewrite. The problem arises because the pattern constructs a tensoronewith the input's boolean dtype, causing the negation-oneto fail during compilation, although the same operation works correctly in eager mode.- The comments discuss a potential related optimization for fused operations, confirm reproduction of the issue on the latest main branch, and propose a narrow fix that opts out of the problematic rewrite for boolean inputs while preserving existing behavior for other dtypes; a pull request implementing this fix with regression tests is shared and welcomed for further testing.
- Number of comments this week: 4
-
[TRIAGE REVIEW] [MODULE: ROCM] [MODULE: LINEAR ALGEBRA] [BOT-TRIAGED] [RELEASE TRIAGE] [ROCm] Batched
linalg.solve/lu_solve/invsilently return wrong results for batch size > 65536 (rocSOLVER path; MAGMA is correct): This issue reports a bug in ROCm where batched linear algebra operations liketorch.linalg.solve,torch.linalg.lu_solve, andtorch.linalg.invreturn incorrect results without any error once the batch size exceeds 65,536, due to what appears to be a kernel launch dimension limit causing index wrapping. The problem persists across multiple PyTorch versions and backends, with some operations failing silently and others raising errors, and the previously effective MAGMA workaround no longer resolves the issue in newer versions.- The comments discuss attempts to reproduce and diagnose the issue, noting that the error does not occur on non-ROCm platforms and that newer PyTorch versions cause some operations to fail loudly while others still return wrong results silently; the MAGMA backend no longer fixes the problem, and the root cause is suspected to be a kernel launch dimension limit affecting batch indexing.
- Number of comments this week: 4
2.2 Top 5 Stale Issues:
We consider stale issues to be issues that has had no activity within the last 30 days. The team should work together to get these issues resolved and closed as soon as possible.
As of our latest update, there are no stale issues for the project this week.
2.3 Open Issues
This section lists, groups, and then summarizes issues that were created within the last week in the repository.
Issues Opened This Week: 109
Summarized Issues:
- Cache Management and Performance Issues: Several issues address problems with runtime cache control and performance regressions, including the need for a runtime control mechanism to clear oneDNN primitive cache in PyTorch XPU to improve performance without disabling caching, and a performance regression in dense BF16 GEMM on Blackwell due to heuristic mismatches causing suboptimal kernel selection. Additionally, there are requests for better cache writing in Dynamo precompile and fixes for concurrency-related cache crashes in Dynamo's C++ layer.
[issues/196231, issues/196313, issues/196773, issues/196394]
- XPU Platform Test Failures: Multiple tests on the XPU platform have been disabled due to consistent failures on the main branch, affecting tests such as test_1mb_allocation_uses_small_block, test_graph_checkpoint_preserve_rng_state, test_multi_kernel_nesting_and_global_constexpr, test_graph_empty_cache_after_side_stream_free_during_capture, test_graph_make_graphed_callables_parameterless_nograd_module_with_amp_cache_disabled_allow_unused_input, test_effn_attn_uniform_zero_bias, test_effn_attn_uniform_zero_bias_backward, test_graph_make_graphed_callables_parameterless_nograd_module_without_amp_allow_unused_input, test_nested_and_autotuned_same_kernel, and test_fused_attention_empty_batch_xpu.
[issues/196247, issues/196308, issues/196392, issues/196489, issues/196551, issues/196552, issues/196553, issues/196650, issues/196710, issues/196899, issues/196748]
- torch.compile and Inductor Bugs: Several bugs affect torch.compile and the Inductor backend, including crashes on non-contiguous inputs to nn.TransformerEncoder, incorrect bool() fallback on compiled models, dynamic=True failures with list.pop() symbolic indices, incorrect legacy torch.Tensor constructor behavior with torch.Size, softmax dimension ignoring in attention pattern rewrites, and compile-time errors due to unsupported operations on bool tensors. There are also issues with Inductor's remove_noop_ops failing to remove no-op slices and crashes in fuse_seed_creation_pass due to argument handling.
[issues/196251, issues/196253, issues/196285, issues/196467, issues/196468, issues/196743, issues/196358, issues/196361]
- CUDA Memory and Synchronization Errors: Multiple issues describe illegal memory access and synchronization bugs in CUDA, including CUDACachingAllocator failing to wait for peer device kernels before cudaFree, torch.cuda.empty_cache() causing illegal memory access when called on a different device, and torch.accelerator synchronization and stream delegation failures with custom Python backends.
[issues/196257, issues/196258, issues/196299, issues/196302]
- Learning Rate Scheduler Bugs: Bugs in learning rate schedulers include incorrect step advancement when wrapping composite schedulers with SequentialLR and ReduceLROnPlateau converting tensor learning rates to floats after reduction, causing recompilation triggers.
[issues/196243, issues/196286]
- Masked Operations and Test Failures: The masked.softmax and masked.softmin OpInfo tests can produce fully masked-out samples causing undefined outputs and test failures, suggesting fixes to sample generation to avoid device-specific skips.
[issues/196289]
- Backend and Python Module Integration Issues: Problems with Python backend modules include failure of torch.accelerator.synchronize() to call backend synchronize, and incorrect stream management functions not delegating properly to backend methods.
[issues/196299, issues/196302]
- FakeTensor and PrivateUse1 Backend Bugs: FakeTensorMode fails to wrap outputs dispatched to Python PrivateUse1 backends, causing RuntimeErrors due to conflicts between raw and fake tensors, and Tensor.set_data() fails when copying between CPU and PrivateUse1 tensors due to type compatibility checks.
[issues/196309, issues/196975]
- Gradient Accumulation and Autograd Enhancements: There is a request for a cleaner, idiomatic way to fuse gradient accumulation into preceding gradient computation kernels in both eager and compiled autograd modes to avoid complex workarounds.
[issues/196312]
- Cross-Stream Serialization and Backend Race Conditions: The NVSHMEM backend lacks cross-stream serialization enforcement, which is necessary to prevent race conditions similar to CUDA and NCCL backends.
[issues/196337]
- GPU and Hardware Specific Bugs: Issues include AMD gfx1103 GPU hangs on out-of-bounds indices in gather/index_select, ROCm NCCL process group crashes and timeouts, and nondeterministic crashes on NVIDIA RTX 5090 during YOLOv8 training likely due to GPU memory pressure.
[issues/196377, issues/196616, issues/196393]
- Dynamo and Compilation Cache Issues: Dynamo's per-region frame_compile_id removes global recompilation limits causing unbounded recompiles, and recorded per-region execution strategies incorrectly override global skip_code directives, leading to tracing of code that should be skipped. Also, setting attributes on untracked sourceless receivers causes internal assertion errors instead of graph breaks.
[issues/196495, issues/196520, issues/196864]
- Automatic Differentiation and Nested Derivative Bugs: Numerous functions produce incorrect nested forward-mode second derivatives (JVPs), including torch.cholesky_inverse, torch.cholesky_solve, torch.linalg.solve, torch.det, torch.linalg.slogdet, torch.linalg.householder_product, torch.nn.functional.batch_norm, torch.nn.functional.layer_norm, torch.cumprod, torch.scatter_reduce (prod), torch.sinc, torch.logaddexp, torch.logcumsumexp, and torch.triangular_solve, causing significant discrepancies in higher-order differentiation results.
[issues/196682, issues/196694, issues/196695, issues/196696, issues/196697, issues/196698, issues/196699, issues/196700, issues/196701, issues/196702, issues/196703, issues/196704, issues/196705, issues/196707]
- Documentation and Usability Improvements: Requests include adding reciprocal "see also" links between torch.unbind and torch.tensor_split, fixing blank documentation pages for torch.masked_fill, correcting incomplete and incorrect documentation for torch.argmax and torch.argmin, and fixing formatting issues in svd_lowrank and pca_lowrank docs.
[issues/196567, issues/196659, issues/196934, issues/196935]
- Build and Installation Issues: The DEBUG=1 developer build causes a significant performance bottleneck during editable install due to zlib compression, and also causes pybind11 GIL-related crashes during test_jit.py execution. Additionally, missing Python development headers cause build failures for Triton CUDA driver shim, leading to runtime errors on CUDA bmm with outer-product shapes.
[issues/196619, issues/196744, issues/196977]
- Inductor Compiler and Kernel Generation Bugs: Inductor backend bugs include incorrect handling of alpha and beta in decompose_addmm, NaN propagation in addmm decomposition, failure to remove no-op slices with negative indices, incorrect cat_splitwithsizes_replace optimization due to raw dimension comparison, and compile-time KeyError in CPP backend due to local-buffer promotion assumptions.
[issues/196577, issues/196596, issues/196358, issues/196905, issues/196570]
- Random Number Generation and Reproducibility Issues: The DTensor RNG tracker incorrectly applies to CPU tensors under FSDP CPUOffloadPolicy causing hangs or repeated values, and seeded CUDA RNG values depend on GPU hardware parameters causing non-reproducibility across devices. Also, torch.compile with dynamic shapes reuses stale random.Random values after shape specialization causing incorrect RNG states.
[issues/196562, issues/196613, issues/196437]
- Graph and Memory Simulation Bugs: The KnapsackEvaluator produces nondeterministic peak memory values due to non-unique topological sort order, and backward-memory accounting incorrectly recomputes saved nodes causing inflated peak memory simulation.
[issues/196512, issues/196914]
- Triton Backend and Kernel Code Generation Issues: The Triton backend generates redundant float16 to float casts due to missing duplicate elimination, and autotune cache calls legacy matmul precision API causing compilation failures with new backend settings.
[issues/196958, issues/196728]
- Distributed and Process Group Issues: Legacy ProcessGroupNCCL backend ranks raising local exceptions become unresponsive to Flight Recorder dump requests during teardown, causing missing diagnostic artifacts.
[issues/196968]
- API and Backend Support Enhancements: Proposals include creating a public registration mechanism for tensor subclasses to opt into foreach and fused optimizer fast paths, adding stable ABI support for out-of-place matrix multiplication, and enhancing torchgen to better support out-of-tree backends with structured kernels and default arguments.
[issues/196305, issues/196927, issues/196931]
- Miscellaneous Bugs: Bugs include torch.nested.narrow followed by unbind incorrectly including unselected elements in jagged tensors, runOnRocmArch decorator misuse causing test tolerance misapplication, and torch.linalg.solve batched kernel launch dimension limits causing silent incorrect results on ROCm.
[issues/196708, issues/196572, issues/196745]
2.4 Closed Issues
This section lists, groups, and then summarizes issues that were closed within the last week in the repository. This section also links the associated pull requests if applicable.
Issues Closed This Week: 106
Summarized Issues:
- Memory safety and out-of-bounds tensor access: Numerous issues report crashes, segmentation faults, heap buffer overflows, and illegal memory accesses caused by missing or insufficient shape, size, or bounds checks in various PyTorch functions and CUDA kernels. These problems lead to out-of-bounds tensor access, invalid frees, and corrupted memory states, often triggered by malformed inputs, extreme parameter values, or device-specific backend inconsistencies.
- issues/116251, issues/116254, issues/125664, issues/136704, issues/136709, issues/136712, issues/136819, issues/144611, issues/144612, issues/145349, issues/145350, issues/145453, issues/150388, issues/152913, issues/153329, issues/157097, issues/161760, issues/162476, issues/169208, issues/169213, issues/169741, issues/173495, issues/175368, issues/175370, issues/175978, issues/178089, issues/189829, issues/189831, issues/190044, issues/190046, issues/191565, issues/191567, issues/191568, issues/191570, issues/191848, issues/191850, issues/192452, issues/192453, issues/192454, issues/193095, issues/193096, issues/193097, issues/193099, issues/193102, issues/193104, issues/193689, issues/193691, issues/193694, issues/193696, issues/193698, issues/194023, issues/195185, issues/195186, issues/195187, issues/195188
- Segmentation faults and crashes due to invalid input validation: Several issues describe segmentation faults and crashes caused by missing or improper input validation in PyTorch functions, especially when handling tensors with invalid shapes, empty tensors, or out-of-range indices. These faults often occur in CPU and CUDA backends during operations like embedding bag, LSTMCell, sparse tensor conversions, and unpooling.
- CUDA kernel illegal memory access and atomic operation errors: Multiple issues report illegal memory reads, writes, and atomic operation errors in CUDA kernels caused by out-of-bounds accesses, integer overflows, or missing shape and size checks. These errors affect a wide range of CUDA kernels including batch normalization, pooling, embedding, and loss functions, often detected by compute-sanitizer or fuzz testing.
- issues/144611, issues/144612, issues/145349, issues/145350, issues/145453, issues/161760, issues/188958, issues/188959, issues/189664, issues/189666, issues/189668, issues/189669, issues/189670, issues/189671, issues/191565, issues/191567, issues/191568, issues/191570, issues/191848, issues/191850, issues/192452, issues/192453, issues/192454, issues/193095, issues/193096, issues/193097, issues/193099, issues/193102, issues/193104, [issues/193696](https://github.com/issues/193696], issues/193698, issues/195185, issues/195186, issues/195187, issues/195188
- Crashes and errors due to double free, corruption, or invalid memory management: Some issues describe crashes caused by double free errors, memory corruption, or invalid frees triggered by improper handling of tensor metadata or storage during deallocation or API calls. These problems often arise in sparse tensor operations, packed sequences, or specific API usages like
torch.linalg.ldl_solveandtorch.as_strided_scatter.- issues/136714, issues/169213, [issues/150388](https://github.com/issues/150388], issues/194894
- Device-specific backend inconsistencies and bugs (MPS, CUDA, Apple Silicon): Several issues highlight bugs and inconsistencies specific to device backends such as Apple MPS and CUDA, including incorrect results, crashes, or unsupported operations. These include MPS backend failures in unpooling, scatter operations, and model inference, as well as CUDA launch timeouts and driver-related errors on specific GPUs or platforms.
- issues/111173, issues/195849, issues/195595, issues/196067, issues/196322, issues/188411, issues/192330, [issues/173495](https://github.com/issues/173495]
- Documentation and API inconsistencies: Some issues address inaccuracies or inconsistencies in PyTorch documentation and API behavior, such as misuse of terminology in
torch.argmax/torch.argmindocs, inconsistent exception messages between CPU and GPU fortorch.mm, and unclear inheritance design in theLSTMclass.
- Compilation, tracing, and decorator-related bugs: A few issues describe problems with PyTorch's compilation and tracing mechanisms, including errors with
torch.compilewhen using fullgraph mode, issues with decorators like@torch.no_grad(), and problems with the@torch._dynamo.assume_constant_resultdecorator causingNameError.
- Performance improvements and code refactoring proposals: Some issues propose performance improvements or code refactoring, such as replacing tracing state checks to reduce overhead and adding utility functions like an AverageMeter for training loops.
- Test suite and CI related issues: A few issues report disabled or failing tests on specific platforms (e.g., XPU, MPS) or missing test coverage for certain devices, impacting test reliability and coverage.
- Numerical accuracy and tolerance calibration: Some issues discuss numerical precision problems, such as incorrect coefficients in matrix exponential approximations and TF32 tolerance calibrations on ROCm platforms, affecting deterministic test outcomes.
- Miscellaneous bugs and feature requests: Other issues include bugs like incorrect gradient calculations in
torch.ldexp, unsupported operations in distributed training teardown, and feature requests for bot commands or badges.
2.5 Issue Discussion Insights
This section will analyze the tone and sentiment of discussions within this project's open and closed issues that occurred within the past week. It aims to identify potentially heated exchanges and to maintain a constructive project environment.
Based on our analysis, there are no instances of toxic discussions in the project's open or closed issues from the past week.
III. Pull Requests
3.1 Open Pull Requests
This section provides a summary of pull requests that were opened in the repository over the past week. The top three pull requests with the highest number of commits are highlighted as 'key' pull requests. Other pull requests are grouped based on similar characteristics for easier analysis. Up to 25 pull requests are displayed in this section, while any remaining pull requests beyond this limit are omitted for brevity.
Pull Requests Opened This Week: 372
Key Open Pull Requests
1. Copilot/fix bc linter failure: This pull request fixes a backward compatibility linter failure in the PyTorch codebase.
- URL: pull/196866
- Associated Commits: e175d, 2c5e9, 7e051, 8a1fc, 8b056, 31960, 5d2df, 73373, 69f3e, d0eba, 1ebd7, bf00e, d1732, 91919, 6424e, c4f40, cf471, f3fb6, 4111f, f5965, c7f98, 3ee46, a3586, 73c27, 580b0, 1ae08, 1ee97, a36dd, 129e6, cc225, 312ef, f7185, dc9a9, de297, 3376c, d543b, 3476c, 95316, d3388, 051bc, c3545, 7b3ed, 046f1, f634d, f4ae2, ea3ba, f0788, 40edc, 58d36, 26b46, d8cc8, c9b4d, b5308, a5984, 578f8, ab13a, 2cb54, d176c, d2c74, a6fc3, 91b27, c1b81, bd146, 4871f, 03b03, d45b5, cdd99, e4112, 22ba3, a188c, b507a, e62d1, 18803, 25671, c01fe, bdcd7, 54034, 2d18a, 3939b, da792, c84cf, 244f9, d7a82, 41f70, 1024f, 1b7da, 599f1, adf78, abaac, 00ea4, 484ff, a61d5, f62c8, 6b2b0, 56ff8, 4fbf3, f936a, df2e8, d0935, fd23f, 543a8, e906f, d81cb, 80b81, 4afd3, 3d3d3, 16ee2, a19a9, ffd2b, ce653, e8e5d, 805f6, d9013, 3d229, e0777, 34731, 17f8d, 11f0f, df740, b2979, d4060, f8546, 39c71, 68b5e, 85678, ef375, 37c99, adc22, 3f171, 01eee, 795a8, 93c09, 279e4, 37268, a6362, 48a6a, adfeb, 5e0f0, 1e9d5, fc660, a8f05, a8787, 79629, 9a32e, cea51, ce072, 4202f, 6057d, b498e, 7854d, e8430, 4900b, 26a7b, 5405e, aa084, b4527, b72a6, 6c09d, 4f5a3, 3cc7a, 1ad12, a2c01, c8826, 226f0, 4b184, 0b8a3, d2e50, ad644, cf863, 57787, d59b2, 818c1, e43ad, 54659, c7a0c, 29bef, 32a65, 7e6c4, 0a81a, 4806d, 046aa, c5109, 1ee60, 568a6, 106e6, 58452, 80289, 716d5, f3238, e0a05, 8f22e, e2ad2, 13818, 51e1c, 2b7e5, f3218, 2183f, 936ea, aefbd, 8584b, a2bf3, ea97b, 7216f, b09b4, c9fd7, c4aee, 071dd, 94148, d681e, e6fbf, 07bd5, cb2e7, 517c8, 44e77, 13948, 4144b, a4cb6, e67c8, ded21, 8aa0a, 4a053, a7a0e, 3c0a0, c0fec, c0b76, 12373, 02f2f, 990e0, 313e0, 55448, 6e4d4, bfa6f, c3f23, 938af, e1056, 0ffa0, 6be7c, b7354, 63e82, 2e2b1, 1c9a2, 0a7ba, a7014, a56a3, 88b3d, 60147, ca66d, 2b1d7, db84f, 66a8c
2. Fix compiler correctness and performance issues: This pull request consolidates multiple fixes and enhancements to improve compiler correctness and performance in PyTorch, including corrections and regression coverage for FSDP2 singleton-shard collectives, Inductor scatter reinplace, Dynamo protocol-class isinstance handling, c10d scatter collective aliasing, and improvements in Inductor device-context and async-compilation for registered device backends.
- URL: pull/196412
- Associated Commits: 99371, 5b1c8, 4176d, 19de1, 9833c, 7fec0, 291e4, 6049b, f2c37, 94bb3, 44ad9, 0cacd, b11f6, 5349b, 83e77, 20ebf, 68180, 88e95, 2ae15, 8afb1, 9e545, e1fb3, 2272d, 24d51, e2d9f, 99919, bd3b6, 6fc2b, c676b, 88f21, 3c75a, 4bcb3, 5c99d, 60d48, 48820, 175e1, be989, 9283f, a373c, 144ee, f725b, 4434c, b51c5, 3d8dc, 91af8, beca3, 3c484, 12338, a46d7, e9275, ed81f, 352c4, 9f297, 867c8, 6eda9, 47863, f8561, dd294, 8616d, f16ad, a2abd, 0dd0f, eacd2, d8d6a, eb685, ec875, 5ac7d, 6d190, 72748, e6eeb, 0a14f, bb270, a1a5c, 9b728, 07e08, c3065, 0ec75, c3eaf, 346ea, 95aa9, e1e34, 493ad, 3379f, 4555f, 83d9e, 09d2c, 4b9bb, e0efe, 6f531, 4d3d7, 3bc88, 56bc2, 596fe, 4b661, fc603, 61e66, bf862, a8fa9, e2ff6, 2753e, 346c1, 5ba79, 51f53, 9b0b4, 0dec1, 3c14c, 4364a, 9e894, 62672, 663fe, 326eb, 42155, 7fc9c, 840b8, d0cc7, 2c935, 03d88, decc9, 4096a, 6d3ca, a27d8, 2a22c, 1cd7b, 1cc7b, c8b6c, f9177, 8d758, b23c9, 55f1d, 0f459, b54c0, 02fb5, 756c2, 9acee, 4b2e0, a0e15, 7148e, 2f28d, a7f39, c095c, f4331, 026be, 130f1, e6074, 0e05c, 1ec35, aacb6, 48552, fe01f, 089e3, 0b509, 6ee72, 57298, 7b5ca, 8ba74, c589a, fd6a0, 7190e, 358d4, 37ac0, 203bf, 5c0cb, 7e8c2, 80be7, c7216, b3eb3, a2cdc, a8c5f, 8019b, e31c5, 9c8c7, 3de52
3. [aot_compile] Raise a report naming every input when no compiled graph matches: This pull request improves the error reporting in the AOT compilation dispatch process by replacing the previous fallback that only reported the first unmatched compiled input with a detailed report that names every compiled input that failed to match, providing one line per input along with actionable advice and precise scope resolution to help users diagnose why no compiled graph matched their call.
- URL: pull/196823
- Associated Commits: 5c416, 0dd18, d418e, 48aad, cca41, afdbd, e76d1, 5afdf, 3ea78, 695be, a9b54, 07e7e, 9d696, 4a1d4, 049a1, 5d719, d3896, 2ac59, 1ce81, 84da3, 59cd5, efbba, 903ad, 50920
Other Open Pull Requests
- AOT Compilation Guard Handling and Dispatch Improvements: Multiple pull requests enhance the robustness and correctness of guard tree evaluation in AOT compilation by treating exceptions as non-matches, restoring TorchFunction state after throws, and improving diagnostic reporting with chained exceptions and advice. They also ensure that raising guard trees do not prematurely abort dispatch or suppress valid matches, making guard evaluation more reliable and the output clearer and actionable.
- [pull/196826]
- AOT Compilation Module Dispatch Testing and Ordering: Tests were added to verify that opted-out compiled results maintain correct ordering as a last-resort fallback during dispatch, preventing wrong-answer bugs. These tests also confirm that dispatch logic correctly handles mixed vectors of opted-out and checked artifacts without regressions.
- [pull/196824]
- Guarded Global Variable Missing Handling and Reporting: Enhancements include loud failure with detailed reports when guarded global variables required by compiled modules are missing during loading, and improved diagnostic messages that record the guard scope for missing globals. This provides precise advice on fixing guard failures depending on the scope context.
- [pull/196825, pull/196816]
- Stale Module Alias Handling in PyTorch Dynamo: Fixes rebind stale module aliases to live modules from
sys.modulesinstead of failing traces, and relaxes alias collision checks to accept valid stale modules without aborting tracing. This improves robustness and correctness of import alias management in compiled graphs. - [pull/196896]
- AOT-Compiled Module Deserialization and Guard Scope Resolution: Improvements ensure guard scopes are resolved from the actual
model.forwardfunction rather than stale or rebuilt globals, handle nestedOptimizedModulewrappers robustly, refuse invalid torch-internal forwards, and add aguard_globalsparameter for custom guard scopes. These changes prevent stale or incorrect global substitutions during module load and execution. - [pull/196818, pull/196815, pull/196817, pull/196820, pull/196821, pull/196815, pull/196817]
- Warnings for Dropped Hooks and Call Overrides in AOT Compilation: Added warnings for silently dropped forward/backward hooks and certain
__call__overrides during compilation, clarified behavior differences between forward and backward hooks under compiled autograd, improved detection of__call__overrides including FX wrappers and class rebinding, and included comprehensive tests for these behaviors. - [pull/196819, pull/196820]
- Guarded Global Variables Re-Read at Call Time: Changed handling of guarded globals in AOT-compiled functions to re-read from the caller’s live scope before each call instead of using load-time values, fixing silent numerical errors caused by stale globals and aligning runtime behavior with guard checks.
- [pull/196897]
- FlexGEMM Enhancements and Correctness Fixes: Added support for MoE forward form of
grouped_mmwith QuACK varlen-M epilogue, modified lowering logic to prevent unintended TF32 computations unless explicitly allowed, installed custom backward autograd functions to raise errors undertorch.compile, and implemented grouped-main SwiGLU fusion for efficient MoE expert FFNs. These changes improve performance, correctness, and lowering efficiency. - [pull/196318, pull/196319, pull/196320, pull/196321]
- AOTCompiledFunction Deserialization and Live Guard Scope Binding: Modified deserialization and loading APIs to re-root global guards to resolve live against caller-supplied globals rather than static snapshots, ensuring guard checks reflect current bindings while documenting divergence between guard validation and bytecode globals.
- [pull/196815]
- Import Alias Seeding and Name Mint Collision Handling in AOT Workflow: Added tests and fixes to ensure import-alias guards are seeded correctly and global name minting retries avoid conflicts across processes, preserving correct guard behavior when loading and compiling artifacts in separate processes.
- [pull/196821]
- InputBuffer Exposure in Custom Autograd Backward Execution: Exposed
InputBufferasctx.input_grad_buffersduring backward execution of custom autograd functions, enabling fused backward kernels to accumulate gradients directly into existing partial gradients and improving efficiency while maintaining compatibility with dynamic buffer availability. - [pull/196491]
- PyTorch Dynamo Alias Management Fix: Fixed a bug where uninstall incorrectly removed global aliases not originally created by the package by improving bookkeeping to only remove globals the package bound, preventing runtime
KeyErrors and ensuring correct alias management across install/uninstall cycles. - [pull/196895]
- Builtins-Dict Key Handling in AOT Compilation: Improved AOT compilation by re-deriving the builtins-dict key across all relevant scopes to prevent stale builtin recordings causing inconsistencies during deserialization and module loading, with added error handling and tests.
- [pull/196904]
- Guard Scope Resolution Fix in Dynamo AOT Compilation: Fixed guard scope resolution by deriving it through Dynamo's wrapper functions rather than directly from compile wrapper globals, addressing errors and misleading hints caused by mismatched global namespaces during deserialization and execution.
- [pull/196908]
- AOT Compilation Refactor for Certified Global Variable Binding: Removed
_bytecode_reads_guard_scopeflag and related parameters, binding certified global variables at load time on every live-scope path to ensure required external references are available. Updated serving function to handle concurrent scope modifications safely and added tests verifying correct binding of mutated or returned globals. - [pull/196909]
- XPU Test Suite Stability and Backend-Specific Updates: Applied stability guards and backend-specific expectation updates to XPU tests in
test_linalg, including aligning int4 matrix multiplication tests with XPU packing semantics, skipping unsupported paths, handling XPU-specific errors, and minor test fixes. - [pull/196966]
- FlyDSL GEMM Backend Vertical Epilogue Fusion: Enabled vertical epilogue fusion for gfx950 FlyDSL GEMM backend by accepting same-shape pointwise epilogues, materializing scalar operations as constexpr lambdas, preserving numerical accuracy, enhancing dispatcher cache keys, enforcing strict epilogue constraints, and demonstrating consistent performance improvements with comprehensive testing.
- [pull/196277]
- oneDNN Submodule Upgrade and GroupedGEMM Support: Upgraded oneDNN from 3.12 to 3.13 to enhance GroupedGEMM support on Intel GPUs, improve performance across multiple architectures, introduce experimental grouped matmul functional API features, and validate improvements with extensive benchmarking showing no regressions.
- [pull/196712]
3.2 Closed Pull Requests
This section provides a summary of pull requests that were closed in the repository over the past week. The top three pull requests with the highest number of commits are highlighted as 'key' pull requests. Other pull requests are grouped based on similar characteristics for easier analysis. Up to 25 pull requests are displayed in this section, while any remaining pull requests beyond this limit are omitted for brevity.
Pull Requests Closed This Week: 599
Key Closed Pull Requests
1. [Inductor] Index expression codegen for user Triton kernel fusion: This pull request introduces index expression code generation for user-defined Triton kernel fusion by parameterizing FusedUserTritonKernel with output tile/block dimensions via the wrap_triton interface, enabling epilogue fusion that supports additional index expressions outside the user kernel’s scope while maintaining constraints on epilogue stores and laying groundwork for future extensions.
- URL: pull/184895
- Associated Commits: 8bd3c, 27cbf, 90618, 02b8b, 110b7, cd53a, dc1e2, 58eb1, ac2e0, f72cb, f8752, c6265, a7995, 0bf7c, 6f650, 7bd82, afb3c, 3bcb9, f1917, 38532, 44cff, 47f0a, a09d8, 653d4, 91df5, 4b839, 7fddd, 98890, 885d6, 07bf4, 55bce, b76ed, e9aad, 97620, d76de, 358fc, 2c358, b6510, 7b767
2. [WIP] [inductor] Fuse contiguous sub-parent reduction epilogues: This pull request proposes fusing contiguous sub-parent reduction epilogues in the PyTorch inductor backend by adding support for CONTIGUOUS source layouts in chunked sub-parent consumers like SwiGLU and factor-4 gating, implementing a shared lane formula for the planner and codegen while maintaining a separate contiguous source proof that requires static power-of-two parent extents to safely split persistent padded blocks, with standalone support for power-of-two factors up to 16 and nested append limited to factor-2 INTERLEAVED layouts.
- URL: pull/190596
- Associated Commits: 14bb2, 42e9a, 2d26f, 9f43e, 2f592, f0ff8, 53c05, b821e, caf9b, b6dff, 77b56, b19d6, 926c8, 87280, 27a38, 530cc, 9b862, 6a9ef, f1015, 91e65, c5b5f, 50ea2, bf669, 662a6, 1cc5c, 1ef96, ad6cf, 86733, 07113, 53b21, cec5d, 395a8, 741fe, 3464a, c7113, 44af4
3. perf(dynamo): add guard lookup fast paths: This pull request introduces a set of guard lookup fast paths and detailed statistics in TorchDynamo to optimize and reduce the overhead of repeated guard tree traversals during cache lookups in stable large model inference scenarios, enabling partial memoization of stable subtrees, shadow validation for correctness, and experimental unsafe bypasses to improve step boundary latency without changing guard failure semantics.
- URL: pull/187004
- Associated Commits: 8a51d, fc26c, c1dd3, 84ebf, c187e, a5fb0, 74bf8, 3b3d9, 8afa6, 93ba6, dcfb2, f6eb1, f7d88, 8695b, 91bc8, b47b7, 3f306, 7659b, a87d1, 3c19e, 351c6, 1351f, 56a5b, 7c448, 25d2c, 4d59b, 5eab5, 1b1a2, fbb10, 545c2, de3e0, 680cb, cebf4, df7de, c2419
Other Closed Pull Requests
3.3 Pull Request Discussion Insights
This section will analyze the tone and sentiment of discussions within this project's open and closed pull requests that occurred within the past week. It aims to identify potentially heated exchanges and to maintain a constructive project environment.
Based on our analysis, there are no instances of toxic discussions in the project's open or closed pull requests from the past week.
IV. Contributors
4.1 Contributors
Active Contributors:
We consider an active contributor in this project to be any contributor who has made at least 1 commit, opened at least 1 issue, created at least 1 pull request, or made more than 2 comments in the last month.
If there are more than 10 active contributors, the list is truncated to the top 10 based on contribution metrics for better clarity.
| Contributor | Commits | Pull Requests | Issues | Comments |
|---|---|---|---|---|
| bobrenjc93 | 1368 | 91 | 7 | 10 |
| slayton58 | 255 | 20 | 0 | 4 |
| cyyever | 244 | 32 | 0 | 0 |
| jananisriram | 228 | 28 | 0 | 1 |
| malfet | 126 | 15 | 1 | 79 |
| Native-Neo | 165 | 3 | 0 | 0 |
| drisspg | 147 | 11 | 1 | 4 |
| pbielak | 120 | 15 | 0 | 19 |
| guilhermeleobas | 94 | 17 | 3 | 28 |
| KarhouTam | 100 | 6 | 0 | 28 |
Access Last Week's Newsletter: