aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/compiler/xla/service/hlo_creation_utils.h
Commit message (Collapse)AuthorAge
* [XLA] Update Scatter to ignore out-of-bound indices.Gravatar A. Unique TensorFlower2018-09-24
| | | | PiperOrigin-RevId: 214309598
* [XLA] Rename PrecisionConfigProto to PrecisionConfigGravatar David Majnemer2018-09-05
| | | | | | The "Proto" suffix adds little clarity but makes a long type name even longer. PiperOrigin-RevId: 211693871
* [XLA] Make kConvolution, kDot HLO attributes mandatoryGravatar David Majnemer2018-09-04
| | | | | | | | 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
* [XLA] Rename all (Mutable)ArraySlice to absl::Span.Gravatar Tim Shen2018-08-30
| | | | PiperOrigin-RevId: 210998142
* [XLA] Use absl string types and functions instead of the TF versions.Gravatar Justin Lebar2018-08-23
| | | | | | | 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
* [XLA] Add a new HLO pass to expand Scatter into existing HLO ops.Gravatar A. Unique TensorFlower2018-08-14
| | | | PiperOrigin-RevId: 208693704
* Remove degenerate batch dimensions form batch dotGravatar Sanjoy Das2018-05-11
| | | | | | | | | | | | | 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
* Minor cleanups to the gather expander; NFCGravatar Sanjoy Das2018-04-17
| | | | | | | | | | | | | | | | | 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
* Fix some edge cases around scalar indices in the gather expanderGravatar Sanjoy Das2018-03-19
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Rename CreateXyzHlo utilities to MakeXyzHlo as discussed on cr/188968478; NFCGravatar Sanjoy Das2018-03-15
| | | | | | | 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
* Add a GatherExpander pass that can rewrite Gather ops back into HLO soupGravatar Sanjoy Das2018-03-13
| | | | | | | | 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
* Add some simple HLO creation utilities to auto-infer result shapesGravatar Sanjoy Das2018-03-08
I need something like this for my Gather HLO->HLO lowering pass. PiperOrigin-RevId: 188365102