docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
reduce_dispatcher.h
Go to the documentation of this file.
1#pragma once
2
6
7namespace sdfg {
8namespace codegen {
9
20private:
22
23public:
25 LanguageExtension& language_extension,
27 analysis::AnalysisManager& analysis_manager,
29 InstrumentationPlan& instrumentation_plan,
30 ArgCapturePlan& arg_capture_plan
31 );
32
34 PrettyPrinter& main_stream, PrettyPrinter& globals_stream, CodeSnippetFactory& library_snippet_factory
35 ) override {
36 throw std::runtime_error("ReduceDispatcher::dispatch_node not implemented");
37 }
38
40 PrettyPrinter& main_stream, PrettyPrinter& globals_stream, CodeSnippetFactory& library_snippet_factory
41 ) override;
42
44};
45
51
60private:
62
63public:
65 LanguageExtension& language_extension,
67 analysis::AnalysisManager& analysis_manager,
69 InstrumentationPlan& instrumentation_plan,
70 ArgCapturePlan& arg_capture_plan
71 );
72
74 PrettyPrinter& main_stream, PrettyPrinter& globals_stream, CodeSnippetFactory& library_snippet_factory
75 ) override;
76
78};
79
80} // namespace codegen
81} // namespace sdfg
Definition structured_sdfg.h:30
Definition analysis.h:53
Definition arg_capture_plan.h:36
Originally started out as a handler for additional source files, like hardware-accelerator kernels th...
Definition code_snippet_factory.h:69
Definition instrumentation_info.h:37
Definition instrumentation_plan.h:26
Definition language_extension.h:39
NodeDispatcher(LanguageExtension &language_extension, StructuredSDFG &sdfg, analysis::AnalysisManager &analysis_manager, structured_control_flow::ControlFlowNode &node, InstrumentationPlan &instrumentation_plan, ArgCapturePlan &arg_capture_plan)
Definition utils.h:16
Dispatches to the actual NodeDispatcher based on the Reduce's schedule type and the ReduceDispatcherR...
Definition reduce_dispatcher.h:19
void dispatch(PrettyPrinter &main_stream, PrettyPrinter &globals_stream, CodeSnippetFactory &library_snippet_factory) override
InstrumentationInfo instrumentation_info() const override
Bad design.
SchedTypeReduceDispatcher(LanguageExtension &language_extension, StructuredSDFG &sdfg, analysis::AnalysisManager &analysis_manager, structured_control_flow::Reduce &node, InstrumentationPlan &instrumentation_plan, ArgCapturePlan &arg_capture_plan)
void dispatch_node(PrettyPrinter &main_stream, PrettyPrinter &globals_stream, CodeSnippetFactory &library_snippet_factory) override
Definition reduce_dispatcher.h:33
SequentialReduceDispatcher(LanguageExtension &language_extension, StructuredSDFG &sdfg, analysis::AnalysisManager &analysis_manager, structured_control_flow::Reduce &node, InstrumentationPlan &instrumentation_plan, ArgCapturePlan &arg_capture_plan)
InstrumentationInfo instrumentation_info() const override
Bad design.
void dispatch_node(PrettyPrinter &main_stream, PrettyPrinter &globals_stream, CodeSnippetFactory &library_snippet_factory) override
Represents a loop with an associative/commutative reduction carried dependency.
Definition reduce.h:106
Definition argument_registry.h:10
SchedTypeReduceDispatcher ReduceDispatcher
Definition reduce_dispatcher.h:50
Definition analysis.h:7
Dispatcher base class for code generation from control flow nodes.