|
Legion Runtime
|
#include <constraints.h>
Public Member Functions | |
| OrderingConstraint (bool contiguous=false) | |
| OrderingConstraint (const std::vector< DimensionKind > &ordering, bool contiguous) | |
| bool | operator== (const OrderingConstraint &other) const |
| bool | operator!= (const OrderingConstraint &other) const |
| virtual LayoutConstraintKind | get_constraint_kind (void) const override |
| virtual OrderingConstraint * | as_ordering_constraint (void) override |
| virtual const OrderingConstraint * | as_ordering_constraint (void) const override |
| bool | entails (const OrderingConstraint &other, unsigned total_dims) const |
| bool | conflicts (const OrderingConstraint &other, unsigned total_dims) const |
| void | swap (OrderingConstraint &rhs) |
| void | serialize (Serializer &rez) const |
| void | deserialize (Deserializer &derez) |
Public Member Functions inherited from Legion::LayoutConstraint | |
| virtual SpecializedConstraint * | as_specialized_constraint (void) |
| virtual MemoryConstraint * | as_memory_constraint (void) |
| virtual FieldConstraint * | as_field_constraint (void) |
| virtual TilingConstraint * | as_tiling_constraint (void) |
| virtual DimensionConstraint * | as_dimension_constraint (void) |
| virtual AlignmentConstraint * | as_alignment_constraint (void) |
| virtual OffsetConstraint * | as_offset_constraint (void) |
| virtual PointerConstraint * | as_pointer_constraint (void) |
| virtual PaddingConstraint * | as_padding_constraint (void) |
| virtual const SpecializedConstraint * | as_specialized_constraint (void) const |
| virtual const MemoryConstraint * | as_memory_constraint (void) const |
| virtual const FieldConstraint * | as_field_constraint (void) const |
| virtual const TilingConstraint * | as_tiling_constraint (void) const |
| virtual const DimensionConstraint * | as_dimension_constraint (void) const |
| virtual const AlignmentConstraint * | as_alignment_constraint (void) const |
| virtual const OffsetConstraint * | as_offset_constraint (void) const |
| virtual const PointerConstraint * | as_pointer_constraint (void) const |
| virtual const PaddingConstraint * | as_padding_constraint (void) const |
Static Public Member Functions | |
| static bool | is_skip_dimension (DimensionKind dim, unsigned total_dims) |
Public Attributes | |
| std::vector< DimensionKind > | ordering |
| bool | contiguous |
Static Public Attributes | |
| static const LayoutConstraintKind | constraint_kind |
An ordering constraint specifies an ordering on index space dimensions as well as the special 'field' dimension. The earliest dimensions are assumed to be the most-rapidly changing in memory, therefore:
Array-of-structs (AOS): DIM_F is listed first Struct-of-arrays (SOA): DIM_F is listed last
Again users can specify multiple of these constraints to describe a partial order, but the common case will almost certainly be to specify a total order. Users can also specify whether or not the related constraints are contiguous with each other.
|
inlineoverridevirtual |
Reimplemented from Legion::LayoutConstraint.
|
inlineoverridevirtual |
Reimplemented from Legion::LayoutConstraint.
|
inlineoverridevirtual |
Implements Legion::LayoutConstraint.
|
static |