tf_1.8_xla_doc
Public Types | List of all members
xla::SequentialHloOrdering Class Reference

#include <hlo_ordering.h>

Inheritance diagram for xla::SequentialHloOrdering:
[legend]
Collaboration diagram for xla::SequentialHloOrdering:
[legend]

Public Types

using HloModuleSequence = tensorflow::gtl::FlatMap< const HloComputation *, std::vector< const HloInstruction * > >
 

Detailed Description

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:

param
/ \
negate exp
\ /
add

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.

Member Typedef Documentation

◆ HloModuleSequence

using xla::SequentialHloOrdering::HloModuleSequence = tensorflow::gtl::FlatMap<const HloComputation*, std::vector<const HloInstruction*> >

A sequence of instructions for each computation in the module.


The documentation for this class was generated from the following files: