Legion Runtime
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
Legion::SpecializedConstraint Class Reference

#include <constraints.h>

Inheritance diagram for Legion::SpecializedConstraint:
Legion::LayoutConstraint

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
 

Detailed Description

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.

Member Function Documentation

◆ as_specialized_constraint() [1/2]

virtual const SpecializedConstraint * Legion::SpecializedConstraint::as_specialized_constraint ( void  ) const
inlineoverridevirtual

Reimplemented from Legion::LayoutConstraint.

◆ as_specialized_constraint() [2/2]

virtual SpecializedConstraint * Legion::SpecializedConstraint::as_specialized_constraint ( void  )
inlineoverridevirtual

Reimplemented from Legion::LayoutConstraint.

◆ get_constraint_kind()

virtual LayoutConstraintKind Legion::SpecializedConstraint::get_constraint_kind ( void  ) const
inlineoverridevirtual

Member Data Documentation

◆ constraint_kind

const LayoutConstraintKind Legion::SpecializedConstraint::constraint_kind
static
Initial value:
=
LEGION_SPECIALIZED_CONSTRAINT

The documentation for this class was generated from the following file: