18 #ifndef TENSORFLOW_COMPILER_XLA_SERVICE_HLO_SCHEDULING_H_ 19 #define TENSORFLOW_COMPILER_XLA_SERVICE_HLO_SCHEDULING_H_ 26 #include "tensorflow/compiler/xla/service/logical_buffer.h" 28 #include "tensorflow/compiler/xla/statusor.h" 29 #include "tensorflow/compiler/xla/types.h" 35 StatusOr<int64> MinimumMemoryForSequence(
37 const LogicalBuffer::SizeFunction& size_function);
43 typedef std::function<StatusOr<std::vector<const HloInstruction*>>(
44 const HloComputation&,
const TuplePointsToAnalysis&,
45 const LogicalBuffer::SizeFunction&)>
46 MemorySchedulerAlgorithm;
49 StatusOr<std::vector<const HloInstruction*>> ListMemoryScheduler(
50 const HloComputation& computation,
51 const TuplePointsToAnalysis& points_to_analysis,
52 const LogicalBuffer::SizeFunction& size_function);
55 StatusOr<std::vector<const HloInstruction*>> DFSMemoryScheduler(
56 const HloComputation& computation,
57 const TuplePointsToAnalysis& points_to_analysis,
58 const LogicalBuffer::SizeFunction& size_function);
64 const HloComputation& computation,
65 const TuplePointsToAnalysis& points_to_analysis,
66 const LogicalBuffer::SizeFunction& size_function);
75 StatusOr<SequentialHloOrdering::HloModuleSequence>
77 const LogicalBuffer::SizeFunction& size_function,
78 const MemorySchedulerAlgorithm& algorithm = {});
82 const HloComputation& computation,
83 const LogicalBuffer::SizeFunction& size_function,
84 const MemorySchedulerAlgorithm& algorithm = {});
88 #endif // TENSORFLOW_COMPILER_XLA_SERVICE_HLO_SCHEDULING_H_ StatusOr< SequentialHloOrdering::HloModuleSequence > CreateMemoryMinimizingSequence(const HloModule &module, const LogicalBuffer::SizeFunction &size_function, const MemorySchedulerAlgorithm &algorithm)
Definition: hlo_scheduling.cc:489
StatusOr< std::vector< const HloInstruction * > > DefaultMemoryScheduler(const HloComputation &computation, const TuplePointsToAnalysis &points_to_analysis, const LogicalBuffer::SizeFunction &size_function)
Definition: hlo_scheduling.cc:442
namespace for xla
Definition: client_library.cc:26
tensorflow::gtl::FlatMap< const HloComputation *, std::vector< const HloInstruction * > > HloModuleSequence
Definition: hlo_ordering.h:208