Skip to content

[pull] master from tensorflow:master - #8789

Merged
pull[bot] merged 20 commits into
Cache-Cloud:masterfrom
tensorflow:master
Aug 29, 2026
Merged

[pull] master from tensorflow:master#8789
pull[bot] merged 20 commits into
Cache-Cloud:masterfrom
tensorflow:master

Conversation

@pull

@pull pull Bot commented Aug 29, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

rickeylev and others added 20 commits August 28, 2026 11:38
PiperOrigin-RevId: 972699160
The CUB device-scan rewriter turns scan ops into an opaque custom-call kernel. Its launch overhead dominates the small scan shapes we target and it blocks prologue/epilogue fusion, which regressed some important workloads and forced the earlier rollback. Dropping the pass lets scans lower through `AssociativeScanRewriter` (the reduce-window tree) and `ScanExpander`, matching the pre-regression path.

This is a no-op today because nothing emits scan ops yet. It is the first step toward re-enabling JAX `cumsum` -> scan emission (follow-up JAX CL); landing it first guarantees emitted scans never hit CUB. A later change should reintroduce CUB behind a cost model that restricts it to the shapes where it pays.

PiperOrigin-RevId: 972703381
… a gemm fusion.

Similar to the one for transposes as operands, this one does not allow non-contracting dimensions or batch dimensions to be interleaved, but it does allow for dimensions to be swapped within the dimension type. I added a couple of tests for "good" vs "bad" transposes.

PiperOrigin-RevId: 972709547
…llective kernel thunks.

Reverts 9dd68c0

PiperOrigin-RevId: 972711155
Reverts e7e4855

PiperOrigin-RevId: 972719730
… legalization.

TFLite's native TRANSPOSE_CONV operator does not support groups > 1.
This change supports grouped transposed convolutions end-to-end:
1. In _convolution.py: Permutes and reshapes RHS weights when groups > 1 from PyTorch format [C_in, C_out / G, *spatial] to StableHLO format [C_in / G, C_out, *spatial], emitting standard stablehlo.convolution(feature_group_count = groups).
2. In conv.cc: Generalizes SliceDepthwiseTransposedConvolution to SliceGroupedTransposedConvolution to match any feature_group_count > 1 and channel multiplier M >= 1, slicing into G single-group tfl.transpose_conv operations and concatenating the outputs for TFLite flatbuffer generation.
3. Added FileCheck test in prepare_hlo.mlir and expanded parameter sweeps in test_convert.py and test_core_aten_ops.py.

Resolves GitHub issue 604.

PiperOrigin-RevId: 972738946
- Map SignatureDef inputs/outputs directly to tensor indices instead of name lookups to fix collisions when input and output names match.
- Support DenseResourceElementsAttr serialization, low-bit packing (INT4/UINT4/INT2), and xxHash-based buffer deduplication.
- Fix GetSizeInBits for shaped quantized/complex types and add QI4 support to TFL_QConstOp.
- Allow folding TransposeOp and ReshapeOp on resource constants.

PiperOrigin-RevId: 972819590
Store host buffers within ExecutionScopedState.
In preparation of adding cuda graph support to HostExecuteStartThunk.

Also add overhead benchmark

PiperOrigin-RevId: 972824429
…erals`

The HLO isolation pipeline previously stored intermediate fusion debugger
reference literals in temporary disk files (`.bin`). This approach caused disk
I/O overhead during test execution and ran into Protobuf 2GB serialization
limits on large HLO modules.

Summary of changes:
- Introduced `ExpectedLiteralsMap` and added an `expected_literals` field to
  `RunModuleOptions` to pass reference literals directly in memory between the
  reference interpreter pass and the comparison pass.
- Updated `CreateDumpHloOutputCallbacks` to populate `expected_literals` in memory
  instead of writing literals to disk files.
- Updated `CreateComparisonHloOutputCallbacks` to read reference literals from
  `expected_literals` and immediately evict each entry after its comparison
  completes to bound memory overhead.
- Removed legacy file-based helper functions (`GetFusionDebuggerDir`,
  `GetFusionDebuggerFilePath`, `CleanUpAllFusionDebuggerFiles`, and
  `GetLeftoverFusionDebuggerFiles`).
- Added unit test `TestInMemoryExpectedLiteralsPassingAndEviction` and cleaned
  up file-based test cases.

PiperOrigin-RevId: 972824995
Adds X64ConfigProto to DebugAttributesProto to support tracking 64-bit
fragment metadata for tensor logging and reconstruction.

PiperOrigin-RevId: 972825939
…ion and server initialization.

Fixes #124954

PiperOrigin-RevId: 972828979
Reverts cf6867d

PiperOrigin-RevId: 972829172
diffs so integration tests match recently added patch file copyrights.

PiperOrigin-RevId: 972840768
Bound unconstrained integer inputs to half bitwidth ($B/2$ bits) during
dataflow-based input generation when `use_large_range` is false:
- Default unconstrained signed integers to $[-2^{B/2-1}, 2^{B/2-1}-1]$ (e.g.
  $[-32768, 32767]$ for S32, $[-128, 127]$ for S16, $[-2^{31}, 2^{31}-1]$ for
  S64).
- Default unconstrained unsigned integers to $[0, 2^{B/2}-1]$ (e.g.
  $[0, 65535]$ for U32, $[0, 255]$ for U16).
- For one-sided constraints (e.g. $x \ge 0$), cap the domain at `default_max`
  (e.g. $[0, 32767]$ for S32), and shift the window if the single bound
  exceeds the default range.
- Expand to full range when `no_duplicates` is requested and the tensor element
  count exceeds the default range capacity (`default_range_size`).

In guarded log, division, and offset indexing fusions (such as
`log(offset + convert(select(pred, p1 + p2, 0) - 1))`), unconstrained
integer parameters with full 32-bit ranges can overflow during addition
($p_1 + p_2$), wrapping around to large negative numbers. When converted to
float and added to a positive offset (e.g. 1024.0), the sum becomes negative,
producing `NaN` when passed to `log`.

Constraining unconstrained integers to half bitwidth ($B/2$ bits):
1. Guarantees that binary operations like $x \times y$, $x^2$, and multi-operand
   sums $p_1 + p_2$ fit within the $B$-bit register without two's-complement
   overflow into negative numbers.
2. Ensures exact bit-for-bit mantissa representation when converting to float32
   ($32768 \ll 2^{24}$).
3. Prevents downstream transcendental operations (`log`, `sqrt`, `rsqrt`) from
   receiving invalid negative inputs.

Added unit tests in constraint_propagator_test.cc:
- GuardedOffsetLog: Verifies positive interval constraints propagate across
  log, convert, sub, select, and add operations.

PiperOrigin-RevId: 972849025
@pull pull Bot locked and limited conversation to collaborators Aug 29, 2026
@pull pull Bot added the ⤵️ pull label Aug 29, 2026
@pull
pull Bot merged commit 6ca9d84 into Cache-Cloud:master Aug 29, 2026
1 of 2 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.