Home
last modified time | relevance | path

Searched refs:Thunk (Results 1 – 25 of 49) sorted by relevance

12

/external/tensorflow/tensorflow/compiler/xla/service/gpu/
Dthunk_schedule.h52 const std::vector<Thunk*>& TotalOrder() const { return thunk_total_order_; } in TotalOrder()
55 const std::list<const Thunk*>& DependsOn(const Thunk* thunk) const;
57 bool Depended(const Thunk* thunk) const { return depended_by_.count(thunk); } in Depended()
77 const Thunk& thunk, const HloInstruction& operand,
78 const std::unordered_map<const HloInstruction*, Thunk*>& hlo_to_thunk);
81 std::vector<Thunk*> thunk_total_order_;
83 std::unordered_map<const Thunk*, std::list<const Thunk*>> depends_on_;
84 std::set<const Thunk*> depended_by_;
85 std::list<const Thunk*> empty_thunk_list_;
Dthunk_schedule.cc25 const Thunk& thunk, const HloInstruction& operand, in AddDependenciesOnTransitiveOperands()
26 const std::unordered_map<const HloInstruction*, Thunk*>& hlo_to_thunk) { in AddDependenciesOnTransitiveOperands()
51 std::unordered_map<const HloInstruction*, Thunk*> hlo_to_thunk; in ThunkSchedule()
62 for (const Thunk* thunk : thunk_total_order_) { in ThunkSchedule()
81 std::unordered_map<const Thunk*, int> thunk_to_total_order; in RemoveRedundantDependencyEdges()
108 for (const Thunk* dst : thunk_total_order_) { in RemoveRedundantDependencyEdges()
115 std::list<const Thunk*>& sources = FindOrDie(depends_on_, dst); in RemoveRedundantDependencyEdges()
117 const Thunk* src = *iter; in RemoveRedundantDependencyEdges()
135 const std::list<const Thunk*>& ThunkSchedule::DependsOn( in DependsOn()
136 const Thunk* thunk) const { in DependsOn()
[all …]
Dthunk.h41 class Thunk {
62 explicit Thunk(Kind kind, const HloInstruction* hlo_instruction) in Thunk() function
64 virtual ~Thunk() {} in ~Thunk()
65 Thunk(const Thunk&) = delete;
66 Thunk& operator=(const Thunk&) = delete;
114 using ThunkSequence = std::vector<std::unique_ptr<Thunk>>;
Dir_emitter_unnested.h94 std::unique_ptr<Thunk> BuildThunk(const HloInstruction* hlo);
157 std::unique_ptr<Thunk> BuildKernelThunk(const HloInstruction* inst);
160 std::unique_ptr<Thunk> BuildFftThunk(const HloInstruction* inst);
164 std::unique_ptr<Thunk> BuildGemmThunk(const HloInstruction* inst);
167 std::unique_ptr<Thunk> BuildHostToDeviceCopyThunk(const HloInstruction* inst);
170 std::unique_ptr<Thunk> BuildDeviceToDeviceCopyThunk(
175 std::unique_ptr<Thunk> BuildInfeedThunk(const HloInstruction* inst);
179 std::unique_ptr<Thunk> BuildWhileThunk(const HloInstruction* hlo);
183 std::unique_ptr<Thunk> BuildForThunk(const HloInstruction* hlo,
189 std::unique_ptr<Thunk> BuildConditionalThunk(const HloInstruction* hlo);
[all …]
Dsequential_thunk.h32 class SequentialThunk : public Thunk {
34 SequentialThunk(std::vector<std::unique_ptr<Thunk>>&& thunks,
39 const std::vector<std::unique_ptr<Thunk>>& thunks() const { return thunks_; } in thunks()
48 std::vector<std::unique_ptr<Thunk>> thunks_;
Dcudnn_batchnorm_thunk.cc85 : Thunk(Thunk::Kind::kCudnnBatchNormForwardInference, hlo), in CudnnBatchNormForwardInferenceThunk()
141 : Thunk(Thunk::Kind::kCudnnBatchNormForwardTraining, hlo), in CudnnBatchNormForwardTrainingThunk()
219 : Thunk(Thunk::Kind::kCudnnBatchNormBackward, hlo), in CudnnBatchNormBackwardThunk()
Dcudnn_batchnorm_thunk.h46 class CudnnBatchNormForwardInferenceThunk : public Thunk {
76 class CudnnBatchNormForwardTrainingThunk : public Thunk {
107 class CudnnBatchNormBackwardThunk : public Thunk {
Dsequential_thunk.cc23 SequentialThunk::SequentialThunk(std::vector<std::unique_ptr<Thunk>>&& thunks, in SequentialThunk()
25 : Thunk(Kind::kSequential, hlo), thunks_(std::move(thunks)) {} in SequentialThunk()
Dtuple_thunk.h34 class TupleThunk : public Thunk {
40 : Thunk(Kind::kTuple, hlo_instruction), in TupleThunk()
Dcopy_thunk.h30 class HostToDeviceCopyThunk : public Thunk {
53 class DeviceToDeviceCopyThunk : public Thunk {
Dcopy_thunk.cc27 : Thunk(Kind::kCopy, hlo_instruction), in HostToDeviceCopyThunk()
45 : Thunk(Kind::kCopy, hlo_instruction), in DeviceToDeviceCopyThunk()
Dgpu_executable.cc166 std::map<int32, const Thunk*> last_blocking_thunk_for_stream; in ExecuteThunks()
167 std::map<const Thunk*, std::unique_ptr<se::Event>> thunk_to_finish_event; in ExecuteThunks()
168 for (Thunk* thunk : thunk_schedule_->TotalOrder()) { in ExecuteThunks()
175 for (const Thunk* dependency : thunk_schedule_->DependsOn(thunk)) { in ExecuteThunks()
Dir_emitter_unnested.cc120 void UpdateLaunchDimensions(const LaunchDimensions& launch_dims, Thunk* thunk, in UpdateLaunchDimensions()
122 CHECK(Thunk::Kind::kKernel == thunk->kind()); in UpdateLaunchDimensions()
501 std::vector<std::unique_ptr<Thunk>> thunks; in HandleFusion()
588 CHECK(Thunk::Kind::kKernel == LastThunk()->kind()); in HandleFusion()
1115 CHECK(LastThunk()->kind() == Thunk::Kind::kSequential); in EmitReductionToScalar()
1285 CHECK(LastThunk()->kind() == Thunk::Kind::kSequential); in EmitColumnReduction()
1555 CHECK(LastThunk()->kind() == Thunk::Kind::kSequential); in EmitRowReduction()
1671 std::vector<std::unique_ptr<Thunk>> thunks; in HandleReduce()
1743 std::vector<std::unique_ptr<Thunk>> thunks; in HandleSelectAndScatter()
2072 std::unique_ptr<Thunk> IrEmitterUnnested::BuildKernelThunk( in BuildKernelThunk()
[all …]
Dinfeed_thunk.h32 class InfeedThunk : public Thunk {
Dfor_thunk.h31 class ForThunk : public Thunk {
Dwhile_thunk.h38 class WhileThunk : public Thunk {
Dfor_thunk.cc28 : Thunk(Kind::kWhile, hlo), in ForThunk()
Dconditional_thunk.h38 class ConditionalThunk : public Thunk {
Dkernel_thunk.h44 class KernelThunk : public Thunk {
Dgemm_thunk.h35 class GemmThunk : public Thunk {
/external/clang/lib/CodeGen/
DCGVTables.cpp36 const ThunkInfo &Thunk) { in GetAddrOfThunk() argument
44 Thunk.This, Out); in GetAddrOfThunk()
46 getCXXABI().getMangleContext().mangleThunk(MD, Thunk, Out); in GetAddrOfThunk()
54 const ThunkInfo &Thunk, llvm::Function *Fn) { in setThunkVisibility() argument
58 static void setThunkProperties(CodeGenModule &CGM, const ThunkInfo &Thunk, in setThunkProperties() argument
63 !Thunk.Return.isEmpty()); in setThunkProperties()
67 setThunkVisibility(CGM, MD, Thunk, ThunkFn); in setThunkProperties()
85 const ThunkInfo &Thunk) { in PerformReturnAdjustment() argument
109 Thunk.Return); in PerformReturnAdjustment()
146 GlobalDecl GD, const ThunkInfo &Thunk) { in GenerateVarArgsThunk() argument
[all …]
DCGVTables.h53 void emitThunk(GlobalDecl GD, const ThunkInfo &Thunk, bool ForVTable);
57 void maybeEmitThunkForVTable(GlobalDecl GD, const ThunkInfo &Thunk);
/external/clang/lib/AST/
DVTableBuilder.cpp877 void AddThunk(const CXXMethodDecl *MD, const ThunkInfo &Thunk);
1066 const ThunkInfo &Thunk) { in AddThunk() argument
1073 if (std::find(ThunksVector.begin(), ThunksVector.end(), Thunk) != in AddThunk()
1077 ThunksVector.push_back(Thunk); in AddThunk()
1165 const ThunkInfo &Thunk = TI.second; in ComputeThisAdjustments() local
1183 AddThunk(MD, Thunk); in ComputeThisAdjustments()
1955 ThunkInfo Thunk = VTableThunks.lookup(I); in dumpLayout() local
1956 if (!Thunk.isEmpty()) { in dumpLayout()
1958 if (!Thunk.Return.isEmpty()) { in dumpLayout()
1960 Out << Thunk.Return.NonVirtual << " non-virtual"; in dumpLayout()
[all …]
/external/llvm/lib/DebugInfo/CodeView/
DSymbolDumper.cpp104 void CVSymbolDumperImpl::visitThunk32Sym(SymbolKind Kind, Thunk32Sym &Thunk) { in visitThunk32Sym() argument
106 W.printNumber("Parent", Thunk.Header.Parent); in visitThunk32Sym()
107 W.printNumber("End", Thunk.Header.End); in visitThunk32Sym()
108 W.printNumber("Next", Thunk.Header.Next); in visitThunk32Sym()
109 W.printNumber("Off", Thunk.Header.Off); in visitThunk32Sym()
110 W.printNumber("Seg", Thunk.Header.Seg); in visitThunk32Sym()
111 W.printNumber("Len", Thunk.Header.Len); in visitThunk32Sym()
112 W.printEnum("Ordinal", Thunk.Header.Ord, getThunkOrdinalNames()); in visitThunk32Sym()
/external/llvm/include/llvm/DebugInfo/PDB/
DPDBSymbolThunk.h26 DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::Thunk)

12