23da21150d988f7cf5780488f24adbb116675586 |
|
19-Sep-2017 |
Mark Heffernan <meheff@google.com> |
Add liveness_util functions which use dataflow analysis. Also make the analysis argument (TuplePointsToAnalysis or HloDataflowAnalysis) non-optional as all callers were passing in the analysis. PiperOrigin-RevId: 169200824
/external/tensorflow/tensorflow/compiler/xla/service/liveness_util.h
|
5b6a203c5c759656b2b7018271219916ddd85cb6 |
|
20-Jun-2017 |
Mark Heffernan <meheff@google.com> |
[XLA] Add live range interference querying to dataflow analysis. Add method MayInterfere to HloDataflowAnalysis which returns whether the live ranges of two values interfere. This will replace buffer_liveness.cc. The cl includes a few related changes: (1) HloOrdering: Apply an order to the condition and body computations. Specifically, for the purposes of HLO ordering the condition is ordered before the body. This ensures that the live ranges of values in the condition do not interfere with the live ranges in the body. (2) Add a Dominates method to CallGraph for determining whether a computation dominates another in the call graph. (3) Tightened the definition of "use" in the dataflow analysis. Now an instruction which passes through a value without reading it is no longer considered a use of the value. This new definition is reflected in the HloUse objects returned by HloValue::uses(). PiperOrigin-RevId: 159509724
/external/tensorflow/tensorflow/compiler/xla/service/liveness_util.h
|
54ccc3e5a840e9d60772858dd3046dc0c3b10e39 |
|
06-Jun-2017 |
Mark Heffernan <meheff@google.com> |
[XLA] Add module-scoped HLO dataflow analysis. This is the first step to replacing TuplePointsToAnalysis with a global, module-scoped analysis. This dataflow analysis identifies all values and their defs and uses in the XLA graph. The analysis is currently unused. Follow up CLs will add buffer alias analysis using this dataflow analysis, and incrementally switch the transformation passes (for example, CopyInsertion) to use these new module-scoped analyses. PiperOrigin-RevId: 158067910
/external/tensorflow/tensorflow/compiler/xla/service/liveness_util.h
|
342d315566211a095a06acb1973b94937dadbc0c |
|
27-Apr-2017 |
Mark Heffernan <meheff@google.com> |
Update rematerialization to account for buffer aliasing in memory tracking. Previously rematerialization ignored any buffer aliasing. For one, this caused significant over-rematerialization with while loops. This cl uses points-to analysis to properly account for buffer aliasing. This change includes a couple other related changes: (1) enable a rematerialization to be used by more than one instruction. (2) Avoid rematerializing instructions with control dependencies to avoid invalid aliasing which was prevented by earlier copy-insertion. The net result is generally much fewer instructions rematerialized especially with while loops and reduced memory use. Change: 154352719
/external/tensorflow/tensorflow/compiler/xla/service/liveness_util.h
|
e0d0c676ec111c711099bf89eb51278bc4493678 |
|
15-Mar-2017 |
A. Unique TensorFlower <gardener@tensorflow.org> |
Refactor logic from buffer_liveness to use in HeapSimulator. Also added some simple tests. Change: 150144113
/external/tensorflow/tensorflow/compiler/xla/service/liveness_util.h
|