|
Uni20
Asynchronous tensor and runtime library.
|
Compact affine iteration plan shared by host and device backends. More...
#include <iteration_plan.hpp>
Public Member Functions | |
| bool | empty () const noexcept |
| Report whether the logical iteration space is empty. | |
| std::size_t | rank () const noexcept |
| Report the compact rank after size-one elimination and coalescing. | |
Public Attributes | |
| std::array< std::ptrdiff_t, OperandCount > | base_offsets {} |
| static_vector< extent_strides< OperandCount >, MaximumRank > | dimensions |
| std::size_t | element_count = 1 |
| std::array< iteration_offset_range, OperandCount > | reachable_offsets {} |
| bool | representable = true |
Static Public Attributes | |
| static constexpr std::size_t | maximum_rank = MaximumRank |
| static constexpr std::size_t | operand_count = OperandCount |
Compact affine iteration plan shared by host and device backends.
| OperandCount | Number of operands, with the writable output first. |
| MaximumRank | Maximum number of compact dimensions. |
|
inlinenoexcept |
Report whether the logical iteration space is empty.
|
inlinenoexcept |
Report the compact rank after size-one elimination and coalescing.
| std::array<std::ptrdiff_t, OperandCount> uni20::multi_iteration_plan< OperandCount, MaximumRank >::base_offsets {} |
| static_vector<extent_strides<OperandCount>, MaximumRank> uni20::multi_iteration_plan< OperandCount, MaximumRank >::dimensions |
| std::size_t uni20::multi_iteration_plan< OperandCount, MaximumRank >::element_count = 1 |
|
staticconstexpr |
|
staticconstexpr |
| std::array<iteration_offset_range, OperandCount> uni20::multi_iteration_plan< OperandCount, MaximumRank >::reachable_offsets {} |
| bool uni20::multi_iteration_plan< OperandCount, MaximumRank >::representable = true |