| Commit message (Collapse) | Author | Age |
|
|
|
| |
PiperOrigin-RevId: 214309598
|
|
|
|
|
|
| |
The "Proto" suffix adds little clarity but makes a long type name even longer.
PiperOrigin-RevId: 211693871
|
|
|
|
|
|
|
|
| |
HLO transformations would forget to propagate the feature depth attribute.
Making these attributes mandatory, while slightly less convenient for tests,
makes HLO transformations more robust.
PiperOrigin-RevId: 211490160
|
|
|
|
| |
PiperOrigin-RevId: 210998142
|
|
|
|
|
|
|
| |
Unfortunately this has to be one big patch, because e.g. absl::StrCat
doesn't accept a TF StringPiece, but as soon as we switch to
absl::string_view, we have to switch away from all of the TF functions.
PiperOrigin-RevId: 209957896
|
|
|
|
| |
PiperOrigin-RevId: 208693704
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The way things are set up today this specific optimization isn't particularly
important, but I want to implement a follow-on optimization in
BatchDotSimplification to transform (non-degenerate) batch GEMV operations into
GEMM which I'm expecting to help us a bit.
This would normally be in the algebraic simplifier, but we want to fixpoint this
pass before we run DotDecomposer. This will become more important when we
implement the (non-degenerate) batch GEMV operations -> GEMM transform.
PiperOrigin-RevId: 196314230
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change is NFC now, but it makes the code more general and this generality
will be used later on. For instance
ExpandFirstDimIntoNDims(transposed_gather_indices, {1, shape.dimensions(0)})
does not work if shape is a scalar shape (and this fine because today shape is
never scalar) but
PrependDegenerateDims(transposed_gather_indices, 1)
works fine if transposed_gather_indices is scalar (and it will be, in a future
change).
PiperOrigin-RevId: 193283404
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I discovered these when changing the tf2xla bridge to directly emit gather
operations.
- DeScalarizeGatherIndices was assuming that gather_indices must be of at least
rank 1. Fix this to be more general.
- We were passing in the wrong version of gather indices to
ExpandFirstDimIntoNDims. We don't strictly need to pass in
transposed_gather_indices (since if transposed_gather_indices is rank 1 then
the transpose has to be an identity transpose), passing in
descalarized_gather_indices would also have been fine, but
transposed_gather_indices seems more uniform.
- ExpandGatherDimsInAccumulator was assuming that gather_indices must be of at
least rank 1 (by calling CollapseFirstNDims). Fix this to be more general.
- We were trying to go through with emitting zero sized gather operations. I
don't think it is worth dealing with all of the edge cases this would expose
so now we just punt to ZeroSizedHloElimination.
PiperOrigin-RevId: 189696444
|
|
|
|
|
|
|
| |
The rationale here is that MakeXyzHlo is less likely to be confused with
HloInstruction::CreateXyz and we already have a convention of using a "Make"
prefix for ergonomic factory functions.
PiperOrigin-RevId: 189259036
|
|
|
|
|
|
|
|
| |
With this pass we now have a minimal viable implementation of gather on all
platforms. The code is a bit gnarly but conceptually this is very similar to
what we do in the tf2xla bridge today.
PiperOrigin-RevId: 188968478
|
|
I need something like this for my Gather HLO->HLO lowering pass.
PiperOrigin-RevId: 188365102
|