Weekly Project News

Archives
Subscribe

Weekly GitHub Report for Pytorch: August 24, 2026 - August 31, 2026 (21:13:07)

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
    • 1.2. Other Noteworthy Updates
  • II. Issues
    • 2.1. Top 5 Active Issues
    • 2.2. Top 5 Stale Issues
    • 2.3. Open Issues
    • 2.4. Closed Issues
    • 2.5. Issue Discussion Insights
  • III. Pull Requests
    • 3.1. Open Pull Requests
    • 3.2. Closed Pull Requests
    • 3.3. Pull Request Discussion Insights
  • IV. Contributors
    • 4.1. Contributors

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 beta-level 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.

  1. [GOOD FIRST ISSUE] [TRIAGED] [OSS CONTRIBUTION WANTED] [ONCALL: PT2] [MODULE: DYNAMO] [LLM-AMENABLE] [BOT-TRIAGED] Migrate remaining VariableTrackers to declarative tp_methods / tp_getset / tp_members: This issue involves migrating the remaining VariableTracker method and attribute dispatch implementations in the PyTorch Dynamo project from ad-hoc conditional chains to declarative class-level tables using tp_methods, tp_getset, and tp_members. This refactor aims to unify and simplify attribute dispatch, enable automatic argument checking, and align with CPython’s type model to reduce bugs and improve maintainability.

    • Multiple contributors have claimed various sub-tasks within the migration, with some releasing or reassigning items due to environment constraints; several pull requests have been opened for specific variables, and ongoing coordination ensures no overlap on claimed items.
    • Number of comments this week: 19
  2. [MODULE: BUILD] [TRIAGED] [MODULE: ARM] [BOT-TRIAGED] cross compile: This issue describes a failure during cross-compilation of PyTorch for the AArch64 OpenWrt target, where the build process encounters an error due to an unrecognized command-line option '-verbose' passed to the cross-compiler, causing the linker script generation to fail. The user also reports additional problems related to Python path settings and permission errors during installation, seeking help to resolve these build and configuration issues.

    • The comments include requests for CMake build options, suggestions of workarounds such as disabling a specific optimization flag and pointing to the correct linker, confirmation that the workaround fixes the issue, and further discussion of related build errors and environment setup challenges encountered by the user.
    • Number of comments this week: 8
  3. [ONCALL: DISTRIBUTED] [TRIAGED] [ENHANCEMENT] [BOT-TRIAGED] [ONCALL: DISTRIBUTED INFRA] Improve mean time to detect the issue by adding warning logs when users miss to call destroy_process_group: This issue addresses a crash caused by missing calls to destroy_process_group in PyTorch distributed code, which leads to a fatal error during Python interpreter shutdown when background threads attempt to decrement reference counts on Python objects after the interpreter has finalized. The reporter suggests adding warning logs to detect this misuse earlier and discusses a potential fix involving checking if the Python interpreter is finalizing before attempting to acquire the GIL and decref objects, with further comments elaborating on the complexity of the shutdown race conditions and proposing a multi-part solution including guarding several related functions and properly stopping worker threads before interpreter finalization.

    • The comments confirm the diagnosis that the current guards using Py_IsInitialized() are insufficient because it remains true during finalization, and recommend using Py_IsFinalizing() to better detect shutdown state; they also highlight that multiple related functions need similar guards and caution about warning logs potentially causing crashes if they try to acquire the GIL. Additional discussion reveals that the issue affects multiple subsystems (Gloo and autograd), that the fix requires both guarding the interpreter vtable functions and properly stopping worker threads before shutdown, and that the race condition cannot be fully eliminated by guards alone. A patched build reproduces the crash due to a time-of-check-to-time-of-use window, confirming the need for a layered fix.
    • Number of comments this week: 7
  4. [HIGH PRIORITY] [TRIAGED] [ONCALL: PT2] [MODULE: INDUCTOR] [inductor] insert_overlap_deps wraps non-overlap-critical compute with control_deps, blocking fusion and causing silent bf16 accuracy regression: This issue reports that the default setting insert_overlap_deps=True in PyTorch Inductor’s overlap scheduling pass inserts control dependency operations that act as opaque barriers to kernel fusion, causing a regression where fusion opportunities are blocked. This leads to more, smaller Triton kernels being emitted for the same compute graph, which silently degrades numerical accuracy in low-precision (bf16/fp16) inference by materializing intermediate results to memory, and also causes a performance regression in some cases due to broken fusion despite some overlap gains.

    • The comments confirm the regression is caused by recent changes that treat fusion groups as non-atomic due to inserted control dependencies, with reproductions on multiple hardware platforms. Contributors discuss the trade-off between overlap scheduling and fusion quality, noting that the scheduler currently undervalues fusion cost. A proposed alternative implementation ("meta" mode) that prioritizes fusion over strict overlap dependencies shows promise in restoring fusion and accuracy without the regression, though with mixed performance results. Extensive benchmarking across models and hardware indicates that the default overlap scheduling with insert_overlap_deps=True often results in slower performance and accuracy artifacts, while the "meta" implementation improves correctness but may add some overhead. Suggestions include disabling insert_overlap_deps or using other Inductor-level overlap passes as workarounds until a more optimized fix is finalized.
    • Number of comments this week: 5
  5. [TRIAGE REVIEW] [MODULE: CRASH] [MODULE: DISTRIBUTIONS] [MODULE: CORRECTNESS (SILENT)] [MODULE: XPU] [BOT-TRIAGED] Gamma distribution broken on Intel GPUs: This issue reports that the Gamma distribution implementation on Intel GPUs produces incorrect mean and variance statistics compared to theoretical expectations and other GPU vendors like Nvidia and AMD, indicating a potential bug in the distribution's sampling on Intel hardware. Additionally, it is noted that removing the .to('cpu') call in the test code causes a segmentation fault on Intel GPUs, further highlighting stability problems.

    • The comments include a request for Intel team assistance, a suggestion that the Intel extension may not be necessary for PyTorch XPU, acknowledgment of environment constraints, and a proposed workaround involving chunked sampling to avoid errors and segfaults on Intel GPUs, with the original reporter confirming they used CPU computation but appreciating the chunking solution.
    • 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: 103

Summarized Issues:

  • TorchInductor Optimization and Fusion Issues: Several bugs affect TorchInductor's optimization passes and fusion patterns, including failure to recognize valid permute forms after linear layers, incorrect classification of inputs in concatenation operations, missed fusion opportunities in scaled dot-product attention due to scaling form, and incorrect aliasing behavior in generalized scatter copy-back operations. These issues cause missed optimizations, silent miscomputations, or unexpected mutation behaviors that degrade performance or correctness in compiled models.
    • issues/194620, issues/194858, issues/195320, issues/195451
  • CUDA and GPU Backend Memory Safety and Illegal Access: Multiple illegal memory read errors and crashes occur in CUDA kernels related to embedding, batch normalization, sparse tensor pruning, and quantized linear operations, often triggered by specific tensor configurations or empty inputs. These memory safety bugs cause device crashes and undefined behavior, highlighting the need for improved input validation and kernel robustness on CUDA devices.
    • issues/195185, issues/195186, issues/195187, issues/195188
  • Memory Safety Bugs in CPU Operators: Several CPU operator implementations suffer from out-of-bounds memory accesses due to missing validation of tensor sizes or dimension compatibility, including batch norm updates, log softmax backward, adaptive average pooling backward, masked softmax backward, nll_loss2d_backward, and weight norm. These bugs lead to heap-buffer-overflow errors and potential crashes, indicating critical safety issues in CPU kernels.
    • issues/194798, issues/194799, issues/194800, issues/194801, issues/194802, issues/194803, issues/194804, issues/194805, issues/194806, issues/194807
  • torch.compile and Dynamo Compilation Failures: Multiple issues report failures or incorrect behavior when using torch.compile with fullgraph=True or the Inductor backend, including inability to capture rejection-sampling loops, data-dependent control flow errors, silent failure to apply in-place mutations, and internal errors due to unsupported bound methods or symbolic integer handling. These problems cause compilation errors, silent incorrect outputs, or crashes during graph capture and execution.
    • issues/194763, issues/194764, issues/194765, issues/194766, issues/194768, issues/194972, issues/195422
  • Distributed and Rendezvous Backend Bugs: Several bugs affect distributed training and rendezvous mechanisms, including silent termination of lease renewal threads due to transient etcd exceptions, masking of original errors by unguarded shutdown calls, improper return values causing crashes in elastic agent launch, and incorrect logging of rank values. These issues lead to job teardown, loss of error context, crashes, and confusing logs during distributed runs.
    • issues/194710, issues/194718, issues/194870, issues/194871
  • Gradient and Autograd Incorrectness: Bugs in gradient computations include NaN gradients for torch.prod and linalg.svd due to unstable backward expressions, inconsistent gradient behavior at NaN values in CPU backward kernels, and incorrect gradient accumulation on MPS backend due to non-associative atomic adds. These issues cause incorrect or unstable gradient values that can affect training correctness.
    • issues/194699, issues/194705, issues/195075, issues/195404
  • Performance and Memory Overhead in Inductor Backend: Inductor backend suffers from performance regressions and memory inefficiencies, including unnecessary full-buffer clones during scatter and indexed mutation sequences, redundant large temporary buffer allocations for in-place addcmul_ on as_strided views, and excessive memory allocations for sequential mutations of non-overlapping views. These inefficiencies increase runtime and memory usage despite producing correct results.
    • issues/195285, issues/195329, issues/195330, issues/195437
  • NCCL and Distributed Communication Issues: Problems in NCCL backend include test hangs due to improper communicator destruction, lack of batch-level communication annotations in the profiler, and significant latency increases caused by unaligned per-rank payloads in tensor collectives. These issues degrade distributed training stability, profiling accuracy, and communication performance.
    • issues/194679, issues/194693, issues/195450
  • Documentation and API Signature Discrepancies: Some issues highlight missing or incorrect documentation, such as the lack of description for torch.detach, and signature mismatches for out parameters in torch.var, torch.std_mean, and torch.var_mean, leading to confusion and runtime errors when using these APIs.
    • issues/194885, issues/195019
  • Scheduler and Learning Rate Bugs: Bugs in learning rate schedulers include acceptance of invalid factor=0.0 in ConstantLR causing division by zero errors, and a feature request to add a decay parameter to CosineAnnealingWarmRestarts for decaying peak learning rates across restarts. These affect scheduler correctness and flexibility.
    • issues/194712, issues/195009
  • Backend-Specific Bugs and Feature Requests: Various backend-specific issues include missing support for volumetric bicubic interpolation in grid_sample, bugs in torch.isin on CPU with mixed dtypes, addition of a new Intel XPU ProcessGroup backend, and a proposal for multi-output autotuning in TorchInductor. These affect functionality, correctness, and performance across different hardware and features.
    • issues/194725, issues/194738, issues/194747, issues/194761, issues/194724
  • Build and Cross-Compilation Failures: Build issues include a cross-compilation failure for AArch64 OpenWrt due to an unrecognized compiler flag, slow rebuilds caused by unconditional os.walk in scikit-build-core, and a macOS build failure due to incorrect Metal API probing. These problems hinder building PyTorch on certain platforms or configurations.
    • issues/194874, issues/194945, issues/194946
  • API and Functionality Bugs in PyTorch Core: Bugs include incorrect behavior of torch._numpy.arange with a start keyword argument, silent incorrect results from torch.aminmax when outputs overlap, and a bug in batch_aten_sub fusion dropping the alpha argument. These cause unexpected or incorrect outputs in core PyTorch functions.
    • issues/194866, issues/195338, issues/195442
  • Security Vulnerability in Unix Socket Handling: A stack buffer overflow vulnerability exists in torch/lib/libshm/socket.h due to unbounded strcpy() calls copying Unix socket paths without length checks, risking memory corruption and potential exploitation.
    • issues/195182
  • Incorrect Behavior on Apple M1/M2 GPUs: Batched matrix multiplication operations on Apple M1/M2 GPUs produce silently incorrect results for large reduction dimensions due to a kernel bug in MPSGraph, causing memory overreads and incorrect outputs despite correct 2-D matmul paths.
    • issues/195163
  • Random Number Generation Reproducibility Issues: CUDA RNG produces different results across NVIDIA GPU models when tensor sizes exceed device-specific thresholds, due to RNG streams being assigned per thread rather than per element, breaking deterministic algorithm guarantees across devices.
    • issues/194676
  • Miscellaneous Proposals and Improvements: Proposals include adding an AverageMeter utility to simplify metric tracking, replacing hardcoded device allowlists with dynamic dispatcher queries, and integrating a specialized CUDA kernel for exponentiating SU(3) matrices to improve performance.
    • issues/194997, issues/195423, issues/195414

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: 80

Summarized Issues:

  • Backend-specific bugs and crashes: Multiple issues report backend-specific bugs causing crashes, incorrect outputs, or memory corruption on MPS, ROCm, CPU, and CUDA backends. These include segmentation faults, incorrect gradient computations, silent data corruption, and kernel launch failures affecting various operations like convolution, matmul, attention, and tensor indexing.
  • [issues/73190, issues/96982, issues/104832, issues/117826, issues/187988, issues/188113, issues/189849, issues/190740, issues/194442, issues/194447, issues/195074]
  • torch.compile and Inductor-related failures: Several issues describe failures and bugs in torch.compile and the Inductor backend, including compilation errors, silent dropping of gradients, incorrect JVPs, autotuning crashes, kernel caching problems, and numerical divergences in distributed training. These problems affect model compilation, runtime correctness, and performance optimizations.
  • [issues/77230, issues/97750, issues/132756, issues/146306, issues/151027, issues/155800, issues/161295, issues/187284, issues/187445, issues/187446, issues/187447, issues/187448, issues/187449, issues/188069, issues/193735, issues/193751, issues/193876, issues/193932, issues/193933, issues/194490, issues/194719, issues/194740, issues/194976]
  • MPS backend numerical and functional inconsistencies: Issues highlight numerical inaccuracies and functional bugs on the Apple Silicon MPS backend, such as incorrect mode behavior, NaN propagation, zero outputs, and nan results for complex powers, as well as missing implementations for complex types and padding errors causing silent corruption.
  • [issues/90261, issues/96982, issues/117826, issues/190740, issues/194442, issues/194813, issues/194922]
  • Distributed Data Parallel (DDP) numerical divergences: Multiple reports document reproducible numerical divergences in loss, gradients, and model parameters between eager and torch.compile DDP training across different models and optimizers, despite identical seeds and deterministic inputs, indicating unexpected inconsistencies in distributed training results.
  • [issues/187445, issues/187446, issues/187447, issues/187448, issues/187449]
  • Segmentation faults and memory safety issues: Several issues describe segmentation faults and heap-buffer-overflow errors caused by unchecked strides, out-of-bounds memory reads, and invalid kernel arguments in core tensor operations like convolution, reshaping, and aliasing, leading to crashes instead of safe exceptions.
  • [issues/73190, issues/194016, issues/194017, issues/194050, issues/194051, issues/194054]
  • Test failures and flaky/skipped tests: Various tests are disabled or fail consistently on specific platforms such as ROCm, XPU, or main branches due to precision mismatches, flaky behavior, or platform-specific bugs, impacting CI stability and test coverage.
  • [issues/84886, issues/168868, issues/188836, issues/190237, issues/193406, issues/193704]
  • Serialization, JIT, and PyTorch model loading issues: Issues include failures in serializing/deserializing GraphModules, missing methods in JIT models when loaded in C++, and bugs in saving/loading objects with pybind11 enums, causing runtime errors and incompatibilities between Python and C++ runtimes.
  • [issues/128554, issues/195283, issues/194569, issues/194571]
  • API design and namespace proposals: One issue proposes moving a private API (queue_callback()) to a public namespace (autograd.graph) to improve accessibility and design clarity.
  • [issues/66199]
  • Naming and cloning inconsistencies: The clone method for torch::nn::Sequential in C++ does not preserve child module names, overwriting them with default numeric names and causing confusion in module identification.
  • [issues/71069]
  • Build and packaging problems: Several issues report build errors with specific compiler versions, incorrect installation layouts, and packaging model transitions for ROCm wheels, causing installation and compilation difficulties.
  • [issues/186405, issues/191102, issues/191688, issues/192334]
  • Dynamo and FX graph tracing bugs: Bugs in Dynamo backend cause silent dropping of custom backward methods and type errors during FX graph tracing, complicating debugging and causing incorrect gradients or compilation failures.
  • [issues/193279, issues/155800, issues/163713]
  • Kernel and operator-specific bugs: Specific operators like torch.mode, torch.baddbmm, torch.aminmax, and fused kernels exhibit incorrect behavior such as inconsistent outputs, NaN propagation, or silent incorrect results due to implementation errors or memory layout assumptions.
  • [issues/90261, issues/194442, issues/195337, issues/193751]
  • Security vulnerability in package loading: A critical security issue allows arbitrary code execution via malicious pickle data deserialized by torch.package.PackageImporter.load_pickle, exposing PyTorch users to potential attacks through unprotected deserialization.
  • [issues/194694]
  • Resource and environment limitations causing crashes: Running PyTorch in restricted environments with limited CPU thread or process limits causes crashes and failures in thread creation, impacting usability in constrained systems.
  • [issues/193859]
  • Learning rate scheduler proposal: A novel adaptive, state-aware learning rate scheduler is proposed to dynamically adjust learning speed based on model saturation, aiming to reduce overfitting and accelerate convergence in large-scale training.
  • [issues/195238]
  • Miscellaneous issues: Other isolated bugs include problems with tensor subclass dispatch in compiled code, incorrect handling of pybind11 enums in tensor subclass constructors, and a closed issue with no description.
  • [issues/193932, issues/193933, issues/194569, issues/195196]

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: 463

Key Open Pull Requests

1. [headeronly] migrate vec128: This pull request migrates the vec_base.h and vec128_float_neon.h files into the torch/headeronly namespace by moving them to torch/headeronly/cpu/vec/, refactoring their dependencies to rely solely on other header-only files, introducing small SVE helper functions to avoid pulling in large ATen dependencies, and updating related tests and build configurations to support this header-only structure while maintaining existing ISA specializations and optional Sleef support.

  • URL: pull/195065
  • Associated Commits: eae1c, d989f, 78444, 0cba0, dd189, 7e842, ed4c0, 21dd6, 66f9e, 69ff6, 1f878, 40eb2, c5af2, e1684, 5daca, 8e869, 8da7b, 7108b, 292f2, 191cb, b2a6f, 55560, 60baf, 5a409

2. [precompile] Accept multiple example inputs, add a Dynamo capture front-end, and support stateful incremental capture: This pull request generalizes torch.compiler.precompile to accept multiple example inputs, introduces a Dynamo-based capture front-end that produces multi-variant artifacts dispatching among guarded specializations, and adds a stateful incremental capture API (precompile.stateful) that accumulates guarded variants across caller-driven loops with robust environment and input validation, improved guard minimization, and comprehensive handling of training, backward passes, and artifact loading, thereby enabling more flexible, reliable, and incremental compilation workflows for dynamic PyTorch programs.

  • URL: pull/195044
  • Associated Commits: f8dff, 6c8c3, b6d00, 29dc8, 6970f, f7902, d265a, a3a84, 681d9, afa55, 398c7, c0dad, 66e2b, a7e99, 49d17, 0d769, 1df53, 50e22, 3f5d7

3. [Test] Refactor test_foreach.py : This pull request refactors the test_foreach.py file to align with current test class guidelines by renaming and restructuring test classes such as TestForeach to TestForeachDevice, replacing conditional skips with device-specific checks, consolidating and extracting tests into device-dependent and device-independent classes, updating tests to use generic hardware abstractions including CUDA and XPU, and enhancing the codebase with class docstrings and hardware classification.

  • URL: pull/195452
  • Associated Commits: 96a63, 651a8, 3049c, 981a9, 62581, 58d69, 992d8, c15af, 6fd40, 081d1, 4562c, 29aae, 0949a, a8546, 0ac8b, 1a752, d1478

Other Open Pull Requests

  • Shared kernel unification and axis generalization: Multiple pull requests focus on unifying and generalizing reduction kernels in PyTorch by folding specialized kernels into a single shared kernel with an axis parameter. These changes enable efficient vectorized reductions over different dimensions, improve performance, and maintain exact index trait handling for operations like argmax and argmin.
    • pull/195055, pull/195057, pull/195051
  • Optimizations for matrix and tile reductions: Several pull requests introduce optimizations for matrix reductions, including a narrow-row serving strategy, fused two-stage cross-CTA reduction kernels, and vectorized row reduction kernels. These improvements leverage thread mapping, shared memory staging, and shared tile datapaths to achieve significant speedups and better memory access efficiency.
    • pull/195056, pull/195053, pull/195052
  • Inner-tree order and mid-band optimizations: Pull requests introduce an optional fixed-order inner-tree fold method and optimize the inner-tree order's mid-band by staging data through shared memory with cp.async. These changes improve performance by up to 3x, maintain bit-neutrality, and address race conditions while achieving near parity with unordered reductions.
    • pull/195059, pull/195061
  • Updates to aten::sum and aten::prod inner-tree implementations: A pull request updates the inner-tree implementations of aten::sum and aten::prod to use a new shared kernel order for _sum_into and _prod_into operations. This results in significant speedups for many input shapes while preserving existing functionality and fallback coverage, supported by comprehensive testing.
    • pull/195062
  • CuteDSL infrastructure and kernel foundations: Multiple pull requests introduce foundational CuteDSL infrastructure for reduction kernels, including a shared CuteDSL infrastructure for defining and launching reduction operators and the ReduceBlock K0 kernel with its dispatcher. These form the base for future optimizations and specialized kernels in PyTorch.
    • pull/195050, pull/195051
  • FlyDSL and AOTI launcher enhancements: Pull requests add MI350 GPU coverage for FlyDSL launchers, introduce FlyDSL-specific Inductor extern-kernel lowering, and expand composed models to preserve and decompose FlyDSL operators. These changes improve packaged launcher execution, ABI support, and runtime management for FlyDSL in PyTorch.
    • pull/194640, pull/194638
  • Precompile system improvements and incremental capture: Pull requests enhance the torch.compiler.precompile module by enabling multiple example inputs, adding a Dynamo-based capture front-end, and supporting stateful incremental capture. These improvements increase flexibility, robustness, and observability of ahead-of-time compilation artifacts and model execution.
    • pull/195288, pull/195362
  • Memory optimization in optimizers: A pull request reduces peak memory allocation in Adam, AdamW, NAdam, and Rprop optimizers by rewriting update steps to use in-place operations. This is carefully gated to preserve autograd correctness and is verified with new tests for memory usage and numerical correctness.
    • pull/194971
  • Cross-compilation and CI fixes: A pull request fixes the riscv64 cross-compilation CI job by aligning environment variables, provisioning build tools, restoring toolchain overrides, and adding checks to ensure correct ABI tagging. This improves the reliability and correctness of cross-compilation workflows.
    • pull/194880
  • Native operation utilities and DSL-agnostic tooling: A pull request introduces basic shared native operation utilities in pure Python without importing any DSL toolchain. This provides canonical functionality for native-op machinery and enables override conditions on every dispatch in a DSL-free environment.
    • pull/195049
  • PropertyVariable class implementation: A pull request introduces a new PropertyVariable class to model Python's built-in property descriptor independently from DescriptorVariable. It implements type members, getset descriptors, descriptor set behavior, builder mappings, and includes comprehensive tests.
    • pull/194642
  • FakeTensor metadata preservation: A pull request aims to preserve the metadata of FakeTensor objects when creating as_strided views in the PyTorch C++ codebase. This ensures that FakeTensor properties are maintained through such tensor operations.
    • pull/194744
  • Header-only utility refactoring: A pull request moves TypeCast.h and overflows.h headers into torch/headeronly/util, refactors TypeCast.h to use a C10_NOINLINE macro to avoid code bloat, removes obsolete source files, and updates build and test files. This furthers the transition to a header-only utility codebase.
    • pull/194781
  • CPU isolation testing in ROCm DIND CI: A pull request focuses on testing CPU isolation within the ROCm Docker-in-Docker CI environment by adjusting distributed tests, parallelism limits, process counts, and environment variables. These changes improve test reliability and resource management in the ROCm CI workflow.
    • pull/194897

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: 545

Key Closed Pull Requests

1. [DO NOT MERGE] ci: add manywheel build telemetry (Apr midpoint 977c5623): This pull request adds build-analysis instrumentation to the manywheel CI build script to collect telemetry data such as ninja_log.txt and cache statistics from Linux binary manywheel CI runs, aiming to diagnose the cause of ROCm nightly build times exceeding six hours, but it is marked as telemetry-only and not intended to be merged.

  • URL: pull/185936
  • Associated Commits: 916ef, b81ce, a82d6, 0b597, 32d1b, 194cd, 1fb85, 0ce7e, 7956a, 22b0a, d9a80, f853a, 7ad0c, dcc2a, 95dc3, c6897, e74f2, 8296a, 56615, 2afb9, 4ee89, a0e3c, aa054, 6f6ce, e018d, b35c9, d1107, 6d74d, 1ff17, 75e7f, 79440, 616c5, 27a4e, 8b8cd, 53a29, f08d2, 52819, a7013, 2f252, d60c6, e77b9, 3ac00, 6ba37, 5e8f2, 337ce, f6428, 48f35, a5b10, e8684, 23aca, 8d091, d3d23, d1da9, cf9d0, b8d25, 39cdb, 8fab0, f1efb, 7d06d, a96ce, 41aa6, 8d7cc, 40c32, 89cf1, 0fec8, 0dfcb, 79a37, 41106, 92ae6, f2b29, 427bf, 94549, 72d57, 958cc, e5cab, af360, fc9dd, af55f, 14475, 7b622, 2de96, ba6c0, f291f, 5338d, 95ab0, 72df1, 4f3f6, 48ffb, 4ed88, e2468, bf06d, 834fe, 33d3c, 7bb04, 43d0e, f678a, a7734, 8284e, 6cd70, 9644e, cc04f, c0ba1, 95f6f, a55e6, 8ff59, 08abf, 5319a, ffdef, 4cd36, 794e9, a68f4, dd38b, 8097f, 72aeb, 45a3b, d93ec, 39bf5, 54edd, b4bec, 71739, ef6b7, 78e54, 0bc51, 0a76f, 27e22, 43c9b, 43018, a095e, f9b10, 2f9bb, b2bc1, 001d4, 0708a, 75364, 160ff, 9e197, 6b88e, 1b4d2, feb95, 43257, c6bcb, c7b28, 30072, 4f0b2, 44e99, 2af01, fd7f5, 7baf3, 1ae1f, e4d49, cc5b6, 54f56, 00ecc, 01834, 7431f, 5a244, d26b4, 8b792, bddfa, 8a9f7, 39c6e, cdddd, 1e74b, 2d1dc, 5d1c4, c9b7e, f7d7f, d9958, 373c6, 56f6c, 37878, 6ce7d, 61355, b48cd, b1d30, f6bf3, a03a4, 35d91, 3c5c2, 0ac38, b1095, 8e25b, 3f605, df08d, 28186, ae9f4, d6f5f, d211e, ffe39, 2efc5, 6ddd7, aed20, c9a41, 0cd9e, 29442, cf70a, 8479a, 65c8f, 4d88d, dfd7b, d6946, a9e2d, ba7bb, 6a3af, bcccd, cc174, 6035a, 800b2, ea08e, b37f3, 64031, 5abcc, b853d, 7e118, bc8db, 50d6e, 7119b, 2f37c, bfe05, b19e5, f8267, c09e1, b0045, eed6f, b05a9, b5938, 3fe54, 57c1d, 43ac7, cb2f6, ddbf9, b9e2f, ad35a, 6a13e, 6b1da, 5a81e, 9f4fa, bf6c3, d33af, f8d08, 1b7d0, 61e3c, 37527, 9f57c, 2853f, 63d79, dbb48, 03ca3, 977c5, e5078

2. [Inductor] Allow mixed pointwise/reduction combo kernels: This pull request proposes enabling the Inductor backend to support kernels that combine both pointwise and reduction operations, allowing for mixed pointwise/reduction combo kernels.

  • URL: pull/184226
  • Associated Commits: 9afa8, 279da, 716ab, fb750, 35442, 7b377, 5c8a1, dc2f1, 7b712, aac2d, 8f45b, 4d1d6, 002ab, 0279a, fd697, 46ee2, 94401, 7a56a, 7be18, ae2d4, 664a4, 7fcc2, a87cc, e019f, dd330, 98084

3. S390x: fixes for docker image build: This pull request addresses multiple fixes and updates for building the s390x Docker image, including updating OpenSSL download locations, installing gcc-toolset-14-binutils-gold to resolve linking issues, adding retries and scripting for dependency builds, updating protobuf and cmake versions, adjusting file triggers for tests, removing sudo usage, and updating supported Python versions.

  • URL: pull/181359
  • Associated Commits: 26f4c, 6255a, dfa03, 421b9, f3cbb, 2ff48, a9667, f0aab, 124f0, c9764, 7cca5, 4a954, 2f4d1, cab74, 17d98, 1b04a, 8e093, 4cb95, 978d9, 45d79, 013d6, f01b8, a41f9, 416be, 667c8

Other Closed Pull Requests

  • Inductor combo kernel autotuning and fusion improvements: Multiple pull requests enhance the PyTorch Inductor backend by enabling runtime coordinate-descent tuning for combo kernels, making compile-time autotuning safe in deterministic mode, and extending nested reduction fusion with improved legality checks. These changes optimize kernel block size selection, prevent compilation failures, and enable combined kernels for specific operations, improving performance and stability.
  • pull/189003, pull/189724, pull/190595
  • GPUDirect Storage (GDS) integration enhancements: A pull request adds native torch.cuda.gds APIs for save/load/is_available, introduces thread-local storage hooks for custom serialization I/O, improves cuFile operations with partial I/O detection and multi-GPU correctness, and enables optional GDS usage in torch.save and torch.load. Comprehensive tests and graceful fallbacks ensure robustness when the cuFile library is unavailable.
  • pull/178710
  • Support for complex64 LU factorization on Apple Silicon MPS: This update adds complex64 data type support to torch.linalg.lu_factor and related LU operations on the MPS backend by implementing a new Metal kernel with partial pivoting. It enables complex linear algebra computations such as determinant and slogdet on MPS that previously failed or fell back to CPU.
  • pull/188473
  • Inductor support for user-defined Triton kernel constants: The code generation for user-defined Triton kernels is improved by supporting non-builtin Python objects passed as tl.constexpr values. This ensures user-defined constant classes are properly imported and available in both kernel source and launcher execution scope, handling constructor-style serialized constants correctly.
  • pull/189692
  • Static trip counts and fixed-order reductions in native code: The datapath's static-fragment form is restored to support compile-time fixed-order reductions by reintroducing static trip counts and tile structures. This enables fixed DAG-based kernel generation while preserving the default runtime trip count approach.
  • pull/195058
  • Enforcing internal invariants with assert statements: Previously suppressed assert statements in the reduction stack are rewritten as real checks that raise errors when internal invariants fail. This change ensures that these conditions are loudly enforced rather than silently ignored under optimized Python runs.
  • pull/195060
  • Ragged cross-CTA row split for prime or awkward matrix dimensions: A new method is introduced to handle matrix dimension N cases that are prime or awkwardly divisible by allowing chunk splits without exact divisors. This improves kernel performance and correctness in partial result computations for challenging input shapes.
  • pull/195054
  • SAC ac_graph_id tagging and activation checkpoint tracing: SAC ac_graph_id tagging is unified within _CachingTorchDispatchMode across HOP and make_fx tracing paths, using a shared counter to prevent region ID collisions. A lightweight _vanilla_ac_tag_context is implemented to tag vanilla activation checkpoint regions during tracing, ensuring proper recompute tag cleanup and MUST_SAVE annotations at SAC↔vanilla boundaries.
  • pull/178314
  • MKLGeneratorImpl for consistent global vslStream RNG state: A new MKLGeneratorImpl seeds the MKL generator once from the CPUGenerator to prevent repeated variate issues and links its state changes to the CPUGenerator for reproducibility. Tests demonstrate elimination of variate repetition seen in the previous implementation.
  • pull/151218
  • Precision fix for XPU addmm and baddbmm with bf16 and f16: The XPU implementation is corrected for precision loss by pre-copying input tensors and using oneDNN's internal float32 accumulator for accumulation. This aligns behavior with CPU and CUDA and fixes accuracy problems related to non-trivial alpha and beta values.
  • pull/174864
  • Device-agnostic refactor of test_streams.py: The test suite is refactored to be device-agnostic by adding decorators like @requires_accelerator and using instantiate_device_type_tests to run tests across all registered accelerator backends. Backend-specific tests are consolidated, hardcoded device references replaced, and test coverage improved without changing core behaviors.
  • pull/185213
  • Upstreaming torchcomms communication library: The standalone torchcomms library limited to gloo and nccl backends is integrated into PyTorch as the torch.comms module, including C++ sources, Python packages, build system integration, and tests. Linting, build configuration, test compatibility, and namespace conflicts are addressed for seamless maintainability.
  • pull/185565
  • FlyDSL BlockWise1x32 scaled_mm kernel optimizations for gfx950: Extensive optimizations are added for FlyDSL scaled matrix multiplication kernels supporting MXFP8 and MXFP4 data types on gfx950 GPUs. Parameterization, pipeline improvements, and autotuning enhancements significantly improve performance and efficiency while maintaining numerical accuracy.
  • pull/193527
  • FlyDSL FP16/BF16 gfx950 GEMM kernel integration: Building on FlyDSL templates, an FP16/BF16 gfx950 GEMM kernel is vendorized and integrated into torch.mm's max-autotuning system with tile-configuration heuristics, runtime compatibility, dispatcher caching, and runtime gating. This results in notable performance improvements over existing implementations.
  • pull/190903
  • Refactor FSDP memory and overlap tests for accelerator-generic support: Tests are classified by hardware requirements, preserving CUDA-specific allocator expectations while making overlap tests generic through capability declarations and dynamic resource checks. This ensures appropriate test admission across supported accelerators.
  • pull/193563
  • Simplify stateless RNG split and fold_in kernels: The stateless RNG split() and fold_in() kernel implementations are simplified by removing grid-stride loops, reducing complexity. This results in generally neutral to improved performance on H100 GPUs across various input sizes.
  • pull/190036
  • New stateless RNG APIs for bounded and full-range integers: New APIs generate bounded or full-range random integers and raw bits across integral types, consistent with existing normal() and uniform() APIs. Modulo bias limitations are addressed by enforcing errors for large non-power-of-two ranges, with in-place and convenience wrappers provided.
  • pull/190253
  • Refactor test_control_flow.py for device-agnostic testing: Test classes are reorganized into device-unrelated and device-agnostic groups, device parameterization unified, CUDA-specific decorators removed, and test gating improved. This better supports multiple device types including CPU and XPU.
  • pull/190552
  • Fix Inductor layout optimization for backward convolution graphs: The decide_layout_opt function is fixed to count both forward and backward convolution nodes when enabling NHWC layout optimization. This restores layout optimization for backward graphs and improves training throughput by about 20% on models like mobilenetv3_large_100, with updated helper functions and comprehensive tests.
  • pull/191306
  • Add Linux Jammy Python 3.10 GCC 11 debug build and distributed test job: A new CI job is proposed with adjustments to runner, shard configuration, and periodic scheduling. This job was not merged.
  • pull/191509

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 343 121 0 0
slayton58 268 23 0 0
anijain2305 263 11 0 0
guangyey 223 7 1 16
cyyever 155 68 0 2
d4l3k 171 13 1 7
malfet 109 17 2 49
jansel 150 9 0 4
Isalia20 110 14 1 11
Skylion007 58 8 0 68

Access Last Week's Newsletter:

  • Link
Don't miss what's next. Subscribe to Weekly Project News:
Powered by Buttondown, the easiest way to start and grow your newsletter.