|
docc 0.8.3 (0d44999b)
C++ API Reference
|
Dense mixed-radix indexing for a strided reduction output footprint. More...
#include <sdfg/targets/gpu/gpu_reduce_layout.h>
Classes | |
| struct | Dimension |
| One source-address axis, measured in scalar elements rather than bytes. More... | |
Public Member Functions | |
| ReductionLayout (symbolic::Expression origin, std::vector< Dimension > axes) | |
Sort and normalize axes relative to origin. | |
| symbolic::Expression | unpack (symbolic::Expression slot) const |
| Return the original address for a compact slot. | |
| symbolic::Expression | pack (symbolic::Expression index) const |
| Return the compact slot for an original address, omitting gaps between axes. | |
Public Attributes | |
| symbolic::Expression | base |
| Original address for the all-zero coordinate. | |
| std::vector< Dimension > | dimensions |
| int64_t | extent = 1 |
| Number of compact slots, equal to the product of axis counts. | |
Dense mixed-radix indexing for a strided reduction output footprint.
Maps reachable original addresses to contiguous partial-buffer slots. Dimensions are stored in increasing source-stride order, with unit-count axes removed. An empty dimension list represents a single output at base.
| sdfg::gpu::ReductionLayout::ReductionLayout | ( | symbolic::Expression | origin, |
| std::vector< Dimension > | axes ) |
Sort and normalize axes relative to origin.
| InvalidSDFGException | for a null origin, nonpositive axes, overlapping dimensions, or a slot count/source span that overflows int64_t. |
| symbolic::Expression sdfg::gpu::ReductionLayout::pack | ( | symbolic::Expression | index | ) | const |
Return the compact slot for an original address, omitting gaps between axes.
index belongs to this footprint; no membership check is generated. | symbolic::Expression sdfg::gpu::ReductionLayout::unpack | ( | symbolic::Expression | slot | ) | const |
Return the original address for a compact slot.
slot is in [0, extent); no runtime bounds check is generated. | symbolic::Expression sdfg::gpu::ReductionLayout::base |
Original address for the all-zero coordinate.
| std::vector<Dimension> sdfg::gpu::ReductionLayout::dimensions |
| int64_t sdfg::gpu::ReductionLayout::extent = 1 |
Number of compact slots, equal to the product of axis counts.