Open Pull Requests

Public-safe normalized rows for auditability.

Pull RequestBucketScoreLinkedLabelsExcerpt
Pull Request #189096: [aot_autograd] Make CPU-side stream syncs real cross-stream barrierswaiting on contributor43nonemodule: inductor, ciflow/inductor, release notes: inductor
Stack from ghstack (oldest at bottom): -> #189096 #189095 synchronize_stream / synchronize_device / synchronize_event block the CPU until a stream (or event) drains, so every subsequent kernel launch is host-ordered after them. Unlike device-side waits (wait_event / wait_stream), nothing on a consumer's stream waits...
Pull Request #189024: [Dynamo] Support exception attribute access (StopIteration/AttributeError/NameError)waiting on CI/check fix63noneopen source, ciflow/trunk, module: dynamo, ciflow/inductor, release notes: dynamo, merging, ciflow/torchtitan
Stack from ghstack (oldest at bottom): -> #189024 #188825 #188834 #188824 #157149 #188639 #188638 #188004 #187744 #187690 Dynamo wrapped exceptions in a single ExceptionVariable that only tracked args/context/cause/traceback. Reading exception-specific attributes (StopIteration.value, AttributeError.name/.obj, NameE...
Pull Request #189318: Bump pip from 26.0.1 to 26.1.2 in /.ci/dockerwaiting on CI/check fix63noneopen source, topic: not user facing, python, dependencies, ciflow/docker
Bumps pip from 26.0.1 to 26.1.2. Changelog Sourced from pip's changelog. 26.1.2 (2026-05-31) Bug Fixes Reject console_scripts and gui_scripts entry points whose name would install a script outside the scripts directory. ([#14000](https://github.com/pypa/pip/issues/14000) <https://github.com/pypa/pip/issues/14000>_)...
Pull Request #189329: [DEBUG] Profile the XPU SYCL device-link bottleneckdraft/noise51noneciflow/xpu
Do not merge - temporary diagnostic. Why linux-noble-xpu-n-py3.10 / build takes ~35-45 min vs 5-15 min for the other builds in the same workflow. Profiling pull run 28986110660 showed the Build step is ~33 min even with sccache at 99.93% hit rate - because sccache caches only host C/C++, not SYCL device code. The si...
Pull Request #188597: [ROCm] Add initial support for gfx1250waiting on CI/check fix63nonemodule: rocm, triaged, open source, Merged, Reverted, ciflow/binaries, ciflow/trunk, release notes: releng, module: inductor, ciflow/inductor, merging, ci-no-td, ciflow/rocm-mi300, ciflow/h100, ciflow/b200, ciflow/torchtitan, ciflow/docker
This PR adds initial ROCm support for gfx1250 (CDNA5). What this PR enables: Gates gfx1250-specific behavior on ROCm 7.14+ (the support floor), applied consistently across CUDABlas.cpp, ScaledBlas.cpp, CUDAHooks.cpp, and the test helpers. Adds gfx1250 to the hipBLASLt preferred/supported arch lists and the hipSparse...
Pull Request #188963: [XPU] Enable XPU testing for 50 test classes across 40 test filesdraft/noise51noneopen source, release notes: quantization, topic: not user facing, module: inductor, module: dynamo, ciflow/inductor, keep-going, ciflow/xpu, ci-no-td, ciflow/rocm-mi300, ciflow/h100, ciflow/b200
Summary Enable XPU (allow_xpu=True) for test classes that are confirmed working on Intel GPU (XPU). Each class was validated by running pytest -k "<ClassName> and xpu" in an XPU-enabled PyTorch environment. Changes by file File Classes Enabled test/complex_tensor/test_complex_tensor.py TestComplexTensor, TestComplex...
Pull Request #189173: torchfuzz: detach batch_norm running statswaiting on CI/check fix63nonetriaged, open source, ciflow/trunk, topic: not user facing, merging
The fuzzer marks float tensor args requires_grad=True for the backward pass, but torch.nn.functional.batch_norm is not differentiable w.r.t. running_mean / running_var, so when those inputs are grad-requiring args the generated program raises RuntimeError: ... 'running_mean' ... cannot have requires_grad True in eag...
Pull Request #189111: [torchcomms hash update] update the pinned torchcomms hashwaiting on CI/check fix63noneopen source, ciflow/trunk, topic: not user facing, ciflow/inductor, merging, ci-no-td
This PR is auto-generated nightly by this action. Update the pinned torchcomms hash.
Pull Request #184218: Support decorator/curried calling convention for torch.utils.checkpoint.checkpointwaiting on CI/check fix63noneciflow/trunk, release notes: distributed (fsdp), topic: new features, module: inductor, module: dynamo, ciflow/inductor, release notes: distributed (dtensor), ciflow/torchtitan, ciflow/dtensor
Stack from ghstack (oldest at bottom): -> #184218 checkpoint() can now be called without a function argument to produce a decorator, keeping checkpoint configuration separate from the checkpointed function's arguments: checkpointed_fn = checkpoint(use_reentrant=False)(fn) out = checkpointed_fn(*args, **kwargs) This...
Pull Request #188980: Fix inconsistent accelerator guard in checkpoint staging testwaiting on CI/check fix73#188790open source, ciflow/trunk, topic: not user facing, release notes: distributed (checkpoint), merging
Fixes #188790 Summary In test/distributed/checkpoint/_experimental/test_staging.py, the block that appends the async-staging and non-blocking-copy test cases was guarded by torch.cuda.is_available(), while the config values constructed inside that same block already use the backend-generic torch.accelerator.is_avail...
Pull Request #187940: [xpu][inductor] fix the fallback behavior of maxpool backward for performancewaiting on contributor43nonetriaged, open source, ciflow/trunk, module: inductor, ciflow/inductor, release notes: inductor, ciflow/xpu, ciflow/torchtitan
Fix max_pool2d_backward fallback to eager op behavior. Previously, the decomposition pass was executed before lowering, causing max_pool2d_backward to be decomposed before the fallback mechanism could be applied(described in #182619). As a result, the eager fallback path was bypassed, and the operation was fused int...
Pull Request #189328: Add retry with backoff to download_mnist.pywaiting on CI/check fix63nonetopic: not user facing
Stack from ghstack (oldest at bottom): -> #189328 Note from human: this is not a big deal but it's also the kind of thing coding agents eat for lunch, so whatever. MNIST download in CI hits a single S3 mirror via urlretrieve with no retry, so a transient network blip fails the whole job. This adds up to 3 attempts p...
Pull Request #189284: Add torch.autograd.graph.node_creation_hookwaiting on contributor43nonerelease notes: autograd, topic: new features
Stack from ghstack (oldest at bottom): -> #189284 Adds a public context manager that registers a thread-local hook fired once for every autograd Node created within it, with the freshly created Node as argument. This gives users a creation-time dual of saved_tensors_hooks: the hook can inspect the node, record it, s...
Pull Request #181680: [triton hash update] update the pinned triton hashwaiting on CI/check fix63noneopen source, ciflow/trunk, topic: not user facing, ciflow/inductor, ci-no-td, ciflow/docker
This PR is auto-generated nightly by this action. Update the pinned triton hash.
Pull Request #189217: [vision hash update] update the pinned vision hashwaiting on CI/check fix63noneopen source, ciflow/trunk, topic: not user facing, ciflow/inductor, ci-no-td
This PR is auto-generated nightly by this action. Update the pinned vision hash.
Pull Request #187288: [vllm hash update] update the pinned vllm hashwaiting on CI/check fix63noneopen source, ciflow/trunk, topic: not user facing, ciflow/inductor, ci-no-td, ciflow/vllm, ci-refresh-hf-cache
This PR is auto-generated nightly by this action. Update the pinned vllm hash.
Pull Request #188262: [CI] fix OpenBLAS build for non-AArch64waiting on CI/check fix63nonetriaged, open source, Merged, Reverted, ciflow/trunk, topic: not user facing, ci-no-td, ciflow/docker
TARGET=ARMV8 was hardcoded, breaking non-aarch64 builds. Now it's only set on aarch64; other platforms (like riscv64) rely on DYNAMIC_ARCH instead. Also forcibly enable the float/double/complex precision variants and pass build flags to make install consistently.
Pull Request #179651: [torchtitan hash update] update the pinned torchtitan hashwaiting on CI/check fix63noneopen source, ciflow/trunk, topic: not user facing, ciflow/inductor, ci-no-td, ciflow/torchtitan
This PR is auto-generated nightly by this action. Update the pinned torchtitan hash.
Pull Request #187600: [ROCm][Inductor] Enable NHWC convs by default on CDNA with an Inductor layout-opt gatewaiting on contributor43nonemodule: rocm, triaged, open source, ciflow/trunk, module: inductor, ciflow/inductor, keep-going, release notes: inductor, ciflow/rocm-mi300, ciflow/inductor-perf-test-nightly-rocm-mi300, ciflow/inductor-perf-test-nightly-rocm-mi350, ciflow/inductor-rocm-mi300, ciflow/torchtitan, ciflow/docker
Enable NHWC convs by default on CDNA (gfx9xx) and gate Inductor layout-opt so grouped convs that hit MIOpen's slow naive kernel stay NCHW. Builds on / supersedes #149039 (closed): keeps its NHWC-on-CDNA enablement, fixes the arch-guard bug, makes ConvUtils.h ATEN_CPU-lint-clean via a runtime CUDAHooks hook, adds a c...
Pull Request #189083: [profiler][cupti] Drive periodic cuptiActivityFlushAll from the decode threadwaiting on CI/check fix63nonetopic: not user facing
Stack from ghstack (oldest at bottom): #189185 -> #189083 #188621 #189109 The CUPTI monitor's background flush loop woke on a Python thread every background_flush_period_s just to call cuptiActivityFlushAll -- a pure-C call that needs no GIL -- so it held the GIL for no reason and contended with the training thread....
Pull Request #189185: [profiler][cupti] Make CuptiMonitor a singleton configured via a global configure()waiting on CI/check fix63none
Stack from ghstack (oldest at bottom): -> #189185 #189083 #188621 #189109 Ports the config-only change from commit 4a24d3b207 (drop the TORCH_CUPTI_MONITOR_* env vars) and turns CuptiMonitor into a process-wide singleton, mirroring PmSampler. buffer_size, background_flush_period_s, and background_drain_period_s were...
Pull Request #188621: [profiler][cupti] Generate CUPTI field-id catalogs from the ABI as Field(id, ctype)waiting on CI/check fix63nonetopic: not user facing
Stack from ghstack (oldest at bottom): #189185 #189083 -> #188621 #189109 The v2 CUPTI user-defined-record path selects records by field id (CUpti_ActivityFieldIds), which cupti-python does not expose. Instead of hand-maintaining those ids, generate them from cupti_activity.h at build time, and model each field as a...
Pull Request #189229: [DO NOT MERGE][ROCm] Use torch.version.hip to detect ROCm when /opt/rocm is absentdraft/noise51nonemodule: rocm, open source, release notes: releng, module: inductor, module: dynamo, ciflow/inductor, release notes: distributed (checkpoint), keep-going, ci-no-td, ciflow/rocm-nightly, ciflow/dtensor, ciflow/docker
cc @jeffdaily @sunway513 @jithunnair-amd @pruthvistony @ROCmSupport @jataylo @hongxiayang @naromero77amd @pragupta @jerrymannil @xinyazhang @voznesenskym @penguinwu @EikanWang @jgong5 @Guobing-Chen @XiaobingSuper @zhuhaozhe @blzheng @wenzhe-nrv @jiayisunx @ipiszy @kadeng @muchulee8 @amjames @chauhang @aakhundov @coc...
Pull Request #188100: Support callable msg lambda in TestCase.assert* methods beyond assertEqual()waiting on CI/check fix63noneciflow/trunk, topic: not user facing, mergedog, make tests great again
Stack from ghstack (oldest at bottom): #189286 #188573 #188299 -> #188100 Allows for lazy building of error messages only when tests fail! Saves on overhead, especially when serialized tensors are involved.
Pull Request #189275: Consolidate CD wheel build pipelines under .ci/wheel/ and unify the numpy pindraft/noise51noneopen source, release notes: releng, ciflow/binaries_wheel
Summary The three CD wheel-build pipelines (Linux, Windows, macOS) grew as three independent Python ports and drifted apart: copy-pasted helpers, three different numpy build-pin tables, and different directory homes. This PR consolidates them under a common .ci/wheel/ root with a single shared _common.py, and reconc...
Pull Request #115316: Automated submodule update: FBGEMMwaiting on CI/check fix63nonetriaged, open source, topic: not user facing, ciflow/rocm-mi300, ciflow/h100, ciflow/b200
This is an automated pull request to update the first-party submodule for pytorch/FBGEMM. New submodule commit: pytorch/FBGEMM@a75b43f Test Plan: Ensure that CI jobs succeed on GitHub before landing.
Pull Request #189175: torchfuzz: fix clamp_min/max emitting None boundwaiting on CI/check fix63nonetriaged, open source, ciflow/trunk, topic: not user facing
ClampMinOperator/ClampMaxOperator stored the random bound as mutable instance state in fuzz_inputs_specs and read it back in codegen. The same operator instance serves multiple clamp nodes, so during code generation the first codegen resets the stored bound to None and later clamp nodes emit clamp_min(x, min=None) o...
Pull Request #167224: [FlopCounter] Add skip_unsupported parameter for graceful handling of unsupported HOPswaiting on contributor53#134385triaged, open source, release notes: python_frontend
Fixes #134385 FlopCounterMode returns NotImplemented when it encounters a Higher Order Operator it does not handle, which makes it hard to use for benchmarking real-world models that mix standard PyTorch ops with custom HOPs or kernels. What this PR does Adds a skip_unsupported flag (default False) to FlopCounterMod...
Pull Request #188299: Lazily build error messages for assert*() calls across tests to reduce overheadwaiting on CI/check fix63nonerelease notes: quantization, topic: not user facing, ciflow/mps, module: inductor, module: dynamo, ciflow/inductor, release notes: distributed (checkpoint), ciflow/rocm-mi300, ciflow/h100, ciflow/h100-symm-mem, ciflow/b200, ciflow/dtensor, mergedog, make tests great again
Stack from ghstack (oldest at bottom): #189286 #188573 -> #188299 #188100 Apply new lazy error message feature to call-sites throughout test files. cc @voznesenskym @penguinwu @EikanWang @jgong5 @Guobing-Chen @XiaobingSuper @zhuhaozhe @blzheng @wenzhe-nrv @jiayisunx @ipiszy @kadeng @muchulee8 @amjames @chauhang @aak...
Pull Request #189192: [MPS] Add `geqrf` and refactor `linalg_qr`waiting on CI/check fix63noneopen source, release notes: mps, ciflow/mps, ciflow/inductor, release notes: inductor (aoti)
Stack from ghstack (oldest at bottom): -> #189192 This PR splits out the geqrf code from the linalg_qr kernel and refactors linalg_qr for MPS to call the device-agnostic linalg_qr_out function that CPU and CUDA use.
Pull Request #188573: Cleanup dead code across testswaiting on CI/check fix63nonerelease notes: quantization, topic: not user facing, module: inductor, module: dynamo, ciflow/inductor, ciflow/rocm-mi300, ciflow/h100, ciflow/b200, ciflow/dtensor, mergedog, make tests great again
Stack from ghstack (oldest at bottom): #189286 -> #188573 #188299 #188100 I don't expect huge perf improvements, but why not? cc @voznesenskym @penguinwu @EikanWang @jgong5 @Guobing-Chen @XiaobingSuper @zhuhaozhe @blzheng @wenzhe-nrv @jiayisunx @ipiszy @kadeng @muchulee8 @amjames @chauhang @aakhundov @coconutruben @...
Pull Request #189264: [ROCm][CI] Make rocm-nightly workflow fully mi300-specific (name, ciflow tag, filename)waiting on CI/check fix63nonemodule: rocm, triaged, open source, ciflow/binaries, topic: not user facing, ciflow/rocm-mi300
Summary Make the rocm-nightly workflow fully arch-specific for mi300: Renamed the workflow file to .github/workflows/rocm-nightly-mi300.yml. Set the workflow display name to rocm-nightly-mi300 and its push-trigger ciflow tag to ciflow/rocm-nightly-mi300/*. Job name and build-environment are linux-noble-rocm-nightly-...
Pull Request #189193: [XCCL] Allow XCCL to be set as default in `_new_process_group_helper`waiting on CI/check fix73#4098open source, ciflow/trunk, release notes: distributed (c10d), ciflow/torchtitan
Fixes intel/torch-xpu-ops#4098 For DeviceMesh which doesn't specify the backend type, _new_process_group_helper is called with the "undefined" backend, which is set based on available devices. NCCL backend can be set as default, as well as CUSTOM backends. This PR also allows the XCCL backend to be set as default if...
Pull Request #187465: [Symm_mem] Support expandable segements inside PyTorch Symmetric memory for NCCL backendwaiting on CI/check fix63noneopen source, ciflow/trunk, release notes: distributed (c10d), ciflow/h100-symm-mem, ciflow/torchtitan
Stack from ghstack (oldest at bottom): -> #187465 #189088 This PR allows the NCCL symmetric-memory allocator to back its allocations with the CUDA caching allocator's expandable segments; when expandable_segments is enabled. In that mode, NCCLSymmetricMemoryAllocator now allocates/frees the symmetric buffer via CUDA...
Pull Request #189302: [ROCm][CI] Make ROCM_SO_FILES a single shared source of truth for wheel bundling + preloadwaiting on CI/check fix63nonemodule: rocm, triaged, open source, ciflow/binaries_wheel, ciflow/rocm-mi300
Summary The ROCm shared-library basename list was duplicated in two places that had drifted apart: .ci/manywheel/repair_wheel.py::ROCM_SO_FILES (27 entries) — the libs bundled into the wheel. torch/__init__.py::_rocm_core_libs (22 entries) — the libs preloaded RTLD_GLOBAL, leaf-first, before import torch._C (added i...
Pull Request #189314: flex_gemm: recognize 2-D block local-reduce contractswaiting on CI/check fix63nonemodule: inductor, ciflow/inductor, ciflow/torchtitan
Stack from ghstack (oldest at bottom): #189316 #189315 -> #189314 #189190 #189188 #188739 #188112 #188470 #188469 #188468 Recognize structural 2-D block local-reduce aux outputs of the form acc.view(M // bm, bm, N // bn, bn) reduced over both grouped dims. This threads block geometry through the output plan, templat...
Pull Request #189315: flex_gemm: store 2-D block local reductionswaiting on CI/check fix63nonemodule: inductor, ciflow/inductor, ciflow/torchtitan
Stack from ghstack (oldest at bottom): #189316 -> #189315 #189314 #189190 #189188 #188739 #188112 #188470 #188469 #188468 Enable the first QUACK-backed 2-D block local-reduce STORE path for 128x128 block-scale aux outputs. The compiler now threads block geometry into runtime dispatch with explicit block kwargs, requ...
Pull Request #187699: Add a debug log when we skip sync_decision_cross_ranks (#187699)waiting on CI/check fix63noneciflow/trunk, ciflow/inductor, meta-exported, ciflow/torchtitan
Summary: When there is collectives in the graph but there is no sync decision cross ranks, it could potentially have issue of inconsistent decisions on different ranks on what to save. So adding this debug log to facilitate debug when the inconsistent issue happens. Test Plan: Existing tests already cover it Reviewe...
Pull Request #189316: flex_gemm: support mx block-scale storeswaiting on CI/check fix63nonemodule: inductor, ciflow/inductor, ciflow/torchtitan
Stack from ghstack (oldest at bottom): -> #189316 #189315 #189314 #189190 #189188 #188739 #188112 #188470 #188469 #188468 Compose 2-D block local-reduce stores with physical-only finalizers such as mx_e8m0_scale. Block aux plan classification now traces a shape-preserving pointwise finalizer back to its base block r...
Pull Request #189320: [inductor] Enable nested Inductor configs for invoke_subgraph regionsdraft/noise51nonemodule: inductor, module: dynamo, ciflow/inductor, ciflow/torchtitan
Stack from ghstack (oldest at bottom): #189321 -> #189320 The normal Inductor invoke_subgraph path compiled each nested region under the surrounding graph's Inductor config, so per-region config patches were dropped and nested options had no effect on the region. This threads the nested-region config through the inv...
Pull Request #189307: [CI/CD] Copy newer CUPTI headers into manywheel binary-build imageswaiting on CI/check fix108nonetopic: not user facing, ciflow/docker
#189214 added install_cupti_headers, which stages the newer standalone CUPTI redist headers into /usr/local/cupti-headers-<major.minor> for the CUDA-13 build containers. However, the manywheel binary-build images only COPY /usr/local/cuda-<ver> out of the cuda build stage, so the staged headers never reach the final...
Pull Request #189324: [T278829272][Claude Code] Gate TLX flex_attention choices on tlx_modedraft/noise51nonemodule: inductor, ciflow/inductor, meta-exported, ciflow/torchtitan
Summary: X-link: facebookexperimental/triton#1961 15 caffe2/test/inductor:flex_attention tests broke on Hopper/Blackwell CI, root-caused to a missing gate against tlx-mode in flex_attention code. TLXInductorChoices.append_flex_attention_choices was the only method on the class that did not gate on config.triton.tlx_...
Pull Request #189321: [inductor] Enable per-region cudagraphs for invoke_subgraph via auto graph partitiondraft/noise51nonemodule: inductor, ciflow/inductor, ciflow/torchtitan
Stack from ghstack (oldest at bottom): -> #189321 #189320 Building on nested Inductor configs, a region can set triton.cudagraphs to opt into or out of cudagraphs independently of the enclosing graph. When a region's preference differs from the enclosing graph and graph partition is globally off, compile_fx enables...
Pull Request #189266: [ROCm][CI] Fix py3.15 ROCm manywheel numpy source build (pkg-config python3)waiting on CI/check fix63nonemodule: rocm, triaged, open source, ciflow/binaries_wheel
Summary Python 3.15 has no prebuilt numpy wheel on PyPI yet, so pip builds numpy from source for every arch. meson's Cython sanity check resolves the python3 pkg-config dependency to get Python include/link flags. The ROCm manylinux2_28-builder image ships the system Python 3.6 pkg-config file on the default search...
Pull Request #189291: Add an accurate Metal erfc for MPS (eager + inductor)waiting on CI/check fix63nonetriaged, open source, ciflow/mps, module: inductor, ciflow/inductor, ciflow/torchtitan
Splits the MPS backend portion out of #189234 (gh-187806) per review. Problem c10::metal::erfc is 1.0 - erf(x): once erf saturates in fp32 (x ~ 3.9), erfc returns 0.0, i.e. 100% relative error over the entire upper tail. Everything consuming it on MPS inherits the flush: eager torch.erfc / torch.special.erfc igammac...
Pull Request #188862: [inductor] Fix bool minimum/maximum crash in index propagation (#188862) (#188862)waiting on CI/check fix63nonemodule: cpu, ciflow/trunk, module: inductor, ciflow/inductor, meta-exported, ciflow/torchtitan
Summary: Context torch.minimum/torch.maximum on boolean tensors crash under torch.compile(backend="inductor") with ValueError: The argument 'False' is not comparable., while eager mode works. Reported in #188230 (repro: threshold -> torch.eq -> torch.empty_like -> torch.minimum). The root cause is that inductor feed...
Pull Request #188643: [AOTI] Add external constants API for zero-copy weight sharing (#188643)waiting on CI/check fix63noneciflow/trunk, module: inductor, ciflow/inductor, release notes: inductor (aoti), meta-exported, ciflow/torchtitan
Summary: Add a new AOTI C API, AOTInductorModelContainerCreateWithExternalConstants, that creates a model container with caller-provided weight tensors instead of loading from the .so file. The caller retains ownership (user_managed=true), enabling zero-copy weight sharing via CUDA IPC. The new ExternalConstantsTag...
Pull Request #189109: [profiler][cupti] Resolve a version-gated CUPTI header and conditionally install libclang for the field-id codegenwaiting on contributor43nonetopic: not user facing
Stack from ghstack (oldest at bottom): #189185 #189083 #188621 -> #189109 The CUPTI field-id codegen (tools/gen_cupti_stubs.py, stacked on top) parses the CUPTI ABI header cupti_activity.h with libclang to emit the _cupti_stubs field-id catalogs. This commit adds the header resolver + the conditional libclang build...
Pull Request #181559: [XPU] Enable _flash_attention_forward/_flash_attention_backwardwaiting on CI/check fix73#2442open source, intel priority, ciflow/trunk, ciflow/inductor, ciflow/xpu, release notes: inductor (aoti)
Fix intel/torch-xpu-ops#2442 intel/torch-xpu-ops#2853 at::_flash_attention_forward and at::_flash_attention_backward are two ops which is one-one mapping to Tridao's FlashAttention2 API. at::_scaled_dot_product_flash_attention and at::_scaled_dot_product_flash_attention_backward are two ops of SDPA FlashAttention ba...
Pull Request #181726: [xpu][1/4]Implement scaled_mm_v2 for MXFP8/MXFP4/NVFP4 on XPUwaiting on CI/check fix63nonemodule: cpu, triaged, open source, intel priority
Extend the XPU scaled_mm_v2 dispatch to support MXFP8 (BlockWise1x32 with e8m0fnu scales), MXFP4 (BlockWise1x32 with e8m0fnu scales on packed FP4 data), and NVFP4(BlockWise1x16 with float8_e4m3fn scales on packed FP4 data) Updated after blockwise FP8 support #173630 is merged. PR Stack: Since I don't have ghstack pe...
Pull Request #189051: [dynamo] Reject keyword args to set()/frozenset() constructorswaiting on CI/check fix63noneopen source, ciflow/trunk, module: dynamo, ciflow/inductor, release notes: dynamo, ciflow/torchtitan
Stack from ghstack (oldest at bottom): #185424 #189053 #189052 #189022 -> #189051 #189021 set(a=1) / set().init(a=1) silently returned an empty set under Dynamo instead of raising TypeError. BuiltinVariable.call_set / call_frozenset checked the keyword arguments only after a len(args) == 0 early-return, so the zero-...
Pull Request #189317: [doc] Add accelerator test reuse guide (#181474)waiting on CI/check fix73#181474open source, topic: not user facing
Adds a documentation page for the Accelerator Integration series explaining how out-of-tree backend developers can reuse PyTorch's built-in test cases. Covers: bypass_device_restrictions for @OnlyOn decorator bypass (#177248) op_skips / op_decorators for operator-level skipping (#177256) skipped_testcases for test c...
Pull Request #188632: Fix Dynamo opaque object staticmethod guardsready for maintainer decision112#188544topic: not user facing, module: dynamo, ciflow/inductor, ciflow/torchtitan, agentic, needs-review
Stack from ghstack (oldest at bottom): -> #188632 Value opaque objects are represented as TorchScriptObjectVariable, whose constructor accepted a source but did not pass it to UserDefinedObjectVariable. That left the base class without the instance source it needs to derive cls_source for descriptor lookup. When Dyn...
Pull Request #189325: [Dynamo] Fix self-referential bw_compiler on backend re-entrywaiting on CI/check fix63noneopen source, module: dynamo, ciflow/inductor, ciflow/torchtitan
Why When one aot_autograd backend compiles a second, distinct graph, AotAutograd.__call__ re-enters with bw_compiler already wrapped. The _is_wrapped_bw_compiler branch then ran bw_compiler.compiler_fn = bw_compiler, grafting a self-referential attribute (and needing a type: ignore) instead of leaving the wrapper un...
Pull Request #187404: [inductor][cutlass] Normalize reshaped external reads in EVT epilogue fusionready for maintainer decision45noneopen source, topic: not user facing, module: inductor, ciflow/inductor, ciflow/torchtitan
Stack from ghstack (oldest at bottom): -> #187404 Motivation Running the MobileBertForMaskedLM HuggingFace benchmark on XPU with CUTLASS epilogue fusion crashed during codegen: RuntimeError: Dimension mismatch between accum(1, 16384, 128), buf19(128, 128, 128) CUTLASS EVT treats the 2D GEMM output (M, N) = (16384, 1...
Pull Request #179286: Use C++20 concepts where it improves readabilitywaiting on CI/check fix63noneopen source, Merged, NNC, Reverted, ciflow/trunk, release notes: jit, topic: not user facing, ciflow/inductor, ci-no-td, no-runner-experiments, ciflow/vllm
C++20 introduces concepts which can simplify some template code. In this PR, I have changed some instances of enable_if with concepts where it's not hard to verify correctness. #176662 cc @EikanWang @jgong5
Pull Request #178393: [DO NOT MERGE] Dynamo 3.15 supportdraft/noise51noneopen source, release notes: releng, module: dynamo, ciflow/inductor, ciflow/dynamo, ciflow/torchtitan
Stack from ghstack (oldest at bottom): -> #178393 #179094 #188029 #187631 #189306
Pull Request #189249: [Dynamo] Remove dead code in tvm and common backendswaiting on CI/check fix63nonetriaged, open source, ciflow/trunk, topic: not user facing, module: dynamo, ciflow/inductor, ciflow/torchtitan
Why Two branches in torch/_dynamo/backends can never execute. tvm() assigns options a default when it is None, then immediately re-checks it for None. AotAutograd.__call__ assigns use_fallback = False and then branches on it, so the fallback and its not_ok counter increment are dead. How Drop the redundant if option...
Pull Request #188742: [ROCm][inductor] Enable scaled grouped GEMM Triton loweringwaiting on contributor43nonemodule: rocm, triaged, open source, ciflow/trunk, release notes: rocm, release notes: linalg_frontend, module: inductor, ciflow/inductor, release notes: inductor, ciflow/rocm-mi300, ciflow/h100, ciflow/rocm-mi355, ciflow/b200, ciflow/torchtitan, ciflow/rocm, ciflow/rocm-mi350
Summary Build on the ROCm grouped GEMM Triton lowering change so legacy aten._scaled_grouped_mm can use the shared scaled grouped Triton template on ROCm. Gate ROCm scaled grouped GEMM Triton selection to FP8-capable hardware and the expected FP8 encoding (fnuz on gfx94, OCP FP8 on newer FP8-capable arches). Enable...
Pull Request #189299: [MemoryViz] Decimate over-long stacked-area polygons so the summarize…draft/noise51none
…d band renders The "Active Memory Timeline" / "Allocated Memory (incl. Private Pools)" views build one stacked-area per allocation series and advance a point onto each live series at every alloc/free action. A series that stays live across the whole trace therefore gains one point per timestep. The global summarize...
Pull Request #189311: [wip] Reduce hackery for Dynamo appeasementwaiting on CI/check fix63nonemodule: dynamo, ciflow/inductor, ciflow/torchtitan
Stack from ghstack (oldest at bottom): (to be filled) cc @voznesenskym @penguinwu @EikanWang @jgong5 @Guobing-Chen @XiaobingSuper @zhuhaozhe @blzheng @wenzhe-nrv @jiayisunx @kadeng @chauhang @amjames @jataylo @azahed98
Pull Request #186055: Add CUDA graph support for torch.while_loopwaiting on CI/check fix63noneopen source, ciflow/trunk, release notes: cuda
Stack from ghstack (oldest at bottom): #186056 -> #186055 Motivation is to allow us to handle some forms of dynamic shapes inside of a cuda graph. This does not necessarily improve performance, but it can make your entire workload cuda graph compatible, which is good for developer experience For example, if you want...
Pull Request #189088: [SymmMem] Place the signal pad at the front of symmetric memory allocationswaiting on CI/check fix63noneopen source, release notes: distributed (c10d), release notes: distributed (symm_mem), ciflow/h100-symm-mem, ciflow/b200-symm-mem
Stack from ghstack (oldest at bottom): #187465 -> #189088 We place the signal pad at the front of symmetric memory allocations in this PR. The purpose is to fix the potential signal pad pollution when we reuse the same VA for one block. For example, within one block if we first use that VA for a large tensor and the...
Pull Request #187631: [dynamo] Fix segfault in list comprehension graph breakready for maintainer decision70noneopen source, topic: not user facing, module: dynamo, ciflow/inductor, ciflow/torchtitan
Stack from ghstack (oldest at bottom): #178393 #179094 #188029 -> #187631 #189306 Reusing the name of the iterator variable in a list comprehension that graph breaks to store the result causes a segfault (the stack underflows in the generated comprehension function). The current approach using bytecode templates is...
Pull Request #189305: Reapply "Remove CUDA sync in torch.combinations to improve `torch.compile` support (#186595)"waiting on CI/check fix63noneopen source, release notes: cuda, module: inductor, ciflow/inductor, ciflow/torchtitan, ciflow/dtensor
Reapplies #186595 after Meta internal revert. Let me know if there are any failures that require fixing from my end. /cc @voznesenskym @penguinwu @EikanWang @jgong5 @Guobing-Chen @XiaobingSuper @zhuhaozhe @blzheng @wenzhe-nrv @jiayisunx @ipiszy @kadeng @muchulee8 @amjames @chauhang @aakhundov @coconutruben @jataylo...
Pull Request #188029: [dynamo] Add namespace for cell variables that collide with localsready for maintainer decision45noneopen source, topic: not user facing, module: dynamo, ciflow/inductor, ciflow/torchtitan
Stack from ghstack (oldest at bottom): #178393 #179094 -> #188029 #187631 #189306 Cell variables that share a name with a local variable are stored separately in localsplus in cpython. This distinction is lost in dynamo, where all variables are stored in symbolic_locals. This doesn't matter for most purposes, but be...
Pull Request #188521: Fix OrderingBarrier additional_buffer_deps key mismatch in control_deps loweringwaiting on CI/check fix73#188513triaged, open source, topic: not user facing, module: inductor, ciflow/inductor, ciflow/torchtitan
Summary Fix a key mismatch in control_deps_op_lowering that caused OrderingBarrier's additional_buffer_deps to be silently dropped by the scheduler, breaking stream synchronization ordering. OrderingBarrier inherits from OperationBuffer, which has distinct buffer and operation names (assigned by register_buffer() an...
Pull Request #183328: [special] Add arbitrary-order modified Bessel functionswaiting on CI/check fix63nonemodule: cpu, triaged, open source, release notes: cpp, module: inductor, module: dynamo, ciflow/inductor, ciflow/torchtitan
Issue Partially addresses #76324. Summary Adds arbitrary-order modified Bessel functions: torch.special.modified_bessel_i(x, nu) torch.special.modified_bessel_k(x, nu) This follows the existing torch.special pointwise operator pattern with: ATen operator registration TensorIterator CPU/CUDA kernels CUDA Jiterator su...
Pull Request #186927: [MPS] Gemv kernelswaiting on CI/check fix108nonetriaged, open source, topic: improvements, release notes: mps, ciflow/mps
Gemv kernels. Draft till I put perf gains below on various machines and add tests. TODOs: Add tests Heuristics M2 base Heuristics M3 Ultra Heuristics M4 base Heuristics M5 Pro More heuristics (need help) Add perf benchmarks on M5 Pro Add perf benchmarks on M4 Add perf benchmarks on M3 Ultra Add perf benchmarks on M2...
Pull Request #179094: [DO NOT MERGE] Add docker image for python 3.15draft/noise51noneopen source, topic: not user facing, no-runner-experiments, ciflow/docker
Stack from ghstack (oldest at bottom): #178393 -> #179094 #188029 #187631 #189306 Authored with Claude.
Pull Request #186252: [inductor] Fix truncdiv off-by-one on CUDA with _div_rnwaiting on CI/check fix73#184408triaged, open source, ciflow/trunk, topic: not user facing, module: inductor, ciflow/inductor, ciflow/torchtitan
Fixes #184408 Triton's approximate fp32 division can produce results slightly below the true quotient, causing trunc(a / b) to be off by one when the quotient is near an integer. Use _div_rn (IEEE round-to-nearest) instead of plain div, matching the existing fix for the floor path. Change: trunc(div(a, b)) -> trunc(...
Pull Request #189313: Support aten::cumprod ONNX export via CumProd (opset 26)draft/noise61#102948open source, release notes: onnx
Fixing an Issue Before submitting, please review: The Ultimate Guide to PyTorch Contributions AI-Assisted Development policy Summary torch.cumprod could not be exported to ONNX (UnsupportedOperatorError: aten::cumprod). ONNX added the CumProd operator in opset 26, so this registers an implementation in the dynamo ex...
Pull Request #189286: Fix DeviceContext mode leaks from checkpoint recompute and set_default_device restoreready for maintainer decision80#189133release notes: autograd, topic: not user facing, module: inductor, ciflow/inductor, ciflow/torchtitan, mergedog, make tests great again
Stack from ghstack (oldest at bottom): -> #189286 #188573 #188299 #188100 Fixes #189133 This PR addresses flaky tests by fixing some DeviceContext mode leaks that may randomly affect other tests (e.g. the vmap test disabled by #189133). There are 3 issues addressed by this PR: TestAutograd and TestCompiledAutogradOp...
Pull Request #189306: [dynamo, 3.15] Fix test_bytecode_utilsready for maintainer decision45noneopen source, topic: not user facing, module: dynamo, ciflow/inductor
Stack from ghstack (oldest at bottom): #178393 #179094 #188029 #187631 -> #189306 Two changes to update this for 3.15 co_lnotab has been deprecated since 3.10, and was removed in 3.15. It was replaced by co_lines, which we can use instead LOAD_COMMON_CONSTANT can load None in 3.15, so is now used for functions that...
Pull Request #189297: [CI] Pin quack to torch's vendored SHA to fix B200 smoke cutlass import crashdraft/noise13noneciflow/trunk, topic: not user facing, ciflow/b200
Stack from ghstack (oldest at bottom): -> #189297 The B200 smoke job's test_flex_flash::test_hierarchical_indexing_4d crashes at runtime with ModuleNotFoundError: No module named 'cutlass._mlir_helpers'. The compiled flex-attention CuTeDSL kernel imports flash_attn.cute, which pulls in quack, whose recent releases d...
Pull Request #189319: Enable flake8-bugbear B007 (unused loop control variable)waiting on CI/check fix63noneopen source, release notes: quantization, release notes: releng, ciflow/mps, module: inductor, module: dynamo, ciflow/inductor, release notes: distributed (dtensor), module: compiled autograd, ciflow/h100-symm-mem, ciflow/inductor-pallas, ciflow/torchtitan, ciflow/dtensor
Summary Enables flake8-bugbear B007 (unused loop control variable), one of the remaining bugbear codes still suppressed in the ignore list of pyproject.toml. Part of #106571. This removes B007 from the ignore list and fixes all 169 violations across 110 files so the lint is enforced going forward. Approach Most fixe...
Pull Request #188600: [ROCm][inductor] Support grouped GEMM Triton loweringwaiting on contributor43nonemodule: rocm, triaged, open source, release notes: rocm, release notes: linalg_frontend, module: inductor, ciflow/inductor, release notes: inductor, ciflow/rocm-mi300, ciflow/h100, ciflow/b200, ciflow/torchtitan
Summary Allow Inductor's grouped GEMM Triton lowering on ROCm instead of gating it to NVIDIA SM90+ only. Match ROCm ATen extern output layout by using contiguous grouped GEMM output strides on HIP while preserving CUDA's TMA-aligned padded strides. Enable existing grouped GEMM compile tests on ROCm. Test plan python...
Pull Request #181781: [dynamo] turn canonicalize_output_graph_node_order on by defaultwaiting on CI/check fix63nonemodule: dynamo, ciflow/inductor, ciflow/torchtitan, ciflow/dtensor
Stack from ghstack (oldest at bottom): -> #181781 #188176 #188175 #181780 cc @voznesenskym @penguinwu @EikanWang @jgong5 @Guobing-Chen @XiaobingSuper @zhuhaozhe @blzheng @wenzhe-nrv @jiayisunx @kadeng @chauhang @amjames @Lucaskabela @jataylo @azahed98
Pull Request #188137: [inductor] Decompose shard_dim_alltoall via regular decompositionwaiting on CI/check fix63nonetriaged, open source, ciflow/trunk, module: inductor, ciflow/inductor, release notes: distributed (dtensor), release notes: inductor, ciflow/torchtitan, ciflow/dtensor
Summary: add an opt-in regular Inductor decomposition for _dtensor.shard_dim_alltoall into layout ops plus _c10d_functional.all_to_all_single/wait_tensor decompose only when the dims are valid, the dtype is supported, the process group size is resolvable, and the local shard dim is evenly divisible by the process gr...
Pull Request #189312: [CUDA][cuBLAS] Change cuBLAS default workspace size for SM 11.0 to 32 MiBwaiting on CI/check fix108nonemodule: cuda, module: cublas, open source, topic: not user facing
Thor is closest to datacenter blackwell, and current defaults cause CUBLAS_STATUS_NOT_SUPPORTED in e.g., python test/test_linalg.py TestLinalgCUDA.test_matmul_mv_cuda_float32 I assume there are basically internal users of SM 11.0 that would complain? CC @ngimel authored with codex cc @ptrblck @msaroufim @tinglvv @nW...
Pull Request #189301: [ROCm] Bump AOTriton to 0.13bdraft/noise51nonemodule: rocm, open source, topic: not user facing, ciflow/rocm-mi300
Notable new features compared with 0.12.1b: Debug printing can be enabled with env var AOTRITON_DEBUG_LEVEL, without re-compiling We use the same logging level as of AMD_LOG_LEVEL CAVEAT: AOTriton itself does not read AMD_LOG_LEVEL Set AOTRITON_DEBUG_LEVEL=5 to print everything BREAKING .aks2 files are packed into u...
Pull Request #189022: [dynamo] Support itertools.count keyword args and reprready for maintainer decision45noneopen source, module: dynamo, ciflow/inductor, release notes: dynamo, ciflow/torchtitan
Stack from ghstack (oldest at bottom): #185424 #189053 #189052 -> #189022 #189051 #189021 Two itertools.count object-protocol gaps, both mirroring CPython Modules/itertoolsmodule.c: Construction: the count branch had a not kwargs guard, so the keyword forms count(start=..)/count(step=..) fell through to a graph brea...
Pull Request #188006: [ROCm] Fix torch.pdist correctness on ROCm; re-enable test_pdist_norm_largewaiting on contributor53#168868module: rocm, triaged, open source, release notes: rocm
Fixes #168868 Investigation summary Test environment PyTorch version: 2.13.0a0+git75d18bb Hip version: 7.2.53211 GPU 0 name: AMD Instinct MI355X Command to reproduce $ PYTORCH_TEST_WITH_ROCM=1 pytest test/test_torch.py -k "test_pdist_norm_large" -v Default behaviour test/test_torch.py::TestTorchDeviceTypeCPU::test_p...
Pull Request #189092: [dynamo] reduce call_obj_hasattr overridesdraft/noise51nonemodule: dynamo, ciflow/inductor, ciflow/torchtitan
Stack from ghstack (oldest at bottom): -> #189092 #189091 #187707 #187532 #187531 #187469 #187468 Fix object_generic_getattr step 7 to raise ObservedAttributeError instead of _UnhandledDescriptorError when an attribute genuinely doesn't exist after exhaustive MRO search and getattr fallback. This is semantically cor...
Pull Request #187707: [dynamo] remove GetAttrVariabledraft/noise51nonemodule: dynamo, ciflow/inductor, ciflow/torchtitan
Stack from ghstack (oldest at bottom): #189092 #189091 -> #187707 #187532 #187531 #187469 #187468 GetAttrVariable was a catch-all fallback that deferred attribute access by wrapping it in a proxy. It made it impossible to distinguish "attribute not found" from "attribute found but unhandled," masking real errors (e....
Pull Request #189091: [dynamo] guard getattr() builtin constant-fold fallbackdraft/noise51nonemodule: dynamo, ciflow/inductor, ciflow/torchtitan
Stack from ghstack (oldest at bottom): #189092 -> #189091 #187707 #187532 #187531 #187469 #187468 GetAttrBuiltinVariable.call_function has a constant-fold fallback that fires when getattro_impl raises Unsupported and all args are python constants. It was calling VariableTracker.build(tx, result) without a source, so...
Pull Request #188978: swap isinstance(t, FakeTensor) to is_fakewaiting on CI/check fix73#188694ciflow/trunk, module: inductor, module: dynamo, ciflow/inductor, release notes: export, release notes: inductor (aoti), ciflow/torchtitan, ciflow/docker
closed #188694 bc need to stack smth on top copying pr summary over... in preparation for C++ FakeTensor migration, i am landing this change first to change isinstance(t, FakeTensor) to is_fake_tensor and adding a check for C++ FakeTensor to the is_fake_tensor function. but since C++ faketensor is not being used yet...
Pull Request #187531: [dynamo] enable generic attribute mutation on non-UDOV VTsdraft/noise51nonemodule: dynamo, ciflow/inductor, ciflow/torchtitan
Stack from ghstack (oldest at bottom): #189092 #189091 #187707 #187532 -> #187531 #187469 #187468 Adds a get_value_for_setattr() opt-in hook on the base VariableTracker that enables attribute mutation (setattr/getattr/hasattr) for VTs beyond UserDefinedObjectVariable. The mechanism: VTs override get_value_for_setatt...
Pull Request #187532: [dynamo] fix __getattr__ and __getattribute__ dunder semanticsdraft/noise51nonemodule: dynamo, ciflow/inductor, ciflow/torchtitan
Stack from ghstack (oldest at bottom): #189092 #189091 #187707 -> #187532 #187531 #187469 #187468 Previously, both obj.__getattr__("x") and obj.__getattribute__("x") in call_method dispatched through getattro_impl, which does full GenericGetAttr including the __getattr__ fallback. This was semantically wrong for bot...
Pull Request #187468: [dynamo] add break_graph_if_unsupported to LOAD_ATTRwaiting on CI/check fix63nonetopic: not user facing, module: dynamo, ciflow/inductor, keep-going, ciflow/dynamo, ciflow/torchtitan
Stack from ghstack (oldest at bottom): #189092 #189091 #187707 #187532 #187531 #187469 -> #187468 LOAD_ATTR previously relied on the step() fallback for graph breaks, which restarts from the most recent empty-stack checkpoint. This is less precise than other opcodes like STORE_ATTR and CALL that use break_graph_if_u...
Pull Request #187469: [dynamo] extract UDOV hooks: lookup_instance_dict and call_getattr_fallbackwaiting on CI/check fix63nonetopic: not user facing, module: dynamo, ciflow/inductor, ciflow/torchtitan
Stack from ghstack (oldest at bottom): #189092 #189091 #187707 #187532 #187531 -> #187469 #187468 Extract two chunks of UDOV's generic_getattr into hook overrides, matching the hook interface on base VariableTracker: lookup_instance_dict (step 3): instance dict lookup including side-effects awareness (INSTANCE_DICT...
Pull Request #181780: [dynamo] set canonicalize_output_graph_node_order=True for export testswaiting on CI/check fix63nonetopic: not user facing, module: dynamo, ciflow/inductor, keep-going, ciflow/torchtitan, ciflow/dtensor
Stack from ghstack (oldest at bottom): #181781 #188176 #188175 -> #181780 cc @voznesenskym @penguinwu @EikanWang @jgong5 @Guobing-Chen @XiaobingSuper @zhuhaozhe @blzheng @wenzhe-nrv @jiayisunx @kadeng @chauhang @amjames @jataylo @azahed98
Pull Request #188175: [dynamo] fix autograd cache and split_module tests under canonicalizationready for maintainer decision70nonemodule: inductor, module: dynamo, ciflow/inductor
Stack from ghstack (oldest at bottom): #181781 #188176 -> #188175 #181780 Two tests opted out of canonicalize_output_graph_node_order because they were sensitive to placeholder ordering. This PR fixes both so the opt-outs can be removed. test_multi_graph_specialization failed because canonicalization reorders placeh...
Pull Request #189292: Fix dead ExecuTorch XNNPACK doc link in mobile_optimizerready for maintainer decision70noneciflow/trunk, topic: not user facing
Stack from ghstack (oldest at bottom): -> #189292 The nightly Link checks / lint-urls / lint job fails on a genuine 404: the XNNPACK backend doc referenced from mobile_optimizer.md was renamed by ExecuTorch from native-delegates-executorch-xnnpack-delegate.html (now 404) to backends-xnnpack.html (200). Point the lin...
Pull Request #188176: [dynamo] fix test_perf.py tests under canonicalizationready for maintainer decision45nonetopic: not user facing, module: inductor, ciflow/inductor
Stack from ghstack (oldest at bottom): #181781 -> #188176 #188175 #181780 Two tests in test_perf.py opted out of canonicalize_output_graph_node_order unnecessarily. This removes both opt-outs. test_cat_pointwise passes deterministically with canonicalization -- the numel counts are unchanged because canonicalization...
Pull Request #189190: flex_gemm: extend feed-main to trailing pointwise and axis-1 fragmentswaiting on CI/check fix63nonemodule: inductor, ciflow/inductor, ciflow/torchtitan
Stack from ghstack (oldest at bottom): #189316 #189315 #189314 -> #189190 #189188 #188739 #188112 #188470 #188469 #188468 The feed-main matcher now recurses through trailing shape-preserving pointwise nodes after the un-grouping view, so quant casts like .to(float8_e4m3fn) compose with physical axis-0 feeds. Axis-1...
Pull Request #189188: flex_gemm: support scalar captured epilogue argsready for maintainer decision45nonemodule: inductor, ciflow/inductor, ciflow/torchtitan
Stack from ghstack (oldest at bottom): #189316 #189315 #189314 #189190 -> #189188 #188739 #188112 #188470 #188469 #188468 Add a fourth captured-epilogue-arg kind "scalar" beside tile/row/col for [1, 1] read-only tensors. This unlocks native float8 tensorwise quant epilogues, e.g. (acc * s).to(torch.float8_e4m3fn) wi...
Pull Request #188739: flex_gemm: add quant loweringsdraft/noise13nonemodule: inductor, ciflow/inductor, ciflow/torchtitan
Stack from ghstack (oldest at bottom): #189316 #189315 #189314 #189190 #189188 -> #188739 #188112 #188470 #188469 #188468
Pull Request #188112: flex_gemm: feed local reductions into epiloguesdraft/noise13nonetopic: not user facing, skip-pr-sanity-checks, module: inductor, ciflow/inductor, ciflow/torchtitan
Stack from ghstack (oldest at bottom): #189316 #189315 #189314 #189190 #189188 #188739 -> #188112 #188470 #188469 #188468 Let dense aten.mm FlexGEMM epilogues feed a grouped local reduction back into the main output expression (and optionally store it), e.g. acc / acc.view(-1, group, N).sum(1) or centered-mean/varia...
Pull Request #188470: flex_gemm: extend local reduce aux groupsdraft/noise13nonemodule: inductor, ciflow/inductor, ciflow/torchtitan
Stack from ghstack (oldest at bottom): #189316 #189315 #189314 #189190 #189188 #188739 #188112 -> #188470 #188469 #188468 Extend compressed local-reduce aux outputs beyond one 32-lane TensorSSA fragment: axis-1 groups above the fragment width (CTA-subtile groups such as 64/128) and axis-0 M-groups now lower through...