|
docc 0.8.3 (0d44999b)
C++ API Reference
|
One accumulator's logical footprint and allocation contribution. More...
#include <sdfg/tiles/analysis/reduction_buffer_analysis.h>
Public Attributes | |
| ReductionBufferStatus | status = ReductionBufferStatus::Unsupported |
| std::string | diagnostic |
| Explanation for a non-exact result. | |
| std::optional< gpu::ReductionLayout > | layout |
| Original-address to compact-slot mapping, present only for exact results. | |
| symbolic::Expression | accumulator_index = SymEngine::null |
| Original body index, retained after accesses are redirected to partials. | |
| std::optional< types::PrimitiveType > | primitive |
| std::optional< int64_t > | element_bytes |
| Scalar element width in bytes, rounded up from the primitive bit width. | |
| std::optional< int64_t > | private_bytes |
| Per-thread private allocation, or zero when no private partial is needed. | |
| std::optional< int64_t > | shared_bytes |
| Per-block shared allocation contributed by this reduction. | |
| std::optional< size_t > | shared_owner |
| Element ID of the shared allocation's owner, including for nested users. | |
| symbolic::Expression | linear_thread_index = SymEngine::null |
| Flattened block-thread coordinate for a shared owner; null otherwise. | |
| std::string | private_buffer |
| Schedule references to materialized partials; empty before placement. | |
| std::string | shared_buffer |
| bool | materialized = false |
| The reduction retains an original index and its packed buffers were validated. | |
| bool | multi_output = false |
| The original index has inner-loop output axes, including unit-count axes. | |
One accumulator's logical footprint and allocation contribution.
Missing costs mean unknown, not zero. Conservative bounds retain byte costs but no layout. Shared storage is charged only to its owner; nested users of that allocation contribute zero shared bytes.
| symbolic::Expression sdfg::tiles::ReductionBufferInfo::accumulator_index = SymEngine::null |
Original body index, retained after accesses are redirected to partials.
| std::string sdfg::tiles::ReductionBufferInfo::diagnostic |
Explanation for a non-exact result.
| std::optional<int64_t> sdfg::tiles::ReductionBufferInfo::element_bytes |
Scalar element width in bytes, rounded up from the primitive bit width.
| std::optional<gpu::ReductionLayout> sdfg::tiles::ReductionBufferInfo::layout |
Original-address to compact-slot mapping, present only for exact results.
| symbolic::Expression sdfg::tiles::ReductionBufferInfo::linear_thread_index = SymEngine::null |
Flattened block-thread coordinate for a shared owner; null otherwise.
| bool sdfg::tiles::ReductionBufferInfo::materialized = false |
The reduction retains an original index and its packed buffers were validated.
| bool sdfg::tiles::ReductionBufferInfo::multi_output = false |
The original index has inner-loop output axes, including unit-count axes.
| std::optional<types::PrimitiveType> sdfg::tiles::ReductionBufferInfo::primitive |
| std::string sdfg::tiles::ReductionBufferInfo::private_buffer |
Schedule references to materialized partials; empty before placement.
| std::optional<int64_t> sdfg::tiles::ReductionBufferInfo::private_bytes |
Per-thread private allocation, or zero when no private partial is needed.
| std::string sdfg::tiles::ReductionBufferInfo::shared_buffer |
| std::optional<int64_t> sdfg::tiles::ReductionBufferInfo::shared_bytes |
Per-block shared allocation contributed by this reduction.
| std::optional<size_t> sdfg::tiles::ReductionBufferInfo::shared_owner |
Element ID of the shared allocation's owner, including for nested users.
| ReductionBufferStatus sdfg::tiles::ReductionBufferInfo::status = ReductionBufferStatus::Unsupported |