|
docc 0.8.3 (0d44999b)
C++ API Reference
|
Map node policy for the GPU offload dispatcher. More...
#include <sdfg/targets/gpu/gpu_offload_map_dispatcher.h>
Protected Member Functions | |
| void | dispatch_kernel_body (codegen::NestedCodeSnippetFactory &kernel_snippet_factory, codegen::PrettyPrinter &kernel_source_stream, codegen::PrettyPrinter &kernel_header_stream, codegen::LanguageExtension &kernel_lang_ext, symbolic::Symbol indvar, std::vector< std::string > &scope_variables, symbolic::Expression &num_iterations) override |
| Protected Member Functions inherited from sdfg::gpu::GPUOffloadBaseDispatcher | |
| GPUOffloadBaseDispatcher (codegen::LanguageExtension &language_extension, StructuredSDFG &sdfg, analysis::AnalysisManager &analysis_manager, structured_control_flow::StructuredLoop &node, codegen::InstrumentationPlan &instrumentation_plan, codegen::ArgCapturePlan &arg_capture_plan, std::unique_ptr< GPUOffloadDispatcherStrategy > strategy) | |
| bool | is_outermost_map (analysis::AnalysisManager &analysis_manager) |
| void | dispatch_header (codegen::PrettyPrinter &globals_stream, const std::string &kernel_name, std::vector< std::string > &arguments_declaration) |
| void | dispatch_kernel_preamble (codegen::PrettyPrinter &library_stream, const std::string &kernel_name, std::vector< std::string > &arguments_declaration) |
| void | emit_lib_dependency_includes (codegen::PrettyPrinter &kernel_header_stream, codegen::NestedCodeSnippetFactory &nested_snippet_factory) |
| virtual void | validate_before_dispatch (analysis::AnalysisManager &analysis_manager) |
| Node-specific preconditions checked before any code is emitted (default: none). | |
| Protected Member Functions inherited from sdfg::codegen::NodeDispatcher | |
| virtual bool | begin_node (PrettyPrinter &stream) |
| virtual void | end_node (PrettyPrinter &stream, bool has_declaration) |
Additional Inherited Members | |
| Protected Attributes inherited from sdfg::gpu::GPUOffloadBaseDispatcher | |
| structured_control_flow::StructuredLoop & | node_ |
| std::unique_ptr< GPUOffloadDispatcherStrategy > | strategy_ |
| long | launch_bounds_ = 0 |
| Protected Attributes inherited from sdfg::codegen::NodeDispatcher | |
| LanguageExtension & | language_extension_ |
| StructuredSDFG & | sdfg_ |
| InstrumentationPlan & | instrumentation_plan_ |
| ArgCapturePlan & | arg_capture_plan_ |
| analysis::AnalysisManager & | analysis_manager_ |
Map node policy for the GPU offload dispatcher.
Supplies the coverage-loop kernel body for an offloaded structured_control_flow::Map. The kernel scaffolding and the device-target launch policy come from GPUOffloadBaseDispatcher (inherited virtually so a concrete dispatcher can mix this with a Cuda/Rocm kernel policy).
| sdfg::gpu::GPUOffloadMapDispatcher::GPUOffloadMapDispatcher | ( | codegen::LanguageExtension & | language_extension, |
| StructuredSDFG & | sdfg, | ||
| analysis::AnalysisManager & | analysis_manager, | ||
| structured_control_flow::Map & | node, | ||
| codegen::InstrumentationPlan & | instrumentation_plan, | ||
| codegen::ArgCapturePlan & | arg_capture_plan, | ||
| std::unique_ptr< GPUOffloadDispatcherStrategy > | strategy ) |
|
overrideprotectedvirtual |
Implements sdfg::gpu::GPUOffloadBaseDispatcher.