docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
auto_parallelization.h
Go to the documentation of this file.
1#pragma once
2
3#include <vector>
4
5#include "sdfg/passes/pass.h"
7
8namespace sdfg {
9namespace parallelization {
10
27public:
28 enum class Classification { None, Map, Reduce };
29
32 analysis::AnalysisManager& analysis_manager,
34 std::vector<structured_control_flow::ReductionInfo>& reductions
35 );
36
37public:
38 virtual std::string name() override;
39
41};
42
43} // namespace parallelization
44} // namespace sdfg
Definition analysis.h:53
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
Classifies parallelizable For loops and lowers them to Map or Reduce.
Definition auto_parallelization.h:26
Classification classify(builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager, structured_control_flow::For &for_stmt, std::vector< structured_control_flow::ReductionInfo > &reductions)
Classification
Definition auto_parallelization.h:28
virtual std::string name() override
virtual bool run_pass(builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager) override
Definition pass.h:11
Represents a traditional for-loop with sequential execution.
Definition for.h:43
Represents a parallel map loop with configurable scheduling.
Definition map.h:47
Represents a loop with an associative/commutative reduction carried dependency.
Definition reduce.h:106
Definition function_builder.h:10
Definition loop_carried_dependency_analysis.h:18
Definition analysis.h:7