aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/compiler/xla/service/instruction_fusion.h
Commit message (Collapse)AuthorAge
* [XLA] Move FusionQueue class declaration into separate headerGravatar A. Unique TensorFlower2018-10-04
| | | | PiperOrigin-RevId: 215783391
* [XLA] Migrate from gtl::FlatMap to absl::flat_hash_mapGravatar Benjamin Kramer2018-10-01
| | | | PiperOrigin-RevId: 215272497
* [XLA] Use a result cache to speed up InstructionFusion::CanFuseOnAllPaths()Gravatar Yuanzhong Xu2018-09-27
| | | | PiperOrigin-RevId: 214848216
* Add interface for HLO passes which run on HloModuleGroup.Gravatar Mark Heffernan2018-09-19
| | | | | | Derive HloModulePass and HloModuleGroupPass from HloPassInterface which run module-scoped and module-group-scoped respectively. Replace all existing uses of HloPassInterface with HloModulePass because all existing passes are module-scoped. Also rewrite HloPassPipeline to support both module-scoped and module-group-scoped passes. PiperOrigin-RevId: 213629604
* [XLA] A queue interface to allow fusion in different orders.Gravatar Yuanzhong Xu2018-09-12
| | | | PiperOrigin-RevId: 212674212
* [XLA] Rename all (Mutable)ArraySlice to absl::Span.Gravatar Tim Shen2018-08-30
| | | | PiperOrigin-RevId: 210998142
* [XLA] Unify spelling of 'fusible'Gravatar Benjamin Kramer2018-08-27
| | | | | | Of {fusable, fusile, fusible} my dictionary only knows about fusible. PiperOrigin-RevId: 210373347
* [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:GPU] Basic multi-output fusion for GPU.Gravatar A. Unique TensorFlower2018-05-24
| | | | | | Take a conservative approach and attempt multi-output fusion in cases where "regular" fusion is not an option. PiperOrigin-RevId: 197852598
* Refactor HloInstruction::Fuse and add a method for multi-output fusion.Gravatar A. Unique TensorFlower2018-05-16
| | | | PiperOrigin-RevId: 196813042
* Simplify, test and document logic in instruction fusion that decides whether weGravatar A. Unique TensorFlower2018-04-26
| | | | | | allow fusion when an operation needs to be duplicated. PiperOrigin-RevId: 194429279
* [XLA] Move ReusesOperandElements() fusion check into the CPU/GPU subclasses.Gravatar A. Unique TensorFlower2017-09-13
| | | | | | This heuristic assumes an implementation of fusion that requires recomputing the producer, which is specific to those backends, rather than inherent to fusion. PiperOrigin-RevId: 168592936
* [XLA] Make some static functions in InstructionFusion members.Gravatar A. Unique TensorFlower2017-08-30
| | | | PiperOrigin-RevId: 167025880
* Minor bugfix to HloInstruction::MergeFusionInstruction, and allow ↵Gravatar A. Unique TensorFlower2017-08-27
| | | | | | InstructionFusion::Fuse to be overridden by derived classes. PiperOrigin-RevId: 166631382
* [XLA] Move HLO reachability into its own file and make update-able.Gravatar Mark Heffernan2017-06-29
| | | | | | As part of the CL, change the underlying representation in the reachability map to BitVectors which allows efficient update by OR'ing the vectors together. PiperOrigin-RevId: 160591849
* [XLA] Simplify the fusion heuristicGravatar David Majnemer2017-06-26
| | | | | | | | | | | | We had two different aspects of the fusion heuristic: - Don't fuse a producer into a consumer if there exists a path from the producer to the consumer which cannot be fused. - Don't fuse a producer into a consumer if any consumer of the producer cannot fuse. These can be combined into one, simpler, heuristic. PiperOrigin-RevId: 160222771
* [XLA] Disallow fuse X into Y if there are paths from X to Y which don't fuseGravatar David Majnemer2017-06-26
| | | | | | | | | Just because X can fuse into all of its consumers does not mean that those consumers can fuse into anything. Depending on the structure of the graph, this can either result in no performance win at all or, in the case of recurrent networks, a big performance deficit. PiperOrigin-RevId: 160194058
* Fusion uses the same cost model for all backends when it comes toGravatar David Majnemer2017-03-29
| | | | | rematerializing for fusion. Let subtypes override the default cost model. Change: 151626001
* [XLA] Make `HloPass` an interface, NFCGravatar A. Unique TensorFlower2017-01-24
| | | | | This will allow inheritance from both `HloPassInterface` and `DfsHloVisitor`, so various passes which include a visitor can have handler methods overridden per backend. Change: 145477041
* Initial open-source release of XLA: Accelerated Linear Algebra.Gravatar Peter Hawkins2017-01-09
XLA is a compiler-based linear algebra execution engine that targets CPUs, GPUs and custom accelerators. XLA is still experimental; we are releasing it early to get the community involved. Change: 143990941