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

#include <constraints.h>

Public Member Functions

 ProcessorConstraint (Processor::Kind kind=Processor::NO_KIND)
 
bool operator== (const ProcessorConstraint &other) const
 
bool operator!= (const ProcessorConstraint &other) const
 
bool is_valid (void) const
 
void add_kind (Processor::Kind kind)
 
bool can_use (Processor::Kind kind) const
 
bool entails (const ProcessorConstraint &other) const
 
bool conflicts (const ProcessorConstraint &other) const
 
void swap (ProcessorConstraint &rhs)
 
void serialize (Serializer &rez) const
 
void deserialize (Deserializer &derez)
 

Public Attributes

std::vector< Processor::Kind > valid_kinds
 

Static Public Attributes

static const ExecutionConstraintKind constraint_kind
 

Detailed Description

Processor constraints are used to declare that a task variant should only be able to executed on processors of certain kinds. This is necessary for example, to distinguish I/O tasks which can run on all x86 cores by their ISA constraints, but users want to restrict their execution to just I/O processors.

Member Data Documentation

◆ constraint_kind

const ExecutionConstraintKind Legion::ProcessorConstraint::constraint_kind
static
Initial value:
=
LEGION_PROCESSOR_CONSTRAINT

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