Weekly GitHub Report for Pytorch: July 20, 2026 - July 27, 2026 (22:04:51)
Weekly GitHub Report for Pytorch
Thank you for subscribing to our weekly newsletter! Each week, we deliver a comprehensive summary of your GitHub project's latest activity right to your inbox, including an overview of your project's issues, pull requests, contributors, and commit activity.
Table of Contents
I. News
1.1 Recent Version Releases:
The current version of this repository is v2.6.0
1.2 Version Information:
Released on January 29, 2025, PyTorch 2.6 introduces significant enhancements including torch.compile support for Python 3.13, a new dynamic compilation control API torch.compiler.set_stance, and improved AOTInductor packaging and ABI compatibility. Notable highlights also include FP16 support on X86 CPUs, expanded Intel GPU support, FlexAttention for X86 CPUs targeting LLMs, and a backward-incompatible security improvement flipping the default of torch.load to weights_only=True, alongside the deprecation of official Conda package publishing.
II. Issues
2.1 Top 5 Active Issues:
We consider active issues to be issues that that have been commented on most frequently within the last week. Bot comments are omitted.
-
[ONCALL: DISTRIBUTED] [BOT-TRIAGED] [FSDP2] MixedPrecisionPolicy reduce_dtype is not applied to the TP-mesh Partial -> Replicate gradient all-reduce: This issue reports a bug in the FSDP2 and tensor parallelism (TP) integration where the
MixedPrecisionPolicy'sreduce_dtypesetting is not applied to the TP mesh's Partial-to-Replicate gradient all-reduce, causing this all-reduce to run in the parameter's dtype (e.g., bf16) instead of the requested fp32. This discrepancy leads to precision loss in gradient reductions for TP-replicated parameters such as norm weights and MoE router weights, affecting shipped default configurations including Llama 3.1 70B and 405B models, and the discussion explores the root cause, impact, and potential fixes involving passing thereduce_dtypethrough the redistribution calls to ensure consistent mixed precision behavior.- The comments confirm the issue as a composability problem between FSDP2 and TP, clarify that the existing
reduce_dtypepolicy is intended to cover this case but is not currently applied uniformly, and discuss possible solutions including passingreduce_dtypeinto the DTensor redistribution call without adding new user-facing knobs; they also consider the implications for TP-only and combined TP+FSDP setups, ultimately agreeing that FSDP should own the reduce dtype for these gradients and that the fix should ensure consistent fp32 reduction for all relevant parameters. - Number of comments this week: 11
- The comments confirm the issue as a composability problem between FSDP2 and TP, clarify that the existing
-
[MODULE: CRASH] [MODULE: WINDOWS] [TRIAGED] [MODULE: XPU] [BOT-TRIAGED] XPU: RuntimeError: level_zero backend failed with error: 20 (UR_RESULT_ERROR_DEVICE_LOST): This issue describes a runtime error occurring with the level_zero backend on an Intel Arc A770 GPU when using PyTorch with the environment variable
SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1enabled. The user reports that video generation workflows succeed on the first run but consistently crash on the second run with an out-of-resources error, while image generation workflows do not exhibit this problem; attempts to reproduce and debug the issue include testing different environment variables, monitoring memory usage, and providing a large workflow reproducer.- The comments include suggestions to try an earlier PyTorch release and keep the environment clean, requests for a minimal reproducer which was provided with large model files, testing of alternative environment variables that still cause crashes, and advice to monitor GPU memory usage as the error likely stems from out-of-memory conditions on the GPU during repeated runs.
- Number of comments this week: 8
-
[MODULE: CPP-EXTENSIONS] [MODULE: CPP] [MODULE: ABI] [TRIAGED] [FUNCTION REQUEST] [MODULE: MPS] [ONCALL: PT2] [ONCALL: EXPORT] [MODULE: AOTINDUCTOR] [BOT-TRIAGED] [Stable ABI] Add aoti_torch_mps_set_arg_bytes, MPS shim cannot pass float/bool/array kernel args: This issue addresses the lack of a stable ABI function in the MPS shim to pass float, bool, and small array kernel arguments, which currently forces workarounds by smuggling scalars as single-element tensors, causing performance degradation. The proposal is to add a new entrypoint,
aoti_torch_mps_set_arg_bytes, that mirrors the existing integer argument setter but supports arbitrary byte data, thereby closing the gap for all non-tensor kernel argument types needed by torchvision's MPS operations and potentially other future use cases.- The comments discuss the completeness and future-proofing of the proposed API, confirming that the
set_arg_bytesfunction would cover all current and foreseeable argument types beyond tensors and integers, with agreement to proceed and a related pull request filed. - Number of comments this week: 6
- The comments discuss the completeness and future-proofing of the proposed API, confirming that the
-
[MODULE: CRASH] [MODULE: RNN] [MODULE: ROCM] [TRIAGED] [MODULE: CORRECTNESS (SILENT)] [BOT-TRIAGED]
torch.nn.LSTM.forwardproduces incorrect outputs (or crashes) on ROCm: This issue reports that thetorch.nn.LSTM.forwardfunction produces significantly incorrect outputs or crashes when run on ROCm GPUs, particularly for large batch sizes above 100, with errors escalating up to batch sizes of 1000. The problem is specific to certain AMD GPU architectures, with numerical discrepancies and runtime errors not observed on CUDA, and while a fix has resolved the large batch-size crash, numerical correctness issues persist on some GPUs like gfx1201.- The comments clarify that the large batch-size crash has been fixed by a merged PR, but numerical accuracy problems remain on specific GPU architectures; testing on various GPUs confirms the issue's hardware specificity, and internal tracking and follow-ups with MIOpen developers are ongoing.
- Number of comments this week: 4
-
[MODULE: PERFORMANCE] [FEATURE] [MODULE: CUDA] [TRIAGED] [ONCALL: PT2] [MODULE: INDUCTOR] [BOT-TRIAGED] [feature request] Autotune TMA and non-TMA path for pointwise and reduction kernels: This issue requests the addition of autotuning support for both TMA (Tensor Memory Accelerator) and non-TMA paths in pointwise and reduction kernels, similar to the existing behavior for GEMM kernels, to allow performance-based selection between these variants. The proposal includes a two-phase approach: initially requiring explicit enabling of both TMA and autotuning to generate and benchmark both kernel variants, and eventually integrating TMA candidates automatically once the path is mature and reliable.
- The comments show interest in contributing to the implementation, discuss the memory-bound nature of pointwise/reduction kernels and present benchmark results indicating that TMA is only beneficial for large tensor shapes; contributors express willingness to collaborate and share workload to advance the feature.
- 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: 77
Summarized Issues:
- Compilation and Build Issues: Several issues report build failures and compilation regressions including memory-throttling for FlashAttention CUDA kernels, sccache parsing errors with CUDA 13.4 nvcc, and a compile time regression in the Dynamo module. These problems cause build failures, out-of-memory errors, or slowdowns in the compilation process, impacting developer productivity and CI stability.
- Inductor Backend Bugs and Performance Regressions: Multiple issues describe correctness bugs and performance regressions in the Inductor compiler backend, including silent gradient corruption with bfloat16 autocast, incorrect int32 addition overflow handling, large numerical divergences in compiled Conv2d, and a 15x slowdown caused by freezing in CPU Inductor. These bugs cause incorrect results or severe slowdowns in compiled models, affecting reliability and performance.
- Distributed and Parallelism Bugs: Several issues report silent precision loss, incorrect gradient computations, and communication corruption in distributed training scenarios involving FSDP, DTensor, and NCCL reductions. These include bugs in gradient reduction precision, log_softmax backward handlers, and symmetric memory pool misalignment causing silent collective communication errors.
- Torch.compile and Dynamo Functional Bugs: Issues include crashes and runtime errors in torch.compile related to FakeTensor execution, common subexpression elimination failing to deduplicate NaN constants, and bugs in slot handler naming and object protocol unification. These problems cause compilation failures, inconsistent naming conventions, and inefficiencies in the compilation pipeline.
- Runtime Errors and Crashes on CUDA and ROCm: Multiple issues describe runtime crashes such as illegal memory access with torch.prod on CUDA, segmentation faults in nested forward-mode AD with Inductor, and ROCm-specific errors including UnicodeDecodeError in test harnesses and large BF16 RMSNorm gradient instabilities. These errors cause test failures and runtime instability on GPU platforms.
- Memory and Resource Management in Compilation Workers: Issues propose improvements to compile worker resource limits, sharing compile workers across ranks, and making sidecar failures recoverable. These address resource contention, memory usage, and robustness of the compilation infrastructure to improve CI and developer experience.
- CUDA and GPU Backend Specific Bugs: Reports include a miscompilation in ptxas optimizer on NVIDIA GB200 GPUs causing corrupted kernel behavior, a bug in torch.nextafter on MPS backend returning zero instead of subnormal values, and NVGemm breakage due to upstream API changes. These GPU backend issues cause incorrect computations and require upstream fixes or workarounds.
- Documentation and Usability Improvements: Some issues request adding examples and clarifications to documentation such as weight initialization visualization and correcting argument shape descriptions in grouped_mm. These aim to improve user understanding and reduce confusion.
- Testing and CI Coverage Gaps: Issues highlight missing CI coverage for fabric handle tests on H100 runners and disabled flaky tests on xpu platforms, indicating gaps in test reliability and coverage that affect confidence in platform support.
- API and Interface Proposals: Proposals include adding a virtual make_tensor method to SymmetricMemoryAllocator, an auto_bucket feature for torch.compile, and a new stable ABI function for MPS kernel argument passing. These aim to extend functionality and improve backend support.
- Numerical and Precision Issues: Reports include incorrect handling of NaNs in CUDA nanquantile, numerical divergence in BertForMaskedLM training with CUDA 13.2, and incorrect inverse transformation pickling in distributions. These issues cause incorrect numerical results or model training regressions.
- Graph and Autograd Bugs: Issues describe bugs in higher-order differentiation producing incorrect Hessians, token argument handling in AOTAutograd, and autograd fallback hook growth causing slowdowns. These affect correctness and performance of autograd and higher-order differentiation.
- Distributed Rank Assignment and Communication: An issue reports that lexicographic sorting of hostnames for global rank assignment causes incorrect rank ordering and suboptimal ring collective communication, leading to performance degradation in distributed setups.
- API Behavior and Initialization Bugs: Bugs include torch.cond triggering CUDA initialization unexpectedly on CPU-only contexts and uniform_ producing invalid outputs on non-contiguous views under Inductor, causing unexpected side effects and incorrect results.
- Attention and Transformer Related Issues: Issues include attention fusion failures on CPU with Inductor when scale is a scalar tensor and a regression in vLLM's QKNormRoPEFusionPass due to graph capture changes, impacting transformer model optimizations.
- Naming and Code Consistency: Proposals to unify naming conventions in torch/_dynamo and rename slot handler functions aim to improve code readability and maintainability.
- Memory Allocation and Tensor Wrapping: A proposal to add a virtual make_tensor method to SymmetricMemoryAllocator addresses limitations in wrapping externally allocated symmetric device memory pointers, enabling backend-specific tensor initialization.
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: 93
Summarized Issues:
- Performance and Memory Limitations in Tensor Operations: Several issues report severe performance degradation and memory limitations in PyTorch tensor operations, including quantile function limits to 16 million elements causing slow computation and runtime errors, unique operations on MPS devices being 100 times slower than CPU, and excessive CPU memory usage during inference with torch.compile on CUDA devices. These problems highlight inefficiencies and scalability challenges in handling large tensors and device-specific performance bottlenecks.
- CUDA and GPU Kernel Crashes and Illegal Memory Access: Multiple issues describe crashes and illegal memory access errors during CUDA kernel execution, including segmentation faults from out-of-bounds memory access in Sobol engine initialization, illegal memory reads in batch normalization kernels, and illegal memory access in FlexAttention backward pass due to 32-bit pointer overflow. These bugs cause hard crashes and require fixes in memory handling and indexing to ensure stability on GPU devices.
- torch.compile and Inductor Backend Numerical and Compilation Errors: Several issues report numerical inconsistencies, assertion failures, and crashes when using torch.compile with the Inductor backend, including incorrect multilabel margin loss outputs, large numerical discrepancies in ELU reciprocal computations, and crashes due to internal assertion failures or FakeTensor shape errors. These problems indicate instability and correctness issues in the new compilation backend affecting model accuracy and reliability.
- issues/141017, issues/145208, issues/174176, issues/182652, [issues/189803](https://github.com/issues/189803], issues/188230
- Scaled Dot Product Attention Bugs and Memory Issues: Multiple reports highlight bugs in the scaled_dot_product_attention function, including illegal memory access during backward pass with large sequence lengths, incorrect results due to 16-bit index overflow for sequences over 65,536 tokens, and excessive VRAM usage when using grouped query attention with broadcasting. These issues cause crashes, incorrect outputs, and inefficient memory use in attention mechanisms.
- Distributed and Multi-GPU Training Failures: Issues report runtime errors and assertion failures in Distributed Data Parallel (DDP) training with torch.compile and cudagraph_trees, especially when using
find_unused_parameters=True, causing complications with CUDA memory pools and multi-threading during backward passes. These problems hinder stable multi-GPU training workflows.
- Test Failures and Flakiness on Specific Platforms: Several issues describe flaky or failing tests on MacOS, ROCm, XPU, and Windows platforms, including semaphore leaks causing MacOS test failures, disabled tests on XPU due to kernel incompatibilities, and profiler stack trace mismatches on Windows CUDA. These platform-specific test instabilities affect continuous integration reliability.
- Memory Allocation and Out-of-Memory Handling Bugs: Reports include crashes on NVIDIA Tegra hardware due to NVML asserts instead of recoverable out-of-memory errors, and missing memory_allocated implementations on Intel Arc GPUs causing runtime errors. These issues prevent graceful memory error handling and break workloads on affected hardware.
- Export and ONNX Model Conversion Issues: Bugs are reported where exporting models to ONNX with dynamo=True omits critical attributes like kernel_shape, and exporting Chrome trace JSON files under locales with comma decimal separators produces invalid JSON, causing downstream tool failures. These issues affect model interoperability and profiling workflows.
- Numerical Inconsistencies Between Backends and Modes: Several issues highlight numerical mismatches between CPU and CUDA backends or between eager and compiled modes, including 100% relative error in LSTM outputs at float32 boundaries, BatchNorm2d followed by Conv2d discrepancies, and silent nondeterministic corruption on Apple MPS devices with large batch dimensions. These inconsistencies undermine model correctness and reproducibility.
- Compiler and Tracing Bugs in PyTorch Dynamo and Inductor: Issues include InternalTorchDynamoError caused by inspect.getfullargspec on wrapped methods, bugs in SDPAParams tracing causing fullgraph compile failures, and divergence in BuiltinVariable.call_next semantics from CPython, all of which break tracing and compilation workflows in PyTorch's dynamic compiler infrastructure.
- Deadlocks and Stale Lock Files in Compilation and Testing: Problems include permanent deadlocks caused by stale
.lockfiles left after forceful termination of compilation processes, and stale cpp_extension lock files causing deadlocks and test timeouts on macOS runners, leading to hanging builds and false test failures.
- Incorrect or Missing Validation and Error Handling: Several issues report missing runtime validation such as in static Triton launcher pointer-typed kernel arguments allowing silent numerical failures, and torch.from_dlpack aborting the Python process on negative stride arrays instead of raising exceptions, complicating error handling and debugging.
- Bugs in Specific PyTorch Modules and Functions: Reports include LayerNorm on MPS incorrectly reinterpreting fp32 parameters as fp16/bf16 causing backward pass aborts, EmbeddingBag inconsistencies across backends leading to silent correctness issues, and F.linear producing incorrect outputs on AMD GPUs and Apple MPS devices due to indexing wraparound bugs.
- Build and Configuration Issues: Problems include USE_* environment variables being ignored during build with Intel oneAPI causing unwanted plugins to be enabled, and build failures on unsupported AMD GPUs due to clock rate warnings treated as errors, blocking successful compilation from source.
- Warnings and Misleading Messages in API Usage: An issue describes misleading warnings from
nn.Module.register_full_backward_pre_hookwhen forward inputs do not require gradients, incorrectly referencing non-registered hooks and causing unnecessary noise during training.
- Cache Reuse and Compilation Cache Misses in Distributed Training: An issue reports that torch.compile fails to reuse cache effectively at large scale during distributed Transformer/MoE training because ProcessGroup names are embedded as constants, causing near-total cache misses and redundant compilations.
- Locale-Dependent Bugs in Profiling and Export: Exporting Chrome trace JSON files with GPU kernel metadata under locales using commas as decimal separators results in invalid JSON, causing parsing errors in profiling tools.
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: 381
Key Open Pull Requests
1. Fix CudaSyncGuard to check CUDA availability before CUDA operations (fixes test_sync_warning on CPU-only builds): This pull request fixes the CudaSyncGuard to properly check for CUDA availability before performing CUDA operations, thereby resolving the test_sync_warning failure on CPU-only builds.
- URL: pull/191084
- Associated Commits: 2f746, b7854, 69068, 58344, 0cbea, 98b7b, fb05a, 725bf, 3eb75, 9ee90, d8619, d86a8, 87e4c, 7d72c, 71e27, 73d97, 6a7ca, d5fb8, 8b572, 9c9af, a89cb, de749
2. flex_gemm: support swap_ab local reductions: This pull request adds support for swap_ab local reductions in the flex_gemm component of the PyTorch project.
- URL: pull/190793
- Associated Commits: 6d7ca, 372d6, c3caa, bfc98, 7f000, 8c494, af309, 8b8fc, 80fa3, fd845, 80828, d7fab, 720a1, eb6e7, c8ee1, 48481, 4a6c4, cd5a0, 47dfe
3. [TESTING ONLY][ROCm][Inductor] gfx1250 TDM support: This pull request is a testing-only integrated branch that adds support for gfx1250 Tensor Data Mover (TDM) in TorchInductor, combining multiple feature slices including capability gating, dense and scaled matrix multiplication, generic tensor descriptor codegen, flex attention support, and comprehensive compile and unit tests, all gated behind a feature flag and targeting ROCm 7.14+ hardware, with the intent to validate these changes via CI before submitting focused, mergeable PRs.
- URL: pull/191166
- Associated Commits: 860e3, 57a83, 43029, 1d321, 92fe3, 3508b, 2ccb0, b2dba, 92b9d, ce8e0, aaec9, b9fab, 61fe8, 692fe, 7c081, 83ec3, fb821
Other Open Pull Requests
- Grouped Epilogue Lowering and NVGEMM Enhancements: Multiple pull requests extend grouped epilogue lowering for NVGEMM by supporting dense and block-scaled providers with features like wide and local reductions, auxiliary and feed-main forms, and heterogeneous tuple outputs. These changes include adding CUTLASS operator wrappers, fusing grouped local sum epilogues, supporting larger physical grouped reductions, and enabling captured scaled epilogue tensors, all while maintaining fallback behaviors and compatibility with existing GEMM functionality.
- pull/190823, pull/190824, pull/190825, pull/190821, pull/190810, pull/190813, pull/190817, pull/190819, pull/190820, pull/190822
- FlexGEMM and NVGEMM Scheduler and Layout Improvements: Enhancements to FlexGEMM include support for blocked local-reduce output layouts and explicit NVGEMM autotuning policies, enabling better recognition and storage of terminal transforms and allowing scheduler fusion of generated pointwise epilogues. These improvements also fix accumulator handling and introduce a generic cache-keyed output-layout callback interface, improving integration coverage and lowering performance.
- pull/191026, pull/190809
- SIMD Scheduling and Fusion of Reduction Epilogues: Several pull requests improve SIMD scheduling and code generation by fusing reduction epilogues that consume interleaved pairs, introducing a parent-half domain for nested reductions, and adding a separate contiguous chunk layout for sub-parent reduction consumers. These changes enable combined execution of RMSNorm with NVFP4/MXFP4 packing and isolate legality checks and code generation paths for different reduction layouts.
- pull/190593, pull/190594, pull/190595
- Ahead-Of-Time (AOT) Runtime and Kernel Export Enhancements: The native runtime gains router-level AOT coverage with embedded detection and dynamic masking to ensure correct fallback between AOT and JIT paths. Additionally, AOT tooling is extended with a kernel-source generator producing per-declaration C++ files integrated into libtorch_cuda, and the first AOT declaration for the topk operation is introduced with bit-exact deterministic mode and stable tie resolution.
- pull/190688, pull/190898, pull/190899, pull/190896
- Performance and Runtime Improvements in Dynamo and Compiler: Performance is improved by modifying threading local storage in the dynamo compiler to avoid costly exceptions and by defaulting the
record_runtime_overheadflag to off to reduce fixed per-call overhead when profiling is disabled. These changes ensure faster attribute access and lower runtime instruction counts without changing existing behavior. - pull/190571, pull/190623
- Functional and Conversion Operation Enhancements: The functional all_reduce operation is enhanced with support for the
premul_sumreduce operation and backward support forminandmax, including fixes for pybind bindings and asynchronous race conditions. Additionally, lowering of float8_e8m0fnu-to-float conversions is improved by direct exponent bit manipulation, handling zero and NaN explicitly without fallback methods. - pull/190942, pull/190593
- ROCm and Hardware Compatibility Updates: Validation of the ROCm 7.14 wheel on MI350 hardware is performed by updating CI configurations, adding version-gated test skips, fixing device count detection, and adjusting test and build environments to ensure compatibility and stability with the new ROCm version and hardware.
- pull/190688
- Experimental Data Collection Workflow: A phase-1 experimental data collection workflow using eBPF syscall tracing is introduced to capture detailed test subprocess file access and build artifact mappings. This aims to evaluate and potentially replace PyTorch's stale Python-only target-determination heuristic with a more accurate syscall-level profiling approach that detects native dependencies while keeping tracing opt-in and CI behavior unchanged.
- pull/191051
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: 498
Key Closed Pull Requests
1. Device generalize dynamo tests: This pull request generalizes 62 Dynamo tests by modifying them to create input tensors and modules on the current accelerator device (determined via torch.accelerator.current_accelerator), thereby preventing autograd device mismatch errors during backward passes when running on non-CPU accelerator backends, while preserving CPU and CUDA CI behavior.
- URL: pull/190833
- Associated Commits: 67798, 489de, a6781, 045e5, 53e56, 0539e, 7e7ce, 2d503, 166e8, 8779e, 77701, b5269, bdd0a, 9cf01, 0101a, af604, d6104, 95c39, 366ea, 04053, 1825f, b14f4, 1fadc, 9fe9f, 75770, 1b060, 90bf9, 8c62c, 91b3d, 2df06, 029aa, 190c5, a9560, 024b9, 7457e, e4fcf, 54f2e, 1d803, d1437, e7bbf, 3fd8e, 34eb3, d91fb, b8afe, 87247, 7c927, f813f, dea39, 449e3, 06f10, b3933, eece5, 5c5e5, 822d0, e4c37, 9da60, 7661c, 0d622, 30a8f, cd764, 03db6, c83ae, daad2, b3af5, dcd51, aa4b9, e50a9, 5c0a3, c97f1, 612e7, 6f569, 8398a, bbad7, 256b2, 14a7a, fc6fe, 1018d, 884ee, c433c, 650a9, 0893f, d12e0, 790ac, 75bdb, 4796e, 013b4, 05755, 5285c, e089d, f5e5c, feb9c, c5442, 68e67, fa2a3, 69b64
- Associated Commits: 67798, 489de, a6781, 045e5, 53e56, 0539e, 7e7ce, 2d503, 166e8, 8779e, 77701, b5269, bdd0a, 9cf01, 0101a, af604, d6104, 95c39, 366ea, 04053, 1825f, b14f4, 1fadc, 9fe9f, 75770, 1b060, 90bf9, 8c62c, 91b3d, 2df06, 029aa, 190c5, a9560, 024b9, 7457e, e4fcf, 54f2e, 1d803, d1437, e7bbf, 3fd8e, 34eb3, d91fb, b8afe, 87247, 7c927, f813f, dea39, 449e3, 06f10, b3933, eece5, 5c5e5, 822d0, e4c37, 9da60, 7661c, 0d622, 30a8f, cd764, 03db6, c83ae, daad2, b3af5, dcd51, aa4b9, e50a9, 5c0a3, c97f1, 612e7, 6f569, 8398a, bbad7, 256b2, 14a7a, fc6fe, 1018d, 884ee, c433c, 650a9, 0893f, d12e0, 790ac, 75bdb, 4796e, 013b4, 05755, 5285c, e089d, f5e5c, feb9c, c5442, 68e67, fa2a3, 69b64
2. Remove setup.py and setuptools build helpers: This pull request removes the now-obsolete setup.py and setuptools-related build helper modules from the PyTorch project, consolidating the build process under scikit-build-core while retaining a minimal build_libtorch.py script for the libtorch build path, and verifies that this cleanup does not affect the generated wheel or cause any build failures.
- URL: pull/180248
- Associated Commits: 9d247, 55fa9, eb17e, 2589b, c1971, 33e65, 7973c, 35137, c0750, b34bc, 46335, 87b5a, f3eaa, 03f43, 5c3c9, caffa, 7c37b, 6d603, 6b6be, 924c0, b9893, 8166e, d5bcd, 1adb1, 010f2, 04cd1, a4650, 2b178, 321c4, 24749, f946c, 95446, 2596a, 4fff8, d065e, eb9fa, 6248d, aba48, 66edd, 7e69e, ab6dc, b574b, 533d1, 1cdd5, 0d5a2, 0c31d, 61703, 9b83e, 71063, bf04b, 3b012, 094f8, 3cf38, 2b475, f5876, 3d3c7, b96e9, 53422, e31cf, 09a5f, ad9b4, 983ae, 954cc, e351d, ea124, de3ea, aee16, 93f64, 5bc17, 5acf5, 2da91
- Associated Commits: 9d247, 55fa9, eb17e, 2589b, c1971, 33e65, 7973c, 35137, c0750, b34bc, 46335, 87b5a, f3eaa, 03f43, 5c3c9, caffa, 7c37b, 6d603, 6b6be, 924c0, b9893, 8166e, d5bcd, 1adb1, 010f2, 04cd1, a4650, 2b178, 321c4, 24749, f946c, 95446, 2596a, 4fff8, d065e, eb9fa, 6248d, aba48, 66edd, 7e69e, ab6dc, b574b, 533d1, 1cdd5, 0d5a2, 0c31d, 61703, 9b83e, 71063, bf04b, 3b012, 094f8, 3cf38, 2b475, f5876, 3d3c7, b96e9, 53422, e31cf, 09a5f, ad9b4, 983ae, 954cc, e351d, ea124, de3ea, aee16, 93f64, 5bc17, 5acf5, 2da91
3. Migrate build system from setuptools to scikit-build-core: This pull request migrates the PyTorch build system from setuptools to scikit-build-core (version 1.0), replacing the setup.py orchestration with direct CMake invocation via a new pyproject.toml configuration, enabling improved build backend features such as dynamic metadata hooks, editable installs with separated source and build artifacts, and streamlined CI integration while maintaining build output equivalence and compatibility across Linux, macOS, and Windows platforms.
- URL: pull/180247
- Associated Commits: 18bad, d3f26, 37681, 44e07, ba46f, e9725, 219ef, 88f7f, 099c3, fbe6e, e4767, 6cf56, 98626, b8383, 176ee, d8c3a, a3dd8, 0d246, ce253, c27f0, 1188c, 891ee, 78f84, 183a4, d32b0, 627a0, 960be, 6f9c1, fb748, b4179, 75cba, 5d56f, ae16b, 2008b, 17778, 81f38, c6871, 54d8d, 5cd6b, 517be, 4ed0b, 6134e, 78396, e9b13, 3b987, 90363, 5141b, 029a5, 62890, 80251, bae98, f1719, 4cbd6, 63a5c, c8a63, fbc7c, fde71, 74476, 977f9, 0b370, 58090, 7da51, 677f9, b855a, d66a9, 9d325, 73bc8, 36db5, cb1c7
- Associated Commits: 18bad, d3f26, 37681, 44e07, ba46f, e9725, 219ef, 88f7f, 099c3, fbe6e, e4767, 6cf56, 98626, b8383, 176ee, d8c3a, a3dd8, 0d246, ce253, c27f0, 1188c, 891ee, 78f84, 183a4, d32b0, 627a0, 960be, 6f9c1, fb748, b4179, 75cba, 5d56f, ae16b, 2008b, 17778, 81f38, c6871, 54d8d, 5cd6b, 517be, 4ed0b, 6134e, 78396, e9b13, 3b987, 90363, 5141b, 029a5, 62890, 80251, bae98, f1719, 4cbd6, 63a5c, c8a63, fbc7c, fde71, 74476, 977f9, 0b370, 58090, 7da51, 677f9, b855a, d66a9, 9d325, 73bc8, 36db5, cb1c7
Other Closed Pull Requests
- Build system and CI improvements: Multiple pull requests focus on enhancing PyTorch's build and continuous integration systems. These include adding native build images for new platforms like linux-riscv64, refactoring Linux manywheel build workflows into modular container-based scripts, and improving ROCm detection for environments without standard paths, all aimed at improving maintainability, platform support, and robustness.
- Test suite refactoring and device-agnostic testing: Several pull requests improve PyTorch's test infrastructure by refactoring test files and making tests device-agnostic. This includes updating dynamo tests to run on various accelerator devices, reorganizing indexing and dtype operation tests, and enabling XPU backend tests with updated data types and disabled unsupported types.
- Inductor backend enhancements and autotuning: Multiple pull requests enhance the Inductor compiler backend by adding support for dynamic shapes, improving fallback output validation with dtype checks, seeding combo-kernel autotuning from subkernel performance data, and adding new kernel support such as FlyDSL template compilation and half-resolution nested-reduction epilogues. These changes aim to improve compilation robustness, performance, and hardware support.
- XPU backend support and scaled matrix multiplication: A set of pull requests target the XPU backend by enabling test coverage for XPU2, updating operation data types, disabling unsupported types for FFT operations, and implementing scaled matrix multiplication with support for MXFP8, MXFP4, and NVFP4 data types. These efforts improve hardware compatibility and add new functionality.
- Memory format and tensor contiguity improvements: One pull request updates native group normalization functions to handle non-contiguous tensors by calling contiguous with the correct memory format instead of asserting contiguity. This change improves compatibility with batching operations like vmap without unnecessary memory overhead.
- Scheduler and fusion improvements for Triton kernels: A pull request implements symbolic index expression extraction from user-defined Triton kernels to enable formal reasoning about memory access patterns, improve fusion scoring and cost modeling, and fix related scheduler fusion bugs. This introduces a new dependency type and enhances kernel fusion capabilities.
- Checkpointing and tensor saving APIs: Two pull requests propose improvements to checkpointing by adding a save_tensor() API for explicit tensor saving and switching SAC cached tensor storage to use SavedTensor with hooks. These changes enable more flexible and integrated activation checkpointing and offloading support.
- CPU core assignment and Xeon support: One pull request addresses CPU core assignment in xeon/run_cpu.py by enabling support for multiple, uneven ncore-per-instance settings. This improves alignment with actual core distributions on recent Xeon SKUs while maintaining backward compatibility.
- Performance optimizations for cuBLAS/cuBLASLt: A pull request proposes making cuBLAS and cuBLASLt workspace maps thread-local to reduce mutex overhead and redundant handle lookups. This reduces CPU overhead on the cuBLASLt hot path and improves performance on small to medium matrix multiplications, especially on Grace systems.
- Distributed GPU test filtering and CI workflow: One pull request re-enables the periodic-rocm-mi350 CI workflow on 4-GPU gfx950.4 runners by introducing a MinGpuFilterPlugin to select distributed tests requiring three or more GPUs. This optimizes GPU resource usage by excluding lower-GPU tests without maintaining per-test lists, though it was later superseded.
- FlexGEMM autotuning configuration replay: A pull request enables users of the FlexGEMM module to pass explicit serialized GemmConfig configurations through kernel options. This allows replaying autotuned configurations without re-benchmarking while ensuring device compatibility and safety.
- Abandoned or draft pull requests: Some pull requests were closed without merging, including one proposing a setup_.py shim for legacy build command forwarding and another updating PyTorch to version 2.12.0 without merged changes.
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 | 340 | 19 | 6 | 8 |
| williamwen42 | 328 | 27 | 0 | 7 |
| bobrenjc93 | 310 | 11 | 1 | 0 |
| drisspg | 228 | 13 | 1 | 24 |
| mlazos | 229 | 32 | 0 | 0 |
| frgossen | 200 | 15 | 14 | 1 |
| jansel | 182 | 2 | 1 | 16 |
| d4l3k | 156 | 13 | 0 | 10 |
| dolpm | 158 | 11 | 0 | 0 |
| huydhn | 147 | 9 | 1 | 6 |
Access Last Week's Newsletter: