SymEngine::RCP< const SymEngine::Basic > Expression
Reference-counted pointer to a symbolic expression (SymEngine Basic).
Definition symbolic.h:83
Definition cuda_arch.h:11
One source-address axis, measured in scalar elements rather than bytes.
Definition gpu_reduce_layout.h:20
int64_t stride
Definition gpu_reduce_layout.h:21
int64_t count
Definition gpu_reduce_layout.h:22
int64_t extent
Number of compact slots, equal to the product of axis counts.
Definition gpu_reduce_layout.h:29
std::vector< Dimension > dimensions
Definition gpu_reduce_layout.h:27
symbolic::Expression pack(symbolic::Expression index) const
Return the compact slot for an original address, omitting gaps between axes.
ReductionLayout(symbolic::Expression origin, std::vector< Dimension > axes)
Sort and normalize axes relative to origin.
symbolic::Expression base
Original address for the all-zero coordinate.
Definition gpu_reduce_layout.h:26
symbolic::Expression unpack(symbolic::Expression slot) const
Return the original address for a compact slot.
Symbolic system for integer-based symbol analysis.