docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
sdfg::passes::ReductionSharedMemoryDelinearization Class Reference

Materialize compact GPU reduction partials and their SDFG accesses. More...

#include <sdfg/passes/offloading/reduction_shared_memory_delinearization.h>

Inheritance diagram for sdfg::passes::ReductionSharedMemoryDelinearization:
[legend]

Public Member Functions

std::string name () override
bool run_pass (builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager) override
 Validate ownership and placement, then materialize pending GPU reductions.
Public Member Functions inherited from sdfg::passes::Pass
 Pass ()=default
 Pass (const Options &options)
virtual ~Pass ()=default
virtual std::vector< OptionSpec > options ()
bool run (builder::SDFGBuilder &builder, bool create_report=false)
bool run (builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager, bool create_report=false)
virtual bool run_pass (builder::SDFGBuilder &builder)
virtual void invalidates (analysis::AnalysisManager &analysis_manager, bool applied)

Additional Inherited Members

Protected Member Functions inherited from sdfg::passes::Pass
template<class T>
T option (const OptionKey< T > &key, T fallback=T{}) const

Detailed Description

Materialize compact GPU reduction partials and their SDFG accesses.

Uses ReductionBufferAnalysis to declare private/shared arrays, record schedule buffer references, and pack body memlets while retaining original writeback indices. Initialization, combination, and publication remain in GPU codegen. Existing valid materializations are checked and left unchanged.

Member Function Documentation

◆ name()

std::string sdfg::passes::ReductionSharedMemoryDelinearization::name ( )
overridevirtual
Returns
"ReductionSharedMemoryDelinearization".

Implements sdfg::passes::Pass.

◆ run_pass()

bool sdfg::passes::ReductionSharedMemoryDelinearization::run_pass ( builder::StructuredSDFGBuilder & builder,
analysis::AnalysisManager & analysis_manager )
overridevirtual

Validate ownership and placement, then materialize pending GPU reductions.

Invalidates all analyses after rewriting the graph.

Returns
true if new buffers/accesses were materialized; false if none were pending.
Exceptions
InvalidSDFGExceptionfor unsupported footprints or incompatible buffer declarations/ownership.

Reimplemented from sdfg::passes::Pass.


The documentation for this class was generated from the following file: