|
| | CUDAOffloadTransform (structured_control_flow::StructuredLoop &loop, symbolic::Integer parallel_size, gpu::TargetLevel target_level=gpu::TargetLevel::X_GRID, bool allow_dynamic_sizes=false) |
| std::string | name () const override |
| | Get the name of this transformation.
|
| | GPUOffloadTransform (structured_control_flow::StructuredLoop &loop, symbolic::Integer parallel_size=symbolic::integer(32), TargetLevel target_level=TargetLevel::X_GRID, bool allow_dynamic_sizes=false) |
| bool | can_be_applied (builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager) override |
| | Check if this transformation can be safely applied.
|
| void | to_json (nlohmann::json &j) const override |
| | Serialize this transformation to JSON.
|
| | OffloadTransform (structured_control_flow::StructuredLoop &loop, bool allow_dynamic_sizes=false) |
| bool | can_be_applied (builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager) override |
| | Check if this transformation can be safely applied.
|
| void | apply (builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager) override |
| | Apply this transformation to the SDFG.
|
| virtual | ~Transformation ()=default |
| virtual void | set_report (PassReportConsumer *report) |
| | Set the report consumer for transformation feedback.
|
| virtual bool | try_apply (builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager) |
| | Attempt to apply the transformation if possible.
|
|
| types::StorageType | local_device_storage_type () override |
| types::StorageType | global_device_storage_type (symbolic::Expression arg_size) override |
| ScheduleType | transformed_schedule_type () override |
| std::string | copy_prefix () override |
| bool | reduction_buffers_supported (analysis::AnalysisManager &analysis_manager) |
| types::StorageType | local_device_storage_type () override |
| types::StorageType | global_device_storage_type (symbolic::Expression arg_size) override |
| void | add_device_buffer (builder::StructuredSDFGBuilder &builder, std::string host_arg_name, std::string device_arg_name, symbolic::Expression arg_size) override |
| void | allocate_device_arg (builder::StructuredSDFGBuilder &builder, Block &alloc_block, std::string host_arg_name, std::string device_arg_name, symbolic::Expression arg_size, symbolic::Expression page_size) override |
| void | deallocate_device_arg (builder::StructuredSDFGBuilder &builder, Block &dealloc_block, std::string device_arg_name, symbolic::Expression arg_size, symbolic::Expression page_size) override |
| void | copy_to_device (builder::StructuredSDFGBuilder &builder, std::string host_arg_name, std::string device_arg_name, symbolic::Expression size, symbolic::Expression page_size, Block ©_block) override |
| void | copy_to_device_with_allocation (builder::StructuredSDFGBuilder &builder, std::string host_arg_name, std::string device_arg_name, symbolic::Expression size, symbolic::Expression page_size, Block ©_block) override |
| void | copy_from_device (builder::StructuredSDFGBuilder &builder, Block ©_out_block, std::string host_arg_name, std::string device_arg_name, symbolic::Expression size, symbolic::Expression page_size) override |
| void | copy_from_device_with_free (builder::StructuredSDFGBuilder &builder, Block ©_out_block, std::string host_arg_name, std::string device_arg_name, symbolic::Expression size, symbolic::Expression page_size) override |
| void | setup_device (builder::StructuredSDFGBuilder &builder, Block &global_alloc_block) override |
| void | teardown_device (builder::StructuredSDFGBuilder &builder, Block &global_alloc_block) override |
| template<class Container> |
| void | allocate_locals_on_device_stack (builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager, Container &locals) |
| virtual void | setup_device (builder::StructuredSDFGBuilder &builder, Block &global_alloc_block)=0 |
| virtual void | teardown_device (builder::StructuredSDFGBuilder &builder, Block &global_alloc_block)=0 |
| void | handle_device_setup_and_teardown (builder::StructuredSDFGBuilder &builder, const std::map< std::string, analysis::RegionArgument > &arguments, const std::unordered_map< std::string, symbolic::Expression > &argument_sizes, std::string prefix) |
| void | update_loop_containers (const std::map< std::string, analysis::RegionArgument > &arguments, std::string prefix) |
| virtual void | allocate_device_arg (builder::StructuredSDFGBuilder &builder, Block &alloc_block, std::string host_arg_name, std::string device_arg_name, symbolic::Expression arg_size, symbolic::Expression page_size)=0 |
| virtual void | deallocate_device_arg (builder::StructuredSDFGBuilder &builder, Block &dealloc_block, std::string device_arg_name, symbolic::Expression arg_size, symbolic::Expression page_size)=0 |
| virtual void | copy_to_device (builder::StructuredSDFGBuilder &builder, std::string host_arg_name, std::string device_arg_name, symbolic::Expression size, symbolic::Expression page_size, Block ©_block)=0 |
| virtual void | copy_to_device_with_allocation (builder::StructuredSDFGBuilder &builder, std::string host_arg_name, std::string device_arg_name, symbolic::Expression size, symbolic::Expression page_size, Block ©_block)=0 |
| virtual void | copy_from_device (builder::StructuredSDFGBuilder &builder, Block ©_out_block, std::string host_arg_name, std::string device_arg_name, symbolic::Expression size, symbolic::Expression page_size)=0 |
| virtual void | copy_from_device_with_free (builder::StructuredSDFGBuilder &builder, Block ©_out_block, std::string host_arg_name, std::string device_arg_name, symbolic::Expression size, symbolic::Expression page_size)=0 |