docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
reduction_analysis.h
Go to the documentation of this file.
1#pragma once
2
3#include <string>
4#include <vector>
5
9
10namespace sdfg {
11namespace tiles {
12
23
28 const std::string& container,
29 analysis::AnalysisManager& analysis_manager
30);
31
42 const std::string& container,
43 analysis::AnalysisManager& analysis_manager,
44 std::vector<structured_control_flow::Reduce*>& out
45);
46
51std::vector<structured_control_flow::Reduce*> collect_grid_reduction_owners(
53 const std::string& container,
54 analysis::AnalysisManager& analysis_manager
55);
56
57} // namespace tiles
58} // namespace sdfg
Definition analysis.h:53
Base class for structured loop constructs.
Definition structured_loop.h:244
Definition gpu_tile_target.h:13
std::vector< structured_control_flow::Reduce * > collect_grid_reduction_owners(structured_control_flow::StructuredLoop &loop, const std::string &container, analysis::AnalysisManager &analysis_manager)
Collect grid-parallel (GPU-offloaded) ancestor Reduce nodes reducing into container.
bool collect_reduction_owners(structured_control_flow::StructuredLoop &loop, const std::string &container, analysis::AnalysisManager &analysis_manager, std::vector< structured_control_flow::Reduce * > &out)
Collect the non-cooperative Reduce nodes (loop or a descendant) that reduce into container,...
bool is_reduction_accumulator(structured_control_flow::StructuredLoop &loop, const std::string &container, analysis::AnalysisManager &analysis_manager)
Whether container is the accumulator of a Reduce enclosing, nested within, or equal to loop.
Definition analysis.h:7