[pull] master from tensorflow:master - #8789
Merged
Merged
Conversation
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
…PU devices PiperOrigin-RevId: 972796813
PiperOrigin-RevId: 972801765
- 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
… tensor. Fixes #113148 PiperOrigin-RevId: 972824257
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
PiperOrigin-RevId: 972832034
PiperOrigin-RevId: 972833766
diffs so integration tests match recently added patch file copyrights. PiperOrigin-RevId: 972840768
PiperOrigin-RevId: 972844099
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 : )