Skip to content

[pull] master from tensorflow:master - #8855

Merged
pull[bot] merged 30 commits into
Cache-Cloud:masterfrom
tensorflow:master
Sep 28, 2026
Merged

pull[bot] merged 30 commits into
Cache-Cloud:masterfrom
tensorflow:master

Conversation

@pull

@pull pull Bot commented Sep 28, 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 : )

cfRod and others added 30 commits September 7, 2026 13:16
NumPy raises AxisError when sum/prod/mean/amax/amin/std/var receive an
out-of-bounds axis. The shared _reduce helper forwarded the axis to the
backend kernel unvalidated, producing a confusing runtime failure.
Add static bounds validation for sequence axes with statically known rank,
consistent with the cumsum/compress/moveaxis validation pattern.
…bounds

# Conflicts:
#	tensorflow/python/ops/numpy_ops/tests/np_test.py
Fixes a data race seen in free threading builds.

PiperOrigin-RevId: 989154130
Something is broken at head.

PiperOrigin-RevId: 989195429
…line

Clean up dead, redundant, and duplicate passes in `AddNewXtileToVectorPasses`
and `AddNewVectorToLLVMPasses`:
- Remove `RegisterOptimizationPasses` before `LowerXTileEntryPass` (it
  ran `LoopInvariantCodeMotion`, `SymbolDCE` before `xtile.entry_func` was
  lowered).
- Remove `ConvertElementwise0DTensorToScalarPass`, because the VectorizeXtile.cc handles it anyway.
- Move `StablehloTargetIndependentOptimizationPass` it was a no-op pass after the vectorization.
- Remove duplicate `LowerToLLVMPass` invocation in `AddNewVectorToLLVMPasses`.

PiperOrigin-RevId: 989201049
PiperOrigin-RevId: 989262062
Currently, we remove the constraints from the indexing maps before constructing ApplyIndexingOps. Because of that we miss some of the arithmetic simplifications, because with the contraints the result range might be smaller and that would in turn enable some simplification/folding.

I think a proper fix would be to allow constraints in apply_indexing. However, that could affect the compile time severely. I will experiment with that in a follow up. Even if we allow constraints, it makes sense to cache the ranges to save on compute a bit.

PiperOrigin-RevId: 989262341
… coalescing and WriteN.

PiperOrigin-RevId: 989374464
…-integer-pow

PiperOrigin-RevId: 989438759
Imported from GitHub PR openxla/xla#49586

📝 Summary of Changes
- Add `//xla/stream_executor/rocm:rocm_platform_test`, the ROCm twin of `cuda_platform_test` / `sycl_platform_test`.
- Cover `PlatformWithName("ROCM")` and `FindExisting` after `ExecutorForDevice`.

🎯 Justification
Add more unit test coverage on ROCm platform.

🚀 Kind of Contribution
 🧪 Tests

Copybara import of the project:

--
e712cca80234d5417a06533eee3fff9fa9fdd633 by linchen1 <lin.chen1@amd.com>:

Add rocm_platform_test.

Signed-off-by: linchen1 <lin.chen1@amd.com>

Merging this change closes #49586

PiperOrigin-RevId: 989479036
Previously, `ScatterDeterminismExpander` only checked for out-of-bounds scatter
indices when updates were non-scalar. For scalar updates with multi-dimensional
scatter indices, `SortIndicesAndUpdates` flattened the indices via a dot product
with the operand strides without validating each component. Out-of-bounds
coordinates in one dimension (e.g., `(0, 4)` or `(1, -4)` on a `[2, 4]` operand)
could wrap into adjacent rows and overwrite valid elements instead of being
dropped.

Additionally, for non-scalar updates with implicit dimensions,
`out_of_bound_tensor` was padded with `0`s for implicit dimensions via
`AddImplicitDimensionsToIndices`. When `ExpandIndices` added non-zero window
offsets along an implicit dimension, the flattened out-of-bounds index could
collide with valid in-bounds indices.

Validate multi-dimensional scatter indices and mask out-of-bounds rows with
`out_of_bound_tensor` in the scalar-update path before sorting, and recreate
`out_of_bound_tensor` via `CreateBoundTensor` using the full index-to-operand
dimension mapping when implicit dimensions are added.

Fixes #49380

PiperOrigin-RevId: 989480847
The autotuner shares the cuDNN handle by multiple threads potentially causing race conditions.

From the documentation (https://docs.nvidia.com/deeplearning/cudnn/latest/developer/misc.html#thread-safety):
"The cuDNN library is thread-safe. Its functions can be called from multiple host threads, so long as the threads do not share the same cuDNN handle simultaneously."

PiperOrigin-RevId: 989481298
CuDNN graphs do not support the following pattern
```
const = bf16[] constant(6)
conv = f32[] convert(const)
```
PiperOrigin-RevId: 989496996
…Context

This allows later changes to evaluate tiling candidates concurrently, each in its
own context. This is essential because mlir contexts in GpuCompiler are not thread-safe.

PiperOrigin-RevId: 989503240
@pull pull Bot locked and limited conversation to collaborators Sep 28, 2026
@pull pull Bot added the ⤵️ pull label Sep 28, 2026
@pull
pull Bot merged commit bf313a7 into Cache-Cloud:master Sep 28, 2026
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.