docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
data_transfer_minimization_pass.h
Go to the documentation of this file.
1#pragma once
2
3#include <string>
4#include <utility>
5
13#include "sdfg/passes/pass.h"
18
19namespace sdfg {
20namespace passes {
21
23public:
25
26 std::string name() override {
27 return "DataTransferMinimization";
28 };
29
31
33 return true;
34 }
35
36protected:
41 const analysis::DataTransferEliminationAnalysis& transfer_analysis,
43 bool remove_d2h = false
44 );
47 analysis::OffloadHolder& malloc_holder,
49 );
52 );
53};
54
55
56} // namespace passes
57} // namespace sdfg
Access nodes for reading/writing data in the dataflow graph.
Definition analysis.h:53
Definition control_flow_analysis.h:15
Definition data_transfer_elimination_analysis.h:184
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
bool eliminate_transfer_pair(builder::StructuredSDFGBuilder &builder, analysis::OffloadHolder &copy_out, analysis::OffloadHolder &copy_in, const analysis::DataTransferEliminationAnalysis &transfer_analysis, analysis::ControlFlowAnalysis &cf_analysis, bool remove_d2h=false)
static bool available(analysis::AnalysisManager &AM)
Definition data_transfer_minimization_pass.h:32
std::string name() override
Definition data_transfer_minimization_pass.h:26
bool eliminate_malloc_first_transfer(builder::StructuredSDFGBuilder &builder, analysis::OffloadHolder &malloc_holder, analysis::OffloadHolder &copy_in)
bool run_pass(builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager) override
bool eliminate_redundant_d2h(builder::StructuredSDFGBuilder &builder, analysis::OffloadHolder &h2d, analysis::OffloadHolder &d2h)
Base class for computational nodes in the dataflow graph.
Definition function_builder.h:10
Definition approximate_math.h:12
Definition analysis.h:7
Definition data_transfer_elimination_analysis.h:21