3#include <unordered_set>
17 bool offload_unknown_sizes =
false
24 bool offload_unknown_sizes =
false
31 bool offload_unknown_sizes =
false
38 bool offload_unknown_sizes =
false
44 std::vector<structured_control_flow::StructuredLoop*>& applicable_loops
50 std::vector<structured_control_flow::StructuredLoop*>& scheduled_loops
Note: Even though the class references unique_ptr, it will never delete an SDFG it has a reference to...
Definition structured_sdfg_builder.h:44
Definition cuda_offload_scheduler.h:11
void pre_schedule(builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager, std::vector< structured_control_flow::StructuredLoop * > &applicable_loops) override
Pre-scheduling phase: collapse and cleanup on the applicable loops.
bool can_apply_schedule(builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager, structured_control_flow::StructuredLoop &loop, bool offload_unknown_sizes=false) override
Check if the scheduling transform can be applied to a loop.
static std::string target()
Definition cuda_offload_scheduler.h:53
std::unordered_set< ScheduleTypeCategory > compatible_types() override
SchedulerAction find(builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager, structured_control_flow::While &loop, bool offload_unknown_sizes=false) override
static symbolic::Integer get_parallel_size(structured_control_flow::StructuredLoop &loop)
bool post_schedule(builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager, std::vector< structured_control_flow::StructuredLoop * > &scheduled_loops) override
Post-scheduling phase: additional transforms on the scheduled loops.
void apply_schedule(builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager, structured_control_flow::StructuredLoop &loop, bool offload_unknown_sizes=false) override
Apply the scheduling transform to a single loop.
SchedulerAction find(builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager, structured_control_flow::StructuredLoop &loop, bool offload_unknown_sizes=false) override
Phase 1: Determine the action for a loop during loop discovery.
Definition loop_scheduler.h:27
Base class for structured loop constructs.
Definition structured_loop.h:244
Represents a while-loop with condition-controlled iteration.
Definition while.h:37
SymEngine::RCP< const SymEngine::Integer > Integer
Reference-counted pointer to a SymEngine Integer constant.
Definition symbolic.h:77
Definition function_builder.h:10
Definition loop_scheduler.h:13
SchedulerAction
Definition loop_scheduler.h:15
Definition approximate_math.h:12