Weekly GitHub Report for Pytorch: July 27, 2026 - August 03, 2026 (21:19:00)
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 with simplified installation, and a backward-incompatible security improvement flipping the default of torch.load to weights_only=True, alongside numerous performance optimizations, bug fixes, and deprecations such as the discontinuation of official Conda packages.
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.
-
[NEEDS REPRODUCTION] [MODULE: CONVOLUTION] [TRIAGED] [MODULE: MULTITHREADING] [BOT-TRIAGED]
aten::conv2dhang when batch sizes of inputs are new within each thread byasyncio.to_thread: This issue describes a problem where theaten::conv2doperation in PyTorch hangs or experiences significant delays when batch sizes of inputs vary across new threads created byasyncio.to_thread. The user reports that this behavior occurs specifically with the MobileNetV3 model on Windows 10 and involves long initialization times for convolution kernels in each new thread, which does not happen with other models or kernels, and discusses potential implications for Python's threading model in future versions.- The comments include requests for a minimal reproducible example and clarifications on the nature of the hang, with the user providing detailed profiling data and code to reproduce the issue on Windows. Developers note that some setup time per thread is expected and that a recent PR improves performance for
benchmark=Truescenarios but does not fully address the reported problem, which may be Windows-specific. The discussion also covers thread safety of cuDNN plans, the realism of heavily threaded benchmarking use cases, and the possibility of converting the fix into a draft or RFC pending further real-world examples. - Number of comments this week: 11
- The comments include requests for a minimal reproducible example and clarifications on the nature of the hang, with the user providing detailed profiling data and code to reproduce the issue on Windows. Developers note that some setup time per thread is expected and that a recent PR improves performance for
-
[FEATURE] [MODULE: CPU] [TRIAGED] [NEEDS DESIGN] [ONCALL: PT2] [MODULE: INDUCTOR] [MODULE: FLEX ATTENTION] [BOT-TRIAGED] [RFC] Adding CPU Intrinsics into codegen: This issue proposes adding CPU intrinsics into the code generation process to improve inference performance by leveraging low-level CPU features, particularly for overlapping GEMM and Softmax operations in Flex Attention 3. It discusses two approaches for organizing the implementation within the codebase and favors creating a dedicated directory for CPU intrinsics to support future extensibility as agentic AI workloads grow.
- The comments focus on clarifying the use case and workflow, debating the suitability of oneDNN versus direct intrinsic implementation, and emphasizing maintenance ease by keeping intrinsics within PyTorch codegen; contributors generally support the proposal and highlight the benefits of a lightweight, flexible integration approach.
- Number of comments this week: 10
-
[HIGH PRIORITY] [MODULE: OPTIMIZER] [MODULE: CPU] [MODULE: VECTORIZATION] [MODULE: BFLOAT16] [MODULE: HALF] [ACTIONABLE] [MODULE: CORRECTNESS (SILENT)] [BOT-TRIAGED] Fused SGD on CPU silently skips vectorized fp16 and bf16 parameter updates in certain circumstances: This issue reports a bug in the fused CPU SGD optimizer for PyTorch where vectorized updates for fp16 and bf16 parameters are silently skipped when the number of elements is greater than or equal to the SIMD width, causing incomplete parameter updates. The problem is traced to the fused SGD kernel's vectorized loop failing to apply the learning rate update and store the parameters back, which does not affect fp32 and fp64 types, and a fix has been proposed with a regression test to address this.
- The comments include acknowledgment of the bug, a discussion about backporting the fix to earlier versions, and the submission of a pull request that corrects the update logic and adds tests; maintainers clarify the release policy and confirm the fix will be included in the upcoming 2.14 release rather than backported to 2.13.
- Number of comments this week: 8
-
[TRIAGE REVIEW] [MODULE: CRASH] [MODULE: CUDA] [MODULE: POOLING] [MODULE: INT OVERFLOW] [MODULE: EDGE CASES] [BOT-TRIAGED] [MODULE: ERROR CHECKING] [TRIAGED] [ACTIONABLE] [CUDA] illegal memory access on max_pool2d/max_pool3d with integer-overflow dilation: This issue reports an illegal memory access error occurring in CUDA max-pooling operations when using an extremely large dilation value that causes a 32-bit integer overflow in the kernel's loop counter, leading to out-of-bounds reads. The discussion focuses on adding a validation check at the meta layer to reject any kernel/stride/dilation/padding combinations that would overflow the index math, ensuring consistent error handling across CPU and CUDA backends before kernel launch.
- Commenters agree that the fix should be implemented in a shared meta function to maintain backend parity, propose adding regression tests and error inputs for both 2d and 3d max-pooling, and coordinate to consolidate the fix into a single PR that prevents the overflow and resulting illegal memory access.
- Number of comments this week: 6
-
[TRIAGE REVIEW] [MODULE: PERFORMANCE] [MODULE: CUDA] [MODULE: CUDA GRAPHS] [TOPIC: PERFORMANCE] [BOT-TRIAGED] [CUDA Graph] Size-specific ~2.1× slowdown for contiguous CUDA
Tensor.copy_on GB200: This issue reports a size-specific performance regression where contiguous CUDATensor.copy_operations experience about a 2.1× slowdown during CUDA Graph replay at exactly 512 MiB and larger sizes on an NVIDIA GB200 GPU, while adjacent sizes maintain full bandwidth. The slowdown is isolated to specific memcpy node sizes in CUDA Graphs and can be mitigated by splitting large transfers into smaller nodes; the problem was later confirmed fixed in CUDA 13.3 with changes to the memcpy kernels.- The comments identify the kernel activities responsible for the slowdown, confirm the fix in CUDA 13.3, and discuss that the fix involves multiple kernels rather than a single kernel, with a question raised about why a single kernel fix was not implemented.
- Number of comments this week: 5
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: 99
Summarized Issues:
- Selective Activation Checkpointing Behavior Change: This issue tracks a staged rollout of a backward-compatible behavior change in PyTorch's selective activation checkpointing (SAC) to ensure SAC-saved tensors respect user-defined saved_tensors_hooks. It introduces a new keyword argument with a multi-stage deployment plan including warnings, errors, and default changes to maintain compatibility and guide ecosystem library updates.
- CPU and CUDA Kernel Bugs and Performance Issues: Multiple issues report bugs and performance regressions in CPU and CUDA kernels, including a SIGBUS crash on aarch64 macOS due to unaligned float32 weight tensors, a slowdown in contiguous CUDA
Tensor.copy_during CUDA Graph replay on NVIDIA GB200 GPUs, and illegal memory read/write errors in various CUDA kernels such as SoftMax, multilabel_margin_loss, CTC loss, and grid_sampler_2d_backward. These problems cause crashes, out-of-bounds accesses, or degraded performance in specific scenarios.
- Inductor Backend and Torch.compile Bugs: Several issues describe bugs in the Inductor backend and torch.compile, including dtype changes in int8 batched matrix multiplications on CPU, KeyErrors for complex64 during Triton codegen, assertion errors when reassigning non-contiguous tensor data, and incorrect handling of resize_() on views causing memory pool errors. These bugs lead to crashes, incorrect outputs, or dtype contract violations during compilation or execution.
- Dynamo and Nested Compile Region Limitations: Issues highlight limitations and bugs in Dynamo's nested compile regions, including inefficiencies with opaque object fingerprinting, incompatibility with arbitrary user-defined objects and enums, and silently incorrect results due to global mutation not being observed. These problems cause slower compile times, repeated tracing, and incorrect compiled outputs.
- Memory and Resource Leaks in File and Rendezvous Systems: Problems include a file descriptor leak in the FileStore rendezvous implementation due to unclosed descriptors, and FileSystemWriter background threads swallowing exceptions during file writes, causing incomplete checkpoint metadata without error propagation. These issues risk resource exhaustion and silent failures in distributed or checkpointing workflows.
- Documentation and API Consistency Issues: Several issues address discrepancies and inconsistencies in PyTorch documentation and API behavior, such as incorrect docstring statements for
torch.nn.functional.grouped_mmoffsets and input types, and inconsistent error handling on MPS backend for unsupported complex64 and boolean tensor operations. These inconsistencies can mislead users or cause unclear error messages.
- Distributed and Backend Synchronization Bugs: Issues report that the NVSHMEM backend's synchronization methods are silent no-ops causing data races, and that NCCL inside CUDA graphs causes stream capture merge errors due to conflicting captures. These bugs lead to incorrect synchronization and runtime errors in distributed training scenarios.
- ROC and MI300 Cluster Test Disruptions: Multiple issues describe temporary disabling of tests and service interruptions related to the MI300 cluster migration to a new cloud service provider, affecting ROCm Linux tests and nightly performance tests. These disruptions cause test failures and require temporary workarounds.
- issues/191548, issues/191550, issues/191552, [issues/191554](https://github.com/issues/191554]
- Compilation and Build Failures on Specific Platforms: Issues include ROCm flash attention compilation failures on ppc64le due to improper device index casting, PyTorch extensions failing on Windows due to UNIX-only
shlex.quoteusage, and editable installs failing due to invalid CMake prefix paths. These platform-specific build problems prevent successful compilation or installation.
- Profiling and Logging Anomalies: Bugs include overlapping profiler ranges created by
torch.profiler.record_functionunderTorchDispatchMode, and lack of extension points in the logging system for out-of-tree device backends to observe log changes, causing improper profiling annotations and difficulties in logging customization.
- Numerical Correctness and Precision Bugs: Issues report silent numerical correctness bugs such as RMSNorm errors in BF16 autocast fusion on CUDA with Inductor, and rounding errors in floating-point CUDA tensor division by Python scalars due to multiply-by-reciprocal implementation, leading to deviations from expected results.
- Cache and Guard Serialization Issues: Problems include fallback nonce collisions in AOT precompile mode causing device mismatch errors, and failure to serialize guards for functions using torch.func transforms due to unserializable DICT_VERSION guards, making callable AOT unusable without unsafe guard filtering.
- Tensor Operation and Autograd Bugs: Several issues describe bugs in tensor operations and autograd, such as
__torch_function__objects causingTypeErrorin var-args int-list arguments, incorrect forward autograd tangent dimensions foraten::norm.Scalar, and bugs in fused CPU SGD optimizer skipping vectorized updates for fp16/bf16 parameters. These cause runtime errors or incomplete updates.
- Shape and Exporting Inconsistencies: Bugs include ONNX export shape inference errors due to mismatched output ranks with
F.linearanddynamo=True, and failure to raise ConstraintViolationError when multiple shape guards specialize dynamic dimensions to a single shape, leading to invalid compiled graphs.
- Resource and Garbage Collection Issues: Problems include permanent disabling of Python's cyclic garbage collection by
read_dir()without restoring state, and failure ofMemoryTracker.load()to restore operation count_op_index, causing inaccurate memory summaries and potential memory growth in long-running processes.
- Test Infrastructure and Naming Updates: Issues include renaming test files to better reflect scope (e.g.,
test_cudacodecache.pytotest_device_codecache.py), and disabling flaky or failing tests on XPU platforms or due to cluster migrations, affecting CI reliability and test clarity.- issues/191481, [issues/191620](https://github.com/issues/191620]
- Security and Supply Chain Concerns: A security concern is raised about the
install_docs_reqs.shscript fetching and executing a Node.js setup script with root privileges without verification, posing a supply chain risk if the remote endpoint or network is compromised.
- Device Interface and Backend Feature Enhancements: Proposals include a lazy registration mechanism for PrivateUse1 DeviceInterface backends to avoid heavy imports, and extending the
BackendFeatureenum to a framework-wide capability interface for consistent backend feature detection and maintainability.
- Performance Optimization Proposals: Suggestions include replacing PyTorch's two-pass deterministic cumulative sum CUDA kernel with NVIDIA CCCL's single-pass
DeviceScanfor better performance, adding CPU intrinsics for optimized inference, and fusing quantization casts with square block sizes into single kernels to improve performance.
- Miscellaneous Bugs and Feature Requests: Other issues cover a wide range of topics such as adding antialiasing support for 5D trilinear interpolation, adding ReduceOp.PREMUL_SUM support in LocalTensor collectives, bugs in
torch.nn.LPPool1dwith one-element tuples, and segmentation faults on macOS due to OpenMP runtime conflicts when importing torch and lightgbm.
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: 96
Summarized Issues:
- Distributed Process Group and Communication Bugs: Several issues involve bugs and inconsistencies in distributed process group management and communication, including incorrect device_id application causing hangs, stale local rank reporting in NCCL logs, and improper clearing of communicators when destroying subgroups. These problems lead to hangs, ambiguous diagnostics, and resource leaks affecting distributed training and debugging.
- torch.compile Backend and Compilation Failures: Multiple issues report failures and incorrect behaviors when using
torch.compilewith various backends like Inductor and aot_eager, including runtime errors due to unsupported operations, incorrect gradient computations with autocast, inconsistent forward pass results, and crashes caused by missing pattern inputs or index out-of-bounds errors. These bugs cause compilation crashes, incorrect outputs, or silent errors during model execution.
- Inductor Backend Numerical and Correctness Bugs: Several issues describe numerical inaccuracies, silent corruption, and incorrect results in the Inductor backend, including int32 overflow errors, nondeterministic float32 outputs, silent derivative corruption in native_batch_norm, and incorrect sum reduction for non-contiguous inputs. These bugs cause discrepancies between eager and compiled execution and affect model correctness.
- Memory and Resource Leaks: There are reports of memory leaks caused by improper resource management, such as a host memory leak in libtorch stable ABI due to custom operator string argument handling and leaked forward hooks in CommDebugMode causing stale hooks and corrupted module-tracker stacks. These leaks lead to unbounded memory growth and failures in repeated module executions.
- Distributed and Multi-threading Deadlocks and Hangs: Some issues describe deadlocks and hangs in distributed or multi-threaded contexts, including deadlocks in all-reduce operations issued from multiple CUDA streams due to missing synchronization channels and hangs in expandable-segments IPC tests caused by fabric-handle deadlocks. These problems cause permanent GPU or test runner stalls.
- ROC Platform Test Failures and Disabling: Multiple tests are disabled on the ROCm platform, especially for gfx1100 / Navi31 hardware, due to consistent failures in CUDA-related tests such as invalid block sizes, split cumsum, large strided reduction, and max/min bool operations. These failures affect test coverage and platform stability.
- Symbolic and Export-Related Bugs: Issues include problems with symbolic shape tests not verifying input specialization, bugs in exporting models with dynamic shapes or strict export with global constants, and ONNX export errors due to unsupported operations or incorrect right shift semantics. These cause export failures and incorrect model serialization.
- Logging, Debugging, and Documentation Improvements: Some issues request enhancements or fixes in logging and documentation, such as adding node names to distributed logging prefixes, fixing duplicate exception logs during Dynamo graph breaks, correcting documentation errors in grouped_mm tensor shapes, and improving parser robustness by replacing raw eval usage. These improve usability and maintainability.
- CUDA Kernel and Memory Corruption Crashes: Several issues describe crashes caused by CUDA kernel bugs, including illegal memory writes due to integer overflow in im2col_kernel, illegal memory reads in max_pool3d with large dilation, and segmentation faults from large CUDA graphs during replay. These cause program crashes and instability.
- Tensor Operation and Autograd Bugs: Issues include incorrect gradient computations such as in torch.ldexp with negative exponents, failure of swap_tensors on tensors with weak references, and bugs in customized autograd functions returning multiple tensors but mishandling backward calls. These cause incorrect gradients and runtime errors in autograd workflows.
- Performance and Optimization Issues: Some reports highlight missed optimizations and performance regressions, such as a missed matmul optimization causing fallback to slower kernels, and a 100x slowdown in BF16 model compilation on AArch64 CPUs due to use of reference kernels. These degrade training and inference efficiency.
- torch.fft and Numerical Inconsistencies: There is an inconsistency in handling infinite input values between CPU and GPU implementations of torch.fft functions, where CPU preserves structured infinite and NaN values but GPU converts outputs to NaN with corrupted imaginary parts, causing inconsistent numerical behavior across devices.
- torchrun and CLI Usability Enhancements: A feature request proposes adding shell completion support for the torchrun command to improve usability by enabling tab-completion of options and arguments, facilitating easier command-line usage.
- Error Message and Exception Handling Confusion: Some issues describe confusing or misleading error messages, such as PyTorch suggesting enabling expandable_segments after CUDA OOM even when enabled, and duplicate chained exception logs complicating debugging, which reduce clarity during error diagnosis.
- Test Disabling and Flaky Test Fixes on XPU Platform: Several tests are disabled on the XPU platform due to consistent failures, including tests for angle computations, variable tracing, and locals tracing under compile with dynamic shapes, which were resolved by reverting problematic pull requests.
- Compilation and Build System Issues: There are build failures reported for CUDA 13.4 source builds under sccache due to changes in nvcc behavior, causing missing cubin files and aborted builds, with a proposed workaround to disable sccache until upstream fixes are available.
- Randomness and Determinism Issues in torch.compile: Reports include non-deterministic behavior of cumsum on CUDA with torch.compile despite deterministic algorithms enabled, and incorrect outputs from symbolic dimension models traced with torch.compile due to differences in RNG states and data types rather than compiler faults.
- Miscellaneous Bugs in PyTorch Functions: Other bugs include a segmentation fault in the Sobol engine with large parameters, a bug in the Rprop optimizer's step method due to uninitialized variables, and a bug in LocalTensorMode's all_to_all_single function crashing on uneven splits. These cause crashes or failures in specific operations.
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: 391
Key Open Pull Requests
1. Add XPU storage sharing via SYCL IPC memory API: This pull request adds support for XPU storage sharing across multiple processes by implementing device memory export and import using the SYCL experimental IPC memory API, replacing a previous Level Zero-based approach, and includes new allocator methods, shared-memory bookkeeping, event synchronization, integration with PyTorch multiprocessing, and comprehensive tests for multi-worker DataLoader scenarios.
- URL: pull/191725
- Associated Commits: 07e18, abe65, eaa86, 2654a, ddde6, a1fd6, 9dd37, a7bde, 35db2, 3abb8, fd135, 314d2, e83da, 383ea, 419e1, 5ebef, ead91, 6c366, 1d4b0, 0742d, 5c31c, f05a6, f6ff0, 64569, 69bfa, 6cbd6, 21ce4, 2e146, 5b2c2, 992d8, 03077
2. flex_gemm: support packed NVFP4 main outputs: This pull request adds support in flex_gemm for recognizing and lowering packed NVFP4 main output expressions by grouping adjacent accumulator values and converting them through Blackwell's native packed E2M1 format, enabling GEMM operations to write Uint8 NVFP4 storage directly without requiring a separate quantization kernel or software rounding, while maintaining precision-neutral reference behavior and consistent rounding and saturation semantics.
- URL: pull/191270
- Associated Commits: ea006, 13349, 20fe4, ca74d, 7972d, 3ff2c, 9e7f9, 1f102, 9462f, 5356c, 77e13, 26303, 31b3e, 19549, dbf3a, c3c34, b52b8, 100c8, 8fb01, 85cd0, 66e75, 568e2, e75ef
3. flex_gemm: support bool main outputs: This pull request updates FlexGEMM to properly support boolean main outputs by using an existing epilogue storage adapter to convert boolean values stored as uint8 into the accumulator dtype, ensuring type correctness and avoiding precision loss, while also retaining the generated result dtype for direct output stores and rejecting generic integer main outputs due to conversion limitations.
- URL: pull/191271
- Associated Commits: 26e0e, ff085, 33ad2, e9454, 53a95, 8ddd6, 22984, d3cfc, ac273, 00688, f3e32, c2771, 45593, 25bae, 8ad6b, d448b, dd24d, 3047c, dac17, 4005b, c1957, d6084, 14b84
Other Open Pull Requests
- CuTeDSL Lowering and EFC Provider Adaptation in Inductor NVGEMM Backend: These pull requests enhance PyTorch's Inductor backend by enabling direct CuTeDSL lowering for dense NVGEMM epilogues and adapting the vendored dense EFC provider to consume shared CuTeDSL epilogue fragments without relying on a CUTLASS EVT DAG. They implement fallback paths, source assertions, and an adapter for EFC's protocols while maintaining compatibility with existing metadata and scheduling infrastructure.
- Profiler Improvements and Perfetto Trace Support: These pull requests improve the PyTorch profiler by introducing typed metadata events built directly from Kineto to eliminate JSON parsing and by enabling export of performance traces in the .pftrace format using a native pftrace encoder. They also add test coverage to validate the Perfetto-native export path against the Chrome JSON format.
- Inductor Compiler Enhancements and Bug Fixes: These pull requests improve the Inductor compiler by adding safeguards to prevent performance regressions in loop reindexing, fixing convolution layout optimization to include backward nodes, preserving the signbit of -0.0 in special function decompositions, and introducing bounded post-gradient abstract interpretation to optimize cross-entropy backward graphs. They also cap compile-worker counts to prevent GPU oversubscription in ROCm CI jobs.
- Dynamo Fixes and Memory Leak Prevention: These pull requests fix issues in PyTorch Dynamo related to incorrect
hasattrchecks on wrapper subclasses and graph breaks inside context managers, ensuring proper attribute resolution and resumable compilation. Additionally, they address a memory leak by removing strong-reference caches keyed on type objects and replacing them with recomputation to prevent unbounded memory growth.
- Distributed Backend and NCCL Enhancements: These pull requests improve the PyTorch distributed package by disabling reconfigurable mode in the nccl-lazy backend due to incomplete lifecycle support, enhancing lifecycle state management to include pair communicators, completing the WorkNCCL contract for correct status publishing, adding shared backend test coverage for nccl-lazy, supporting nonblocking NCCL communicators, enabling uneven list collectives in nccl2, and fixing group UID forwarding to the primary NCCL backend.
- CUDA Error Reporting and Triton XPU CI Updates: These pull requests improve CUDA error reporting by programmatically including relevant CUDA driver log excerpts via a low-overhead callback mechanism, and update the continuous integration process to run XPU unit tests in serial mode with an updated Triton version to ensure compatibility.
- Parallel Backward Algorithm for torch.scan: This pull request introduces an optional parallel backward algorithm for
torch.scanthat replaces the original sequential reversed scan with an associative affine scan, enabling significant speedups for long scans while preserving default sequential behavior and managing memory and gradient chunking trade-offs.
- Support for oct(), hex(), and bin() with index Objects: This pull request adds support for the
oct(),hex(), andbin()functions to handle user-defined objects implementing the__index__method by delegating to a PyNumber_ToBase-like function, fixing tracing errors for non-constant arguments and improving CPython compatibility.
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: 531
Key Closed Pull Requests
1. Backend agnostic dist new ops test: This pull request is part of a series to refactor distributed tests to be completely device-agnostic by adding a new private use1 backend test for test_c10d_ops_privateuse1.py, replacing hardcoded device and backend strings with device-agnostic APIs like torch.accelerator.current_accelerator(), and converting blacklist-style test guards to whitelist-style checks to ensure compatibility with out-of-tree backends, while depending on a prior PR (#178336) for foundational changes.
- URL: pull/191359
- Associated Commits: e93b6, da035, 68f7d, a11fd, 345c4, b99d9, 6aa6e, 71b51, 4911e, d4098, 914ec, 0bf05, 67d71, c62bc, 252ec, 39dcb, 76ddb, 156b5, 4e083, fe2ba, 61c0f, 5913c, ae508, 53695, cc36a, bf495, 68cca, fbb9d, b963e, 6f17b, 0a3d2, 99578, f7a95, 66561, 04a17, d1ad0, ffa6a, 3a9e4, 052f3, ff717, 24eee, 95927, 47e3e, 27bd1, c3c92, 9e479, a0f78, 1d539, 5f310, f9ecf, 5f6f4, 4cdc6, 7f510, c5d46, 6bd22, 7b48f, 796b3, 439ae, ec921, b6cdd, feb12, 9b53a, 09d54, 0eff7, 0af8b, 236d1, c91cf, 3cc19, 01c6d, ed659, 796e1, 54749, 460cc, 52f34, d11a8, de4e6, 17675, e91b7, ff671, d3e77, 72205, b4f0c, d95d6, b0af3, 275ff, 52bca, 9de1b, 1d40d, 2571f, cf4ae, be3b6, b405a, 5f17e, 0f487, 75a2a, af81d, f863a, b8dc7, 88442, 170ac, e3928, e0793, 90dd2, 846f3, 4b008, b8690, e7586, 0829d, dbb18, 1ae46, f972d, acd8d, fa2e8, b1a8d, c60e9, a94ca, aade5, 52acc, 10fb1, 2eb92, 791f5, 39dca, 37700, 269fa, d333f, 484c2, 3d2a7, f871b, f9722, 4665f, fde25, e43f0, 08777, 6386f, fa685, 85560, 0cbcf, 881dc, afc92, 42aa2, f7456, 94ef8, 175e1, a642f, 0e1f6, 20689, 6d04d, 17bb0, 18259, 1fd71, be75c, ff6ca, 06725, c24ec, 95cf9, f1575, 6de64, 13797, df80c, 1ffce, 2cc84, ffef5, fc755, e4331, 62059, d1d2a, d445a, 43297, 30ff8, 6e90d, ff1ae, 0b5c7, effe2, a5f51, 5dcf6, 386cc, 450a1, e6e9e, 0572d, a7475, b4d42, 64c89, 3620a, 6ce76, 6cb4f, 220c4, aacc4, 1be83, d0935, 8ef5d, f8305, 5eaba, 2d3ad, 481d9, daa5f, 6cdc4, 0e1ce, 5723d, 8f689, d240e, bfd3f, e8f44, e9090, 05914, b39c9, 76dac, ad50f, db78c, 6432a, 567a1, 65354, 7106f, 05dc6, 2192e, bf232, a116e, f05fc, 972ef, e4978, 46b8f, 9ff72, 81008, a7b75, acbc2, 393de, d734c, b1958, 72893, 728e9, 5702f, 84890, b4b56, f1687, 500ec, d6bff, 6483d, 7c32e, 6c27b, 45f97, 4f46a, 17c10, b08f2, 6ef46, 6ee9f, 9037b, 0b103, bc92d, 18a6e, 89f39, cfe91
2. [XPU] Migrate 10 dynamo test cases for XPU: This pull request migrates 10 Dynamo and FSDP test cases to support Intel GPU (XPU) by replacing CUDA-specific code with XPU-compatible methods, adding device type checks, updating test requirements, and ensuring compatibility with the XPU testing infrastructure.
- URL: pull/169241
- Associated Commits: 522b4, 0f007, f6b1c, f9b04, 15375, 78b21, 18e52, 8c0a9, a4a41, 52a33, c7e9c, 1975b, c461c, 5e164, 82bdb, e8d7d, a995a, 18568, 1b0bd, ec4bd, 7537a, 2c6cf, 288fc, 82fc1, 91bbd, bfd46, bc154, 4b98d, cb3c7, cf8f5, dc9a4, 8beb3, a2437, 663b8, 4bd69, 7a8dd, a4493, b412f, 68b7b, ae995, e12af, b044a, f68ab, 276b1, 68dd4, d6746, b6f8f, 2145c, f57a2, 55e0b, ea7a7, c4cbf, 23708, 3aff9, 68471, e758c, a1cb7, 5d972, d50ea, c96d9
3. [dynamo] set canonicalize_output_graph_node_order=True for export tests: This pull request updates the Dynamo export tests by setting the parameter canonicalize_output_graph_node_order to True to ensure consistent ordering of graph nodes during export.
- URL: pull/181780
- Associated Commits: 8c4d8, 7981e, 1fde5, ebaa8, 6ba8a, 03cd9, 950e2, c9eb2, 322ae, 6d8fa, 4c0c0, 79f01, 5726c, 9b1d1, a0422, 8932e, c650e, 6d251, c9063, 7645c, e7acb, 8ae32, 98b0f, 8cc70, 8e3a3, dbbf1, 482ac, 47ebe, 539c4, dd4b8, 4f4b3, e0676, e4c0e, 3d30b, 8e044, b4300, 41796, 14339, 1fd21, 11999, cb834
Other Closed Pull Requests
- Normalization and Grouped GEMM Enhancements: Multiple pull requests focus on normalization and GEMM operations, including the addition of a group normalization kernel in CuteDSL that was parked pending quack rmsnorm integration, and the addition of scaled grouped GEMM support with fp8 precision on NVIDIA Hopper architecture using cublasLt. These changes aim to improve performance and precision in normalization and matrix multiplication operations within PyTorch.
- Batch Normalization Migration: A pull request proposes migrating batch normalization to the new cuDNN v8 frontend API, which improves performance at the cost of higher memory usage, while maintaining backward compatibility through a fallback mechanism controlled by an environment flag. This update modernizes the batch normalization implementation to leverage newer cuDNN features.
- Sparse Linear Solver Fixes: A pull request enhances the cuDSS-backed sparse CSR linear solver to support 2D right-hand-side tensors by correctly handling leading dimensions and strides, fixing a bug that caused failures with 2D RHS tensors of shape (n, 1), and updating tests accordingly. This improves solver robustness for sparse linear algebra operations.
- Random Number Generator (RNG) CPU Support: One pull request adds CPU support for stateless RNG APIs in
torch/func/_random.py, including key management and distribution functions, ensuring semantics match the CUDA implementation despite lacking vectorization optimizations. This extends RNG functionality to CPU with consistent behavior.
- Dynamo Compiler Cache and Bug Fixes: Several pull requests improve the Dynamo compiler by resetting the compiler cache during testing to avoid stale effects, fixing a bug in constant-fold fallback guards to prevent stale attribute reuse, and correcting object_generic_getattr to raise proper errors and remove redundant overrides. These changes enhance Dynamo's reliability and correctness.
- Test Suite Refactoring: Two pull requests focus on refactoring test files (
test_reductions.pyandtest_scatter_gather_ops.py) to improve structure and clarity, as indicated by the "[ghstack-poisoned]" commit series. These efforts aim to maintain and improve test quality.
- VariableTracker Attribute Handling Improvements: Pull requests introduce a
get_value_for_setattr()hook to enable generic attribute mutation across VariableTracker subclasses and refactor UDOV's generic_getattr by extracting key hook overrides into separate methods. These changes improve attribute mutation tracking and prepare for full UDOV delegation.- pull/187469, [pull/187531](https://github.com/pytorch/pytorch/pull/187531]
- Memory Leak Fix in HSDP Backward Pass: A pull request fixes a memory leak in Huggingface Sharded Data Parallel backward pass by moving all-reduce state management to a shared communication context, allowing eager freeing of reduce-scatter output buffers and preventing accumulation of fp32 buffers during training.
- Libtorch RPATH Rewriting: One pull request adds an RPATH rewriting step using patchelf during libtorch extraction from pre-built wheels to reset library paths to $ORIGIN, ensuring correct resolution of NVIDIA CUDA dependencies and preventing runtime failures.
- Dynamo Cell Variable Namespace Separation: A pull request addresses a segmentation fault caused by cell variables sharing names with local variables in dynamo by introducing namespace separation to prevent collisions during nested graph breaks.
- MPS Backend Conv3d Kernel Migration: A pull request migrates Conv3d forward kernels in the MPS backend from MPSGraph to optimized Metal kernels with specialized matmul fast paths, multiple kernel implementations, and heuristic tile selection, achieving significant speedups on Apple Silicon GPUs.
- FlexGEMM Lowering Pipeline Improvements: Multiple pull requests improve the FlexGEMM lowering pipeline by classifying epilogue FX nodes once during dependency graph construction, completing grouped epilogue lowering for NVGEMM with extended support for various providers and layouts, adapting grouped epilogues to support NVGEMM with provider geometry gating, and extracting the CuTeDSL expression emitter into shared GEMM epilogue infrastructure. These changes unify analysis, emission, and lowering phases while maintaining fallback support.
- Exception Handling Graph Break Mechanism: A pull request introduces a mechanism to break the computation graph upon exceptions based on user code exception handling, enabling switching to eager mode when exceptions are caught and consistent error propagation otherwise.
- FlexGEMM Diagnostics Logging: One pull request adds detailed phase-oriented diagnostics logging to the flex_gemm lowering process, providing structured INFO and DEBUG reports on various stages without introducing parallel diagnostic models.
- ROCm CI Testing Improvements: A draft bundle pull request combines three changes aimed at improving ROCm CI testing, including GPU benchmark timing fixes, backward pass synchronization, and related linting and version updates.
- XPUGraph Native Recording Mode (Unmerged): A pull request proposes enabling XPUGraph native recording mode with various fixes and runtime checks but was not merged and requires oneAPI 2026.1.
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 |
|---|---|---|---|---|
| guilhermeleobas | 321 | 27 | 6 | 21 |
| mlazos | 309 | 33 | 0 | 3 |
| williamwen42 | 302 | 37 | 0 | 2 |
| bobrenjc93 | 270 | 2 | 0 | 0 |
| drisspg | 223 | 16 | 1 | 14 |
| ezyang | 186 | 32 | 1 | 14 |
| frgossen | 196 | 1 | 7 | 0 |
| d4l3k | 160 | 20 | 10 | 9 |
| dolpm | 175 | 11 | 0 | 0 |
| jansel | 159 | 0 | 0 | 13 |
Access Last Week's Newsletter: