16 static std::string
name() {
17 return "CUDAControlFlowOffloadPass";
26 static std::string
name() {
27 return "ROCMControlFlowOffloadPass";
42template<
typename Traits>
45 bool allow_dynamic_sizes_;
53 std::string
name()
override {
54 return Traits::name();
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
Offloads non-loop control flow directly nested in the SDFG root.
Definition gpu_control_flow_offload_pass.h:43
~GPUControlFlowOffloadPass() override=default
bool run_pass(builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager) override
GPUControlFlowOffloadPass(bool allow_dynamic_sizes=false)
std::string name() override
Definition gpu_control_flow_offload_pass.h:53
Library node definitions for calling functions beyond simple instructions.
Definition function_builder.h:10
StringEnum ImplementationType
Implementation type identifier for library nodes.
Definition library_node.h:75
Definition approximate_math.h:12
GPUControlFlowOffloadPass< CUDAControlFlowOffloadTraits > CUDAControlFlowOffloadPass
Definition gpu_control_flow_offload_pass.h:58
GPUControlFlowOffloadPass< ROCMControlFlowOffloadTraits > ROCMControlFlowOffloadPass
Definition gpu_control_flow_offload_pass.h:59
Definition gpu_control_flow_offload_pass.h:13
static bool is_gpu_implementation(const data_flow::ImplementationType &implementation_type)
static std::string name()
Definition gpu_control_flow_offload_pass.h:16
cuda::CUDAOffloadTransform OffloadTransform
Definition gpu_control_flow_offload_pass.h:14
Definition gpu_control_flow_offload_pass.h:23
rocm::ROCMOffloadTransform OffloadTransform
Definition gpu_control_flow_offload_pass.h:24
static bool is_gpu_implementation(const data_flow::ImplementationType &implementation_type)
static std::string name()
Definition gpu_control_flow_offload_pass.h:26