tf_1.8_xla_doc
Namespaces | Classes | Functions
xla Namespace Reference

namespace for xla More...

Namespaces

 anonymous_namespace{user_computation.cc}
 
 cpu
 

Classes

class  AlgebraicSimplifier
 
class  BatchNormExpander
 
class  CallInliner
 
class  ClientLibrary
 
class  CompileOnlyClient
 
class  CompileOnlyService
 
class  Compiler
 
class  ComputationBuilder
 
class  ComputationTracker
 Tracks computations for the XLA service. Registered with a xla::UserComputation instance and can be resolved from a handle for later use. More...
 
class  ConditionalSimplifier
 
class  CopyInsertion
 
class  CpuCopyInsertion
 
class  CpuHloSupportChecker
 
class  DotDecomposer
 
class  FlattenCallGraph
 
class  GatherExpander
 
class  HloComputation
 
class  HloConstantFolding
 
class  HloCSE
 
class  HloDCE
 
class  HloElementTypeConverter
 
class  HloInstruction
 
class  HloModule
 
class  HloOrdering
 
class  HloPassFix
 
class  HloPassPipeline
 
class  HloVerifier
 
class  LLVMCompiler
 
class  ReducePrecisionInsertion
 
class  ReshapeMover
 
class  SequentialHloOrdering
 
class  Service
 
class  TransposeFolding
 
class  TuplePointsToAnalysis
 
class  TupleSimplifier
 
class  UserComputation
 
struct  VersionedComputationHandle
 
class  WhileLoopInvariantCodeMotion
 
class  WhileLoopSimplifier
 
class  ZeroSizedHloElimination
 

Functions

StatusOr< std::vector< const HloInstruction * > > DefaultMemoryScheduler (const HloComputation &computation, const TuplePointsToAnalysis &points_to_analysis, const LogicalBuffer::SizeFunction &size_function)
 
StatusOr< SequentialHloOrdering::HloModuleSequenceCreateMemoryMinimizingSequence (const HloModule &module, const LogicalBuffer::SizeFunction &size_function, const MemorySchedulerAlgorithm &algorithm)
 

Detailed Description

namespace for xla

namespace of xla

Function Documentation

◆ CreateMemoryMinimizingSequence()

StatusOr< SequentialHloOrdering::HloModuleSequence > xla::CreateMemoryMinimizingSequence ( const HloModule module,
const LogicalBuffer::SizeFunction &  size_function,
const MemorySchedulerAlgorithm &  algorithm 
)
  1. xla::TuplePointsToAnalysis::Run
  2. For each computation from created from xla::HloModule::MakeNonfusionComputations
    1. Run xla::anonymous_namespace{hlo_scheduling.cc}::CreateMemoryMinimizingSequence
      Todo:
      Trace who decide who should be fuse

Google Docs:

Returns an HloModuleSequence which seeks to minimize the memory required for the computation. size_function is the function returning the number of bytes required for a LogicalBuffer.

◆ DefaultMemoryScheduler()

StatusOr< std::vector< const HloInstruction * > > xla::DefaultMemoryScheduler ( const HloComputation computation,
const TuplePointsToAnalysis points_to_analysis,
const LogicalBuffer::SizeFunction &  size_function 
)

Try list-scheduler based ordering and DFS based ordering choose the one requires less memory and ignore framentation.

Here is the caller graph for this function: