| Commit message (Collapse) | Author | Age |
|
|
|
| |
PiperOrigin-RevId: 215783391
|
|
|
|
| |
PiperOrigin-RevId: 215272497
|
|
|
|
| |
PiperOrigin-RevId: 214848216
|
|
|
|
|
|
| |
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
|
|
|
|
| |
PiperOrigin-RevId: 212674212
|
|
|
|
| |
PiperOrigin-RevId: 210998142
|
|
|
|
|
|
| |
Of {fusable, fusile, fusible} my dictionary only knows about fusible.
PiperOrigin-RevId: 210373347
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Take a conservative approach and attempt multi-output fusion in cases where "regular" fusion is not an option.
PiperOrigin-RevId: 197852598
|
|
|
|
| |
PiperOrigin-RevId: 196813042
|
|
|
|
|
|
| |
allow fusion when an operation needs to be duplicated.
PiperOrigin-RevId: 194429279
|
|
|
|
|
|
| |
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
|
|
|
|
| |
PiperOrigin-RevId: 167025880
|
|
|
|
|
|
| |
InstructionFusion::Fuse to be overridden by derived classes.
PiperOrigin-RevId: 166631382
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
rematerializing for fusion. Let subtypes override the default cost model.
Change: 151626001
|
|
|
|
|
| |
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
|
|
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
|