|
Legion Runtime
|
#include <constraints.h>
Public Member Functions | |
| SpecializedConstraint (SpecializedKind kind=LEGION_AFFINE_SPECIALIZE, ReductionOpID redop=0, bool no_access=false, bool exact=false, size_t max_pieces=SIZE_MAX, int max_overhead=0) | |
| bool | operator== (const SpecializedConstraint &other) const |
| bool | operator!= (const SpecializedConstraint &other) const |
| virtual LayoutConstraintKind | get_constraint_kind (void) const override |
| virtual SpecializedConstraint * | as_specialized_constraint (void) override |
| virtual const SpecializedConstraint * | as_specialized_constraint (void) const override |
| bool | entails (const SpecializedConstraint &other) const |
| bool | conflicts (const SpecializedConstraint &other) const |
| SpecializedKind | get_kind (void) const |
| ReductionOpID | get_reduction_op (void) const |
| void | swap (SpecializedConstraint &rhs) |
| void | serialize (Serializer &rez) const |
| void | deserialize (Deserializer &derez) |
| bool | is_affine (void) const |
| bool | is_compact (void) const |
| bool | is_virtual (void) const |
| bool | is_reduction (void) const |
| bool | is_file (void) const |
| bool | is_no_access (void) const |
| bool | is_exact (void) const |
| bool | is_normal (void) const |
Public Member Functions inherited from Legion::LayoutConstraint | |
| virtual MemoryConstraint * | as_memory_constraint (void) |
| virtual FieldConstraint * | as_field_constraint (void) |
| virtual OrderingConstraint * | as_ordering_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 MemoryConstraint * | as_memory_constraint (void) const |
| virtual const FieldConstraint * | as_field_constraint (void) const |
| virtual const OrderingConstraint * | as_ordering_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 |
Public Attributes | |
| SpecializedKind | kind |
| ReductionOpID | redop |
| size_t | max_pieces |
| int | max_overhead |
| bool | no_access |
| bool | exact |
Static Public Attributes | |
| static const LayoutConstraintKind | constraint_kind |
This is a pretty basic constraint for physical instances. Normal is a standard physical instance, while specialized values are for indiciating the need for a custom kind of physical instance like a reduction-list or a reduction fold instance. You can also use redop of 0 with either of the reduction specializations to indicate that you expect a reduction instance, but it does not matter which reduction instance is required. We can provide other kinds of specializations here in the future. Note the default constructor will fall back to the normal case so this kind of constraint won't need to be set in the default case.
|
inlineoverridevirtual |
Reimplemented from Legion::LayoutConstraint.
|
inlineoverridevirtual |
Reimplemented from Legion::LayoutConstraint.
|
inlineoverridevirtual |
Implements Legion::LayoutConstraint.
|
static |