Weekly Project News

Archives
Subscribe

Weekly GitHub Report for Pytorch: August 17, 2026 - August 24, 2026 (22:01:54)

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 FP16 support on X86 CPUs, expanded Intel GPU support, a backward-incompatible security improvement flipping the default of torch.load to weights_only=True, and the deprecation of official Conda package publishing, reflecting a trend toward improved performance, security, and streamlined deployment.

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. [TRIAGE REVIEW] [MODULE: CRASH] [TRIAGED] [ONCALL: PT2] [MODULE: INDUCTOR] [MODULE: XPU] [BOT-TRIAGED] [XPU] Compile-time autotuning (triton.autotune_at_compile_time) benchmarks kernels with unclamped random floats, fatal on XPU when index derived from them is out-of-range: This issue describes a fatal runtime error occurring on Intel XPU hardware during compile-time autotuning of Triton kernels in PyTorch's torch.compile path, where random floating-point inputs can produce out-of-range indices that trigger device-side assertions. While CPU and CUDA backends handle such out-of-range accesses gracefully, the XPU Level-Zero driver treats these assertions as fatal errors, causing the autotuning subprocess to abort and crash, which was observed during vLLM's startup profiling for transformer models.

    • The comments discuss interest in contributing fixes, share diagnostic outputs comparing CUDA and XPU behaviors, confirm the XPU abort issue is tracked separately, and propose potential solutions including clamping inputs or skipping assertions during autotuning; a contributor has opened a PR addressing the general autotune hazard while others monitor related XPU fixes.
    • Number of comments this week: 9
  2. [MODULE: OPTIMIZER] [TRIAGED] [BETTER-ENGINEERING] [ACTIONABLE] [BE] Evaluate and improve eager for-loop optimizer memory perf: This issue focuses on evaluating and improving the memory performance of for-loop implementations in various single-tensor optimizers within the project, aiming to minimize unnecessary memory allocations and optimize in-place operations. The goal is to analyze each optimizer's memory footprint carefully, verify current efficiency, and implement changes where beneficial without compromising readability or autograd functionality.

    • The comments reveal an ongoing collaborative effort where contributors discuss assignment, progress updates, and the complexity of balancing memory optimization with code clarity; verification tests confirm current memory usage fits expected budgets, and incremental in-place improvements have been identified and locally committed, with plans to continue refining and possibly open a pull request.
    • Number of comments this week: 7
  3. [TRIAGED] [ONCALL: PT2] [MODULE: DYNAMO] Port PyObject_SetAttr / PyObject_DelAttr in the object model: This issue is about porting the CPython functions PyObject_SetAttr and PyObject_DelAttr into the Dynamo project by modeling them in object_protocol.py alongside existing PyObject_* equivalents. The task involves handling the tp_setattr and tp_setattro slots in base.py::VariableTracker and builds on related ongoing work modeling tp_getattro.

    • The comments show a contributor volunteering to work on the issue and promising a PR, followed by offers of help and references to related code. Another contributor expressed interest and began their own implementation but deferred to the original contributor’s progress after seeing the PR was underway, leading to coordination and agreement to continue with the initial contributor’s work.
    • Number of comments this week: 6
  4. [MODULE: DOCS] [TRIAGED] [MODULE: DOC INFRA] [docs] Docs website search finds duplicates and produces bad snippets: This issue addresses the problem of the PyTorch documentation website's search functionality returning multiple duplicate links for the same function, such as torch.nn.functional.conv2d, and producing poor-quality snippets that often include incomplete or irrelevant code examples. The discussion highlights the need for improved search result deduplication, better snippet generation, and enhanced relevance ranking, especially for exact symbol name queries, with suggestions to explore alternative search engines and post-processing techniques.

    • The comments confirm the duplication issue across various functions and suggest that search results should be post-processed to remove duplicates and improve snippet quality; multiple users share examples and screenshots illustrating the problem, and there is a consensus on exploring different search technologies and boosting important namespaces to enhance search relevance.
    • Number of comments this week: 5
  5. [TRIAGE REVIEW] [MODULE: CUDNN] [MODULE: CORRECTNESS (SILENT)] [MODULE: SDPA] [BOT-TRIAGED] SDPA cuDNN backend silently corrupts greedy generation on B200 (sm_100) for models with num_key_value_heads < 8: This issue reports a silent corruption bug in the cuDNN SDPA backend on NVIDIA B200 (sm_100) GPUs during greedy text generation for models with fewer than 8 key-value heads, causing duplicated and fused tokens that degrade downstream task accuracy by up to 36 points without any error or warning. The problem is reproducible with the default SDPA dispatcher selecting cuDNN, confirmed across multiple PyTorch and cuDNN versions, and can be mitigated by disabling the cuDNN SDPA backend or switching to alternative attention implementations.

    • The comments discuss attempts to reproduce and verify the bug on newer PyTorch and cuDNN versions, confirm that the defect persists unchanged, clarify that the issue is specific to certain Qwen models rather than all models with low key-value head counts, and demonstrate that FLASH_ATTENTION is not affected; overall, the defect remains consistent and reproducible despite environment updates.
    • 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: 105

Summarized Issues:

  • torch.compile internal errors and tracing issues: Multiple bugs occur when using torch.compile with various operations such as torch.func.vjp, torch.cond, and symbolic shapes, leading to internal errors, crashes, or tracing failures that do not happen in eager mode. These issues include aliasing problems, dimension mismatches, and missing variable references causing compilation or runtime failures.
    • issues/193809, issues/193810, issues/194103, issues/194170, issues/194234, issues/194323, issues/194329
  • torch.compile and Inductor backend crashes and compilation errors: Several crashes and errors occur in the Inductor backend during compilation or runtime, including segmentation faults, missing variable errors, and assertion failures triggered by specific input patterns or kernel launches. These bugs affect operations like matrix multiplication on tensor subclasses, list outputs under CUDA graphs, and Triton kernel compilation.
    • issues/193932, issues/193933, issues/193953, issues/193966, issues/193988, issues/194515, issues/194490, issues/194558
  • Internal fake-tensor errors and shape/dimension mismatches in torch.compile: Using torch.compile with operations like torch.cat, torch.linalg functions, and chained reductions on float16 tensors leads to internal fake-tensor errors or dimension mismatches, causing crashes or incorrect behavior during compilation or execution.
    • issues/193812, issues/193813, issues/193814, issues/193817
  • Segmentation faults and crashes due to malformed inputs or invalid parameters: Several native crashes occur when PyTorch functions receive malformed inputs or invalid parameters, such as malformed hidden states in LSTMCell, invalid sparse tensors in sparse.mm, or mismatched kernel sizes in convolution operations, causing process aborts or segmentation faults instead of Python exceptions.
    • issues/193823, issues/193824, issues/194016, issues/194017
  • Memory and resource management issues including leaks and pinned memory problems: Bugs include pinned memory not being returned correctly when copying from MPS to CPU, virtual address space leaks due to mmap-backed constants in AOTInductor, and memory leaks in cpp_wrapper codegen for multi-output fallback kernels, leading to resource exhaustion or incorrect memory states.
    • issues/193845, issues/193915, [issues/194602](https://github.com/issues/194602]
  • OpenMP and threading resource exhaustion in constrained environments: OpenMP initializes more worker threads than allowed by CPU affinity or cpuset restrictions, causing resource exhaustion and thread creation failures in environments with strict process limits such as Kubernetes.
    • issues/193859
  • Bugs in PyTorch Inductor optimizations and caching mechanisms: Issues include improper handling of free variables causing Inductor errors during recompilation, stale shape-environment guards causing constraint violations in AOTAutogradCache, and baking of attention backend call nodes causing cache bypass and compile-time regressions.
    • issues/193876, issues/194001, [issues/194007](https://github.com/issues/194007]
  • ROCm and AMD GPU specific failures and regressions: ROCm backend experiences allocation failures in cholesky_inverse due to fixed workspace sizes, native crashes in bf16 convolution and GEMM operations, and fused SDPA backend launch failures on AMD gfx1100 GPUs, causing crashes and degraded performance.
    • issues/193890, issues/194447, [issues/194498](https://github.com/issues/194498]
  • Incorrect or missing error handling causing crashes or silent failures: Several functions fail to raise proper Python exceptions on invalid inputs, instead causing crashes or silent incorrect results, such as in sparse.mm with malformed tensors, slow_conv3d_forward with large SymInt parameters, and torch.baddbmm on MPS propagating NaNs incorrectly.
    • issues/193824, issues/194016, [issues/194442](https://github.com/issues/194442]
  • Bugs in tensor shape and stride metadata leading to heap-buffer-overflow: Multiple bugs in tensor view creation and storage resizing cause out-of-bounds memory reads or writes, including unchecked strides, offsets, and shrinking storage without updating shape metadata, resulting in heap-buffer-overflow errors detected by AddressSanitizer.
    • issues/194050, issues/194051, issues/194052, issues/194053, [issues/194054](https://github.com/issues/194054]
  • Regression and inconsistency in torch.compile dtype handling and output correctness: Compiled code sometimes silently promotes dtypes (e.g., Normal distribution samples to float32), accepts invalid inputs (e.g., negative beta in smooth_l1_loss), or produces incorrect numerical results (e.g., torch.minimum returning +0.0 instead of -0.0), causing discrepancies with eager mode.
    • issues/194547, issues/194548, issues/194501, issues/194345, [issues/194347](https://github.com/issues/194347]
  • Pybind11 enum handling issues in torch.compile and serialization: Passing pybind11 enums as arguments to tensor subclass constructors causes tracing errors, and serialization with weights_only=True fails due to pickle reduction errors related to pybind11 enums, leading to exceptions during compilation and save/load operations.
    • issues/194569, [issues/194571](https://github.com/issues/194571]
  • Device backend and platform-specific bugs and missing features: Issues include missing memory API implementations causing crashes on Apple Silicon MPS, lack of 64-bit indexing support in MPS pooling, and runtime errors querying memory info on XPU under WSL2 due to missing Level Zero Sysman support.
    • issues/194105, issues/194600, [issues/194576](https://github.com/issues/194576]
  • ONNX export regressions with torch.dynamo enabled: Exporting models with torch.onnx.export and dynamo=True fails due to missing ONNX functions or conversion errors during type promotion, breaking previously working exports involving scalar and tensor operations.
    • issues/194381, [issues/194382](https://github.com/issues/194382]
  • Performance and optimization proposals and regressions: Proposals include modularizing FSDPv2 buffer handling for TPU performance, improving loading of large CUDA constants in AOTInductor, and adding fast paths for ConvTranspose3d on Apple M4 Max. Regressions include eager flush overhead during distributed checkpoint saving and missing matrix multiplication reordering in transformers.
    • issues/194008, issues/194163, issues/194495, issues/194496, issues/194034, [issues/194473](https://github.com/issues/194473]
  • Crashes and errors related to CUDA graph capture and stream handling: Issues include crashes when querying events recorded during thread-local CUDA graph capture, unsafe enqueuing of work on parent CUDA streams during active child capture, and segmentation faults when calling methods on pybind11-bound classes created without __init__.
    • issues/193982, issues/194412, [issues/193984](https://github.com/issues/193984]
  • Distributed and collective communication debugging and failures: Enhancements are proposed to record per-rank All2All split sizes for better debugging, and tests related to all-reduce and AOTInductor on XPU have been disabled due to failures.
    • issues/194559, issues/194403, [issues/194562](https://github.com/issues/194562]
  • Miscellaneous typos and documentation fixes: Minor fixes include correcting method name typos and comment argument names to improve code clarity and correctness.
    • issues/194404, [issues/194405](https://github.com/issues/194405]

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

Summarized Issues:

  • Compilation and Build Issues: Several issues report failures or crashes during compilation or building of PyTorch components, including problems with mmdetection on PyTorch 1.3 Docker images requiring manual environment variable setup, Dynamo failing to compile code using ExitStack or formatted string logs, and Triton kernel compilation errors due to FakeTensor incompatibilities or padding casting failures. These issues highlight challenges in supporting complex Python constructs and third-party kernels during symbolic tracing and compilation.
    • issues/29057, issues/109309, issues/120375, issues/121526, issues/192063
  • Runtime Crashes and Memory Errors: Multiple reports describe segmentation faults, floating point exceptions, and illegal memory accesses occurring in various PyTorch functions such as _remove_batch_dim, slow_conv3d, embedding bag backward kernels, and native batch norm with missing running stats. These crashes often result from missing input validation, out-of-range indices, or unhandled corner cases, causing hard crashes instead of graceful errors.
    • issues/77893, issues/77900, issues/192445, issues/194014
  • torch.compile and Dynamo Backend Bugs: Numerous issues involve bugs and regressions in the torch.compile feature and its Dynamo/Inductor backends, including incorrect gradient computations, graph breaks due to unsupported operations or symbolic shape expressions, crashes during backward passes, and silent correctness bugs in shape inference. These problems affect a wide range of operations such as RNN/LSTM models, custom autograd functions, checkpointing, and fused kernels, often causing compilation failures or incorrect runtime behavior.
    • issues/149909, issues/154259, issues/155800, issues/160757, issues/172711, issues/181690, issues/185497, issues/193061, issues/193183, issues/193194, issues/193492, issues/193693, [issues/193705](https://github.com/issues/193705], issues/193723, issues/194281, issues/194357
  • Gradient and Numerical Inconsistencies: Several issues report discrepancies in gradient computations and numerical results between eager and compiled modes, including incorrect gradients for chained LayerNorms, inconsistent gradient routing for quantile operations with tied values, and signbit differences in KL divergence outputs. These inconsistencies can cause silent correctness bugs or subtle downstream errors in models.
    • issues/111739, issues/185543, issues/187721, issues/193061
  • Performance Regressions and Slowdowns: Some issues describe significant performance regressions, such as a 15x slowdown caused by enabling TORCHINDUCTOR_FREEZING=1 during CPU compilation with Inductor, and a ~6.6x slowdown plus hangs in vLLM CPU tests due to a oneDNN library update replacing optimized kernels with slower implementations. These regressions impact model training and inference speed severely.
    • issues/146697, issues/190757, issues/193951
  • Distributed and ROCm CI Failures: Multiple issues report test failures, hangs, and instability in ROCm CI workflows and distributed tests, including kernel-related hangs causing node freezes, Kineto submodule changes masking errors, and flaky MI200 GPU tests due to precision and hardware detection issues. These problems have led to test skips, unstable CI runs, and temporary disabling of tests.
    • issues/168651, issues/168652, issues/178884, issues/179911, issues/191552, [issues/194094](https://github.com/issues/194094]
  • Test Failures and Skips: Several issues concern failing or skipped tests across various modules, including CUDA primary context tests, dropout numerical accuracy tests, XPU TF32 advisory warnings, and XPU platform test disables due to consistent failures. These test issues highlight ongoing challenges in maintaining cross-device test stability.
    • issues/168743, issues/168652, issues/193407, [issues/194223](https://github.com/issues/194223]
  • API and Documentation Issues: Some issues address API inconsistencies and documentation errors, such as the incorrect description of the index parameter in torch.Tensor.index_add_ and outdated warnings in torch.utils.checkpoint about exceptions that do not occur. These cause confusion and require clarification or updates.
    • issues/73638, issues/180119, [issues/193711](https://github.com/issues/193711]
  • Memory and Resource Management Bugs: Issues include memory tracker state not restoring operation counts, unnecessary temporary memory allocations increasing CUDA memory usage, and bugs in buffer in-place updates when loading compiled modules. These affect memory profiling accuracy and runtime memory efficiency.
    • issues/191397, issues/192594, [issues/165444](https://github.com/issues/165444]
  • Random Number Generation and Distribution Bugs: A bug in the Inductor CUDA backend causes torch.randn and torch.randn_like to produce uniform distributions instead of normal when a specific flag is set, leading to incorrect random values in compiled code.
    • issues/193938
  • Profiling and Build Instrumentation: One issue proposes adding build profiling instrumentation to PyTorch's CMake setup to monitor build time impacts of changes, motivated by the need to analyze overhead introduced by pull requests.
    • issues/189078
  • Installation and Packaging Issues: A recursion error during installation of PyTorch nightly wheels for rocm7.14 caused by cyclic dependencies and packaging layout issues breaking RPATH linkage for ROCm runtime libraries are reported, leading to failures in loading required shared objects.
    • issues/193979, [issues/192997](https://github.com/issues/192997]
  • Distributed Communication Test Failures: NVSHMEM dispatch-and-combine tests fail and hang on specific CUDA platforms, causing CI failures and requiring test skips until root causes are resolved.
    • [issues/191201](https://github.com/issues/191201]
  • Symbolic Shape and Backend Compiler Failures: A critical bug in symbolic boolean expression equality causes backend compiler failures during symbolic shape analysis, impacting compilation correctness.
    • [issues/124110](https://github.com/issues/124110]
  • Context Manager and Decorator Issues: Using decorate_context to convert context managers into decorators results in uninformative stack traces, complicating debugging and error identification.
    • [issues/118747](https://github.com/issues/118747]
  • Device and Backend Support Gaps: Lack of support for unified memory APIs on MPS devices and rejection of out-of-tree backends in RNG state functions cause failures in certain device contexts and backends.
    • issues/167447, [issues/194067](https://github.com/issues/194067]

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

Key Open Pull Requests

1. [wip][inductor] Enforce freeze discipline for FlexibleLayout strides: This pull request enforces a strict freeze discipline for FlexibleLayout strides in PyTorch's Inductor backend by explicitly distinguishing between provisional stride reads (peeks) and persistent stride reads, introducing runtime checks and freezing mechanisms to prevent silent data corruption caused by stride changes after freezing, along with related fixes, test coverage, and a new strict mode for CI validation.

  • URL: pull/193860
  • Associated Commits: 96f13, cd58e, 76b8f, 3471c, d654f, e50ea, 1c3bf, f2ffa, a4c64, 32608, 13f61

2. [AMD][inductor] Register FlyDSL flex-attention backward as a backend choic…: This pull request introduces an experimental, opt-in FlyDSL backend for the flex-attention backward pass on ROCm gfx950, integrating it into the PyTorch Inductor infrastructure with a scaffolded kernel template and gating logic to ensure it is only selected when explicitly enabled and supported, while maintaining the existing default backend unchanged.

  • URL: pull/193854
  • Associated Commits: 1bf92, ddddc, 51cd8, eaa82, 40bac, d7ea0, 4ae35, ea342, 5928a, f2eb8

3. [Test] Refactor test/test_nn.py to be device-agnostic [11/N]: This pull request refactors the test/test_nn.py file in the PyTorch project to make the tests device-agnostic, ensuring compatibility across different hardware devices.

  • URL: pull/194045
  • Associated Commits: 8d11c, 8d684, c894d, ab105, cd294, 8ef9c, 39ac3, 6ad68, b48e8, eba96

Other Open Pull Requests

  • gfx950 FlyDSL backend for grouped GEMM operations: These pull requests add gfx950 FlyDSL backends implementing grouped GEMM kernels for F.scaled_grouped_mm and F.grouped_mm operations, enabling high-performance fp8 and ragged 2D/grouped 3D inputs on ROCm GPUs. They include kernel selection, autotuning, configuration schemas, shape gating, caching infrastructure, and demonstrate significant performance improvements over existing BF16, Triton, and ATen backends.
    • pull/194298, pull/194032
  • Test suite refactoring and hardware classification: Multiple pull requests refactor test classes such as reductions tests, TestTensorCreation, and test_fake_tensor.py by splitting tests into CPU/device-specific classes, adding hardware classifications, and making tests device-agnostic. These changes improve test organization and coverage without altering existing test behavior.
    • pull/194350, pull/193882, pull/193878, pull/193986, pull/193961
  • Re-enabling and fixing ROCm tests: These pull requests remove temporary skips on ROCm 7.14 for symmetric memory unit tests and the test_cholesky_solve_batched_many_batches test, validating that the tests now pass following fixes in hip runtime and rocBLAS trsm large-batch.
    • pull/193980, pull/194101
  • Detection and routing of dark tests in CI: Pull requests implement systems to identify unexecuted ("dark") tests in CI by combining test enumeration with observed runs, and change routing of these tests to GPUs based on actual execution data. This enables more accurate hardware requirement detection and improves test coverage reporting using ClickHouse queries.
    • pull/193855, pull/193856
  • Enhancements to torch._dynamo.maybe_mark_dynamic: This pull request adds support for min and max keyword arguments to mark tensor dimensions dynamic with initial range constraints, fixes related bugs, and ensures proper recompilation behavior when bounds change.
    • pull/194091
  • Uniform-rank simulation contract in FakeProcessGroup: This pull request introduces an opt-in contract to model every rank as holding identical data in collective operations, fixing incorrect or no-op behaviors in allreduce, reduce_scatter, and all_to_all_single, while improving type stubs and maintaining backward compatibility.
    • pull/194545
  • Gating sharded-gradient memory deallocation in FSDP2: This pull request adds an explicit opt-in method to properly gate sharded-gradient memory freeing on optimizer events, ensuring asynchronous optimizer reads complete before gradient storage is freed and improving stream synchronization without changing existing contracts.
    • pull/193862
  • Readonly member modeling in Dynamo: This pull request models readonly members by requiring the setter argument in the Member class, explicitly defining setters as None to replicate CPython's READONLY flag behavior.
    • pull/193983
  • Refactoring test_torchinductor_dynamic_shapes.py for multi-accelerator support: This pull request enhances multi-accelerator support by introducing generic hardware classification, replacing device-specific decorators, adding device parameters, using consistent guards, and integrating capability-based test requirement management.
    • pull/194029
  • Work-in-progress tp_setattro_impl implementation: This pull request is a work-in-progress implementation of the tp_setattro_impl function as part of a stack of related changes managed via ghstack.
    • pull/193844
  • Host-side Tensor Memory Access (TMA) support for Triton B200 GEMM: This pull request adds a Jinja hook to create TMA descriptors on host or device, enabling their passing into kernels with the tensordesc<> signature, improving Inductor's support for Triton B200 GEMM templates.
    • pull/193857
  • Test result ingestion improvements for H100 and B200 GPUs: This pull request updates the upload-test-stats.yml workflow to support H100 and B200 GPU workflows, fixes workflow name mismatches, and adds validation checks to improve test data ingestion reliability.
    • pull/193861
  • Refactoring device type mapping in Inductor: This pull request replaces the mutable global DEVICE_TO_ATEN mapping with the DeviceOpOverrides interface as the authoritative per-device contract, enabling extensible device type mappings for both in-tree and out-of-tree backends.
    • pull/193904
  • Enabling profiler tests on XPU devices: This pull request adjusts multiple test files for XPU compatibility, adds a test verifying profiler and XPU graph coexistence, removes XPU memory profiler test from blocklist, fixes memory profiler code for high-bit addresses, and skips a hanging test for investigation.
    • pull/193961
  • Experimental torch.compiler.precompile API update: This pull request changes the API to require a keyword-only sequence of example input tuples, enabling multiple Dynamo recompilations with dynamic-shape policies, storing compiled artifacts as Python source, and allowing efficient dispatch to precompiled variants with focused tests.
    • pull/194113
  • Shared-memory tiled CUDA kernel for dense 2D transpose copies: This pull request introduces a CUDA kernel optimized for dense 2D transpose copies, significantly improving memory coalescing and throughput on CUDA devices with performance gains up to 4.8x on smaller data types, supported by comprehensive testing.
    • pull/194310
  • Decorator for saving hill-climbable compiled kernels as Python source: This pull request adds a decorator enabling compiled kernels to be saved as readable Python source files keyed by file path, supporting manual tuning, version control, and deployment without automatic recapture or cache invalidation.
    • pull/193899
  • Runtime guards in export_python module: This pull request introduces runtime guards that record and verify environmental and input-related conditions via comment stamps in compiled artifacts, ensuring correctness and warning or refusing execution when discrepancies arise during artifact replay.
    • pull/193900

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

Key Closed Pull Requests

1. Fix current stream selection: This pull request addresses an issue in the current stream selection by correcting the implementation that previously searched for non-existent attributes in the base torch.Stream class, thereby fixing the problem reported in https://github.com/intel/torch-xpu-ops/issues/4091.

  • URL: pull/188037
  • Associated Commits: 1467c, 3ce24, c7919, 87437, 1feff, 81825, e1f29, 0b425, 0d063, f7d29, 78602, 8236e, 1efec, 9d013, b11ef, 5560e, 5c618, f4a03, 03b9b, c0db4, 0ace2, 66bcb, cb8c1, 0c0c8, 15882, 9d8b0, 433bf, c12bc, 24bfb, 9e7cf, 3df41, 36663, 0c0ca, 17124, 492ef, 05fd1, 82af5, 91963, 832f5, c4699, 17187, 5cc28, ba8ed, a1f61, fe1f4, e0135, 2825d, 27138, 8cc83, 61410, b6b1a, 9fa06, 7cecc, c41ab, e546b, cec5c, 37e2f, 4645c

2. Enable eager tests for inductor-unittest - - Enabel more tests in test_ops.py on Intel GPU: This pull request aims to expand and enable eager tests for the inductor-unittest framework on Intel GPUs by generalizing multiple test classes with onlyAccelerator, allowing xpu device tests via instantiate_device_type_tests() with allow_xpu=True, skipping tests with known xpu limitations, and removing obsolete skip conditions to improve test coverage and reliability in test_ops.py.

  • URL: pull/178849
  • Associated Commits: 4b00b, f7db5, 8d5fd, e4fd3, 50ae1, 52fef, bdc07, d595e, 5c71b, 3ef50, 5a03c, 6ffcf, d077c, 19360, 7a8e9, a51b1, 9a2af, 8f674, 68567, 15508, ed077, b6e43, 4c044, 3b5ca, 5e773, 2a7b7, b5142, 95af8, ab9fb

3. [XPU] Migrate 2 test cases autograd, creation_ops for XPU: This pull request aims to migrate two test cases, autograd and creation_ops, to support XPU devices by generalizing device handling through accelerator utilities, replacing CUDA-specific code with XPU-compatible methods, addressing related test failures, and updating test skips accordingly.

  • URL: pull/169798
  • Associated Commits: 16f86, 5ce71, 1772e, bd58f, 480bf, 83e57, e7429, 4a040, 45fb5, b0f2f, f2120, 6df6f, 3bdf8, 448d0, a81c2, 6d55a, d3397, f81ae, 35ee2, 3f1cb, bf985, c4c8e, fc407, f40f0, 7619e, 6d41a, ad571, c93cd

Other Closed Pull Requests

  • Dynamo tracing and symbolic handling improvements: Multiple pull requests enhance PyTorch Dynamo's tracing capabilities by addressing issues with tensor data pointer tracing, lifted symbolic integer placeholders, class construction with overridden __getattribute__, and identity comparison handling. These changes improve graph representation, prevent divergence between Dynamo and exported graphs, and ensure correctness in identity comparisons and user-defined class tracing.
    • pull/186283, pull/185082, pull/185749, pull/184830
  • Dynamo test and error handling fixes: Pull requests fix issues in Dynamo's test harness and error handling by correcting expected-failure test reporting and improving exception handling for fake tensor mode. These fixes ensure accurate test outcomes and allow user code to properly handle exceptions during fake execution.
    • pull/186189, pull/185776
  • Inductor backend enhancements: Several pull requests improve Inductor's performance and correctness by guarding fallback dispatcher calls, enhancing combo-kernel scheduling for scaled dot-product attention, adding a pre-check to avoid unnecessary fusion reindexing, and proposing a dedicated addcmul primitive for numerical correctness. These changes reduce overhead, prevent performance regressions, and fix numerical issues while preserving autograd behavior.
    • pull/184223, pull/189002, pull/193158, pull/193219, pull/183673, pull/193158, pull/193219, pull/184223, pull/189002, pull/193158, pull/193219, pull/183673
  • Performance and compilation improvements: Pull requests introduce memoization for symbolic binary arithmetic expressions to reduce redundant computations and improve compile time, and refactor test suites to improve structure and organization. These efforts enhance compilation efficiency and maintainability.
    • pull/193219, pull/187926
  • PyTorch DataLoader threading support: A pull request explores thread-based data loading workers as an alternative to multiprocessing, introducing thread-local RNG states and utility refactors. This approach aims to reduce memory usage and startup time while maintaining throughput when the GIL is released.
    • pull/161044
  • TorchInductor documentation and import optimizations: One pull request proposes adding comprehensive TorchInductor documentation covering internals and debugging, while another defers optional third-party library imports in Dynamo to improve import-time performance and linting compliance. These changes enhance usability and maintainability.
    • pull/178628, [pull/186044](https://github.com/pull/186044]
  • Special function autograd support: A pull request adds autograd support for eight low-level Bessel special functions, implementing forward and backward differentiation with gradient checks and handling singularities to ensure numerical stability.
    • pull/189872
  • Stride metadata and layout handling fixes: Pull requests fix stride metadata preservation in while_loop constructs and improve error handling for mkldnn FakeTensors by tracking layout information and bypassing fake dispatch caches. These fixes ensure correctness in stride compatibility and layout-specific operations.
    • pull/185304, pull/186435
  • OpaqueBase pybind compatibility: A pull request makes the OpaqueBase class usable as a pybind base by installing CustomClassBase on a synthetic heap type, enabling explicit Python base support without corrupting C++ holder layouts. This allows classes like ProcessGroup and Placement to use CustomClassBase directly.
    • pull/184944
  • TorchBench CPU smoketest improvements: A pull request improves the CPU TorchBench smoketest by enhancing performance baseline checks to validate speedup and absolute latency within a two-sided range, preventing stale baselines and masking regressions. This results in more accurate performance validation with detailed failure diagnostics.
    • pull/185460
  • Duck sizing default behavior change: A pull request disables duck sizing by default in torch.fx.experimental to prevent false equality guards and unnecessary recompilations caused by symbolic variable assignments, while retaining an opt-in configuration for specific tests.
    • pull/186373

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 184 96 1 73
jansel 209 0 0 81
anijain2305 265 16 0 4
guangyey 243 11 1 23
drisspg 181 10 5 2
d4l3k 183 0 1 5
guilhermeleobas 149 19 1 10
malfet 112 6 3 29
cyyever 91 40 0 9
mlazos 122 14 0 2

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