tf_1.8_xla_doc
|
#include <hlo_ordering.h>
Public Types | |
using | HloModuleSequence = tensorflow::gtl::FlatMap< const HloComputation *, std::vector< const HloInstruction * > > |
The following are all from Google Docs
An HLO ordering based on a total order of instructions in each computation. The computation total order is a sequencing of all of its instructions in the computation (eg, {inst0, inst1, inst2,...}) as in single-threaded execution. For example, given the following HLO graph:
and the following sequence: {param, negate, exp, add}
SequentialHloOrdering gives the following executes-before relations: param executes before negate, exp, and add
negate executes before exp and add
exp executes before add
add executes before nothing
This is more constrained than DependencyHloOrdering in this example because negate and exp are ordered (negate before exp). This enables param to share the same buffer as exp (param buffer is dead after exp). Generally, this ordering enables more buffer sharing (reduced memory usage) because buffer interference is reduced relative to DependencyHloOrdering.
using xla::SequentialHloOrdering::HloModuleSequence = tensorflow::gtl::FlatMap<const HloComputation*, std::vector<const HloInstruction*> > |
A sequence of instructions for each computation in the module.