Legion Runtime
 All Classes Namespaces Files Functions Variables Typedefs Macros Pages
Classes | Namespaces | Macros | Typedefs | Enumerations | Variables
legion_types.h File Reference
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <string.h>
#include <stdint.h>
#include <limits.h>
#include <map>
#include <set>
#include <list>
#include <deque>
#include <vector>
#include <typeinfo>
#include <type_traits>
#include "legion/legion_config.h"
#include "legion/legion_template_help.h"
#include "realm.h"
#include "realm/dynamic_templates.h"
#include "legion/accessor.h"

Go to the source code of this file.

Classes

class  BitMask< T, MAX, SHIFT, MASK >
 
class  TLBitMask< T, MAX, SHIFT, MASK >
 
class  CompoundBitMask< DT, BLOAT, BIDIR >
 
class  Legion::IndexSpaceT< DIM, COORD_T >
 
class  Legion::IndexPartitionT< DIM, COORD_T >
 
class  Legion::LogicalRegionT< DIM, COORD_T >
 
class  Legion::LogicalPartitionT< DIM, COORD_T >
 
class  Legion::DeferredValue< T >
 
class  Legion::DeferredReduction< REDOP, EXCLUSIVE >
 
class  Legion::DeferredBuffer< T, DIM, COORD_T, CHECK_BOUNDS >
 
class  Legion::UntypedDeferredBuffer< COORD_T >
 
class  Legion::FieldAccessor< MODE, FT, N, COORD_T, A, CHECK_BOUNDS >
 
class  Legion::ReductionAccessor< REDOP, EXCLUSIVE, N, COORD_T, A, CHECK_BOUNDS >
 
class  Legion::UnsafeFieldAccessor< typename, int, typename, typename >
 
class  Legion::ArraySyntax::AccessorRefHelper< typename, PrivilegeMode >
 
class  Legion::ArraySyntax::AffineRefHelper< typename >
 
class  Legion::PieceIteratorT< DIM, COORD_T >
 
class  Legion::SpanIterator< PM, FT, DIM, COORD_T >
 
struct  Legion::ColoredPoints< T >
 
class  Legion::Internal::Fraction< T >
 
class  Legion::Internal::BitPermutation< T, LOG2MAX >
 
class  Legion::Internal::ProfilingResponseHandler
 
struct  Legion::Internal::ProfilingResponseBase
 
class  Legion::Internal::IndexSpaceOperationT< DIM, T >
 
class  Legion::Internal::IndexSpaceUnion< DIM, T >
 
class  Legion::Internal::IndexSpaceIntersection< DIM, T >
 
class  Legion::Internal::IndexSpaceDifference< DIM, T >
 
class  Legion::Internal::IndexSpaceNodeT< DIM, T >
 
class  Legion::Internal::IndexPartNodeT< DIM, T >
 
class  Legion::Internal::ColorSpaceIteratorT< DIM, T >
 
class  Legion::Internal::LgTaskArgs< T >
 
struct  Legion::Internal::NT_TemplateHelper
 
struct  Legion::Internal::NT_TemplateHelper::DimHelper
 
class  Legion::Internal::LgEvent
 
class  Legion::Internal::PredEvent
 
class  Legion::Internal::ApEvent
 
class  Legion::Internal::ApUserEvent
 
class  Legion::Internal::ApBarrier
 
class  Legion::Internal::RtEvent
 
class  Legion::Internal::RtUserEvent
 
class  Legion::Internal::RtBarrier
 
class  Legion::Internal::LocalLock
 
class  Legion::Internal::AutoLock
 
class  Legion::Internal::AutoTryLock
 
class  Legion::Unserializable< T >
 

Namespaces

 Legion
 

Macros

#define LG_TASK_DESCRIPTIONS(name)
 
#define MAPPER_CALL_NAMES(name)
 
#define LG_MESSAGE_DESCRIPTIONS(name)
 
#define RUNTIME_CALL_DESCRIPTIONS(name)
 
#define FRIEND_ALL_RUNTIME_CLASSES
 
#define LEGION_EXTERN_LOGGER_DECLARATIONS
 
#define LEGION_FIELD_MASK_FIELD_TYPE   uint64_t
 
#define LEGION_FIELD_MASK_FIELD_SHIFT   6
 
#define LEGION_FIELD_MASK_FIELD_MASK   0x3F
 
#define LEGION_FIELD_MASK_FIELD_ALL_ONES   0xFFFFFFFFFFFFFFFF
 
#define LEGION_NODE_MASK_NODE_TYPE   uint64_t
 
#define LEGION_NODE_MASK_NODE_SHIFT   6
 
#define LEGION_NODE_MASK_NODE_MASK   0x3F
 
#define LEGION_NODE_MASK_NODE_ALL_ONES   0xFFFFFFFFFFFFFFFF
 
#define LEGION_PROC_MASK_PROC_TYPE   uint64_t
 
#define LEGION_PROC_MASK_PROC_SHIFT   6
 
#define LEGION_PROC_MASK_PROC_MASK   0x3F
 
#define LEGION_PROC_MASK_PROC_ALL_ONES   0xFFFFFFFFFFFFFFFF
 

Typedefs

typedef ::legion_error_t Legion::LegionErrorType
 
typedef ::legion_privilege_mode_t Legion::PrivilegeMode
 
typedef ::legion_allocate_mode_t Legion::AllocateMode
 
typedef
::legion_coherence_property_t 
Legion::CoherenceProperty
 
typedef ::legion_region_flags_t Legion::RegionFlags
 
typedef ::legion_projection_type_t Legion::ProjectionType
 
typedef ::legion_partition_kind_t Legion::PartitionKind
 
typedef
::legion_external_resource_t 
Legion::ExternalResource
 
typedef
::legion_timing_measurement_t 
Legion::TimingMeasurement
 
typedef ::legion_dependence_type_t Legion::DependenceType
 
typedef ::legion_mappable_type_id_t Legion::MappableType
 
typedef ::legion_file_mode_t Legion::LegionFileMode
 
typedef
::legion_execution_constraint_t 
Legion::ExecutionConstraintKind
 
typedef
::legion_layout_constraint_t 
Legion::LayoutConstraintKind
 
typedef ::legion_equality_kind_t Legion::EqualityKind
 
typedef ::legion_dimension_kind_t Legion::DimensionKind
 
typedef ::legion_isa_kind_t Legion::ISAKind
 
typedef
::legion_resource_constraint_t 
Legion::ResourceKind
 
typedef
::legion_launch_constraint_t 
Legion::LaunchKind
 
typedef
::legion_specialized_constraint_t 
Legion::SpecializedKind
 
typedef IndexTaskLauncher Legion::IndexLauncher
 
typedef Runtime Legion::HighLevelRuntime
 
template<typename FT , int N, typename T = ::legion_coord_t>
using Legion::GenericAccessor = Realm::GenericAccessor< FT, N, T >
 
template<typename FT , int N, typename T = ::legion_coord_t>
using Legion::AffineAccessor = Realm::AffineAccessor< FT, N, T >
 
template<typename FT , int N, typename T = ::legion_coord_t>
using Legion::MultiAffineAccessor = Realm::MultiAffineAccessor< FT, N, T >
 
typedef Mapping::MapperEvent Legion::Internal::MapperEvent
 
typedef
Mapping::ProfilingMeasurementID 
Legion::Internal::ProfilingMeasurementID
 
typedef Realm::Runtime Legion::RealmRuntime
 
typedef Realm::Machine Legion::Machine
 
typedef Realm::Memory Legion::Memory
 
typedef Realm::Processor Legion::Processor
 
typedef Realm::ProcessorGroup Legion::ProcessorGroup
 
typedef Realm::CodeDescriptor Legion::CodeDescriptor
 
typedef Realm::Reservation Legion::Reservation
 
typedef Realm::CompletionQueue Legion::CompletionQueue
 
typedef ::legion_reduction_op_id_t Legion::ReductionOpID
 
typedef Realm::ReductionOpUntyped Legion::ReductionOp
 
typedef ::legion_custom_serdez_id_t Legion::CustomSerdezID
 
typedef Realm::CustomSerdezUntyped Legion::SerdezOp
 
typedef
Realm::Machine::ProcessorMemoryAffinity 
Legion::ProcessorMemoryAffinity
 
typedef
Realm::Machine::MemoryMemoryAffinity 
Legion::MemoryMemoryAffinity
 
typedef
Realm::DynamicTemplates::TagType 
Legion::TypeTag
 
typedef Realm::Logger Legion::Logger
 
typedef ::legion_coord_t Legion::coord_t
 
typedef std::map
< CustomSerdezID, const
Realm::CustomSerdezUntyped * > 
Legion::SerdezOpTable
 
typedef std::map
< Realm::ReductionOpID, const
Realm::ReductionOpUntyped * > 
Legion::ReductionOpTable
 
typedef void(* Legion::SerdezInitFnptr )(const ReductionOp *, void *&, size_t &)
 
typedef void(* Legion::SerdezFoldFnptr )(const ReductionOp *, void *&, size_t &, const void *)
 
typedef std::map
< Realm::ReductionOpID,
SerdezRedopFns > 
Legion::SerdezRedopTable
 
typedef ::legion_projection_type_t Legion::HandleType
 
typedef ::legion_address_space_t Legion::AddressSpace
 
typedef ::legion_task_priority_t Legion::TaskPriority
 
typedef ::legion_task_priority_t Legion::RealmPriority
 
typedef
::legion_garbage_collection_priority_t 
Legion::GCPriority
 
typedef ::legion_color_t Legion::Color
 
typedef ::legion_field_id_t Legion::FieldID
 
typedef ::legion_trace_id_t Legion::TraceID
 
typedef ::legion_mapper_id_t Legion::MapperID
 
typedef ::legion_context_id_t Legion::ContextID
 
typedef ::legion_instance_id_t Legion::InstanceID
 
typedef ::legion_index_space_id_t Legion::IndexSpaceID
 
typedef
::legion_index_partition_id_t 
Legion::IndexPartitionID
 
typedef ::legion_index_tree_id_t Legion::IndexTreeID
 
typedef ::legion_field_space_id_t Legion::FieldSpaceID
 
typedef ::legion_generation_id_t Legion::GenerationID
 
typedef ::legion_type_handle Legion::TypeHandle
 
typedef ::legion_projection_id_t Legion::ProjectionID
 
typedef ::legion_sharding_id_t Legion::ShardingID
 
typedef ::legion_region_tree_id_t Legion::RegionTreeID
 
typedef ::legion_distributed_id_t Legion::DistributedID
 
typedef ::legion_address_space_t Legion::AddressSpaceID
 
typedef ::legion_tunable_id_t Legion::TunableID
 
typedef
::legion_local_variable_id_t 
Legion::LocalVariableID
 
typedef ::legion_mapping_tag_id_t Legion::MappingTagID
 
typedef ::legion_semantic_tag_t Legion::SemanticTag
 
typedef ::legion_variant_id_t Legion::VariantID
 
typedef
::legion_code_descriptor_id_t 
Legion::CodeDescriptorID
 
typedef ::legion_unique_id_t Legion::UniqueID
 
typedef ::legion_version_id_t Legion::VersionID
 
typedef
::legion_projection_epoch_id_t 
Legion::ProjectionEpochID
 
typedef ::legion_task_id_t Legion::TaskID
 
typedef
::legion_layout_constraint_id_t 
Legion::LayoutConstraintID
 
typedef ::legion_replication_id_t Legion::ReplicationID
 
typedef ::legion_shard_id_t Legion::ShardID
 
typedef ::legion_internal_color_t Legion::LegionColor
 
typedef void(* Legion::RegistrationCallbackFnptr )(Machine machine, Runtime *rt, const std::set< Processor > &local_procs)
 
typedef void(* Legion::RegistrationWithArgsCallbackFnptr )(const RegistrationCallbackArgs &args)
 
typedef LogicalRegion(* Legion::RegionProjectionFnptr )(LogicalRegion parent, const DomainPoint &, Runtime *rt)
 
typedef LogicalRegion(* Legion::PartitionProjectionFnptr )(LogicalPartition parent, const DomainPoint &, Runtime *rt)
 
typedef bool(* Legion::PredicateFnptr )(const void *, size_t, const std::vector< Future > futures)
 
typedef void(* Legion::RealmFnptr )(const void *, size_t, const void *, size_t, Processor)
 
typedef Internal::TaskContext * Legion::Context
 
typedef Internal::MappingCallInfo * Legion::Mapping::MapperContext
 
typedef Internal::InstanceManager * Legion::Mapping::PhysicalInstanceImpl
 
typedef Realm::RegionInstance Legion::Internal::PhysicalInstance
 
typedef Realm::CopySrcDstField Legion::Internal::CopySrcDstField
 
typedef unsigned long long Legion::Internal::IndexSpaceExprID
 
typedef std::pair< unsigned,
DomainPoint > 
Legion::Internal::TraceLocalID
 
typedef Mapping::Mapper Legion::Internal::Mapper
 
typedef Mapping::PhysicalInstance Legion::Internal::MappingInstance
 
typedef BitMask
< LEGION_FIELD_MASK_FIELD_TYPE,
LEGION_MAX_FIELDS,
LEGION_FIELD_MASK_FIELD_SHIFT,
LEGION_FIELD_MASK_FIELD_MASK > 
Legion::Internal::FieldMask
 
typedef BitPermutation
< FieldMask, LEGION_FIELD_LOG2 > 
Legion::Internal::FieldPermutation
 
typedef Fraction< unsigned long > Legion::Internal::InstFrac
 
typedef BitMask
< LEGION_NODE_MASK_NODE_TYPE,
LEGION_MAX_NUM_NODES,
LEGION_NODE_MASK_NODE_SHIFT,
LEGION_NODE_MASK_NODE_MASK > 
Legion::Internal::NodeMask
 
typedef CompoundBitMask
< NodeMask, 1, true > 
Legion::Internal::NodeSet
 
typedef BitMask
< LEGION_PROC_MASK_PROC_TYPE,
LEGION_MAX_NUM_PROCS,
LEGION_PROC_MASK_PROC_SHIFT,
LEGION_PROC_MASK_PROC_MASK > 
Legion::Internal::ProcessorMask
 
typedef
LegionRuntime::Accessor::ByteOffset 
Legion::ByteOffset
 
typedef std::map< Color,
ColoredPoints< ptr_t > > 
Legion::Coloring
 
typedef std::map< Color, Domain > Legion::DomainColoring
 
typedef std::map< Color,
std::set< Domain > > 
Legion::MultiDomainColoring
 
typedef std::map< DomainPoint,
ColoredPoints< ptr_t > > 
Legion::PointColoring
 
typedef std::map< DomainPoint,
Domain > 
Legion::DomainPointColoring
 
typedef std::map< DomainPoint,
std::set< Domain > > 
Legion::MultiDomainPointColoring
 

Enumerations

enum  ProfilingMeasurementID { PMID_LEGION_FIRST = Realm::PMID_REALM_LAST, PMID_RUNTIME_OVERHEAD }
 
enum  OpenState {
  NOT_OPEN = 0, OPEN_READ_ONLY = 1, OPEN_READ_WRITE = 2, OPEN_SINGLE_REDUCE = 3,
  OPEN_MULTI_REDUCE = 4, OPEN_READ_ONLY_PROJ = 5, OPEN_READ_WRITE_PROJ = 6, OPEN_READ_WRITE_PROJ_DISJOINT_SHALLOW = 7,
  OPEN_REDUCE_PROJ = 8, OPEN_REDUCE_PROJ_DIRTY = 9
}
 
enum  { REDOP_ID_AVAILABLE = 1 }
 
enum  DepPartOpKind {
  DEP_PART_UNION = 0, DEP_PART_UNIONS = 1, DEP_PART_UNION_REDUCTION = 2, DEP_PART_INTERSECTION = 3,
  DEP_PART_INTERSECTIONS = 4, DEP_PART_INTERSECTION_REDUCTION = 5, DEP_PART_DIFFERENCE = 6, DEP_PART_DIFFERENCES = 7,
  DEP_PART_EQUAL = 8, DEP_PART_BY_FIELD = 9, DEP_PART_BY_IMAGE = 10, DEP_PART_BY_IMAGE_RANGE = 11,
  DEP_PART_BY_PREIMAGE = 12, DEP_PART_BY_PREIMAGE_RANGE = 13, DEP_PART_ASSOCIATION = 14, DEP_PART_WEIGHTS = 15
}
 
enum  LgTaskID {
  LG_SCHEDULER_ID, LG_POST_END_ID, LG_TRIGGER_READY_ID, LG_TRIGGER_EXECUTION_ID,
  LG_TRIGGER_RESOLUTION_ID, LG_TRIGGER_COMMIT_ID, LG_DEFERRED_EXECUTION_ID, LG_DEFERRED_COMPLETION_ID,
  LG_DEFERRED_COMMIT_ID, LG_DEFERRED_COLLECT_ID, LG_PRE_PIPELINE_ID, LG_TRIGGER_DEPENDENCE_ID,
  LG_TRIGGER_COMPLETION_ID, LG_TRIGGER_OP_ID, LG_TRIGGER_TASK_ID, LG_DEFER_MAPPER_SCHEDULER_TASK_ID,
  LG_MUST_INDIV_ID, LG_MUST_INDEX_ID, LG_MUST_MAP_ID, LG_MUST_DIST_ID,
  LG_MUST_LAUNCH_ID, LG_DEFERRED_FUTURE_SET_ID, LG_DEFERRED_FUTURE_MAP_SET_ID, LG_RESOLVE_FUTURE_PRED_ID,
  LG_CONTRIBUTE_COLLECTIVE_ID, LG_FUTURE_CALLBACK_TASK_ID, LG_TOP_FINISH_TASK_ID, LG_MAPPER_TASK_ID,
  LG_DISJOINTNESS_TASK_ID, LG_DEFER_PHYSICAL_REGISTRATION_TASK_ID, LG_PART_INDEPENDENCE_TASK_ID, LG_SPACE_INDEPENDENCE_TASK_ID,
  LG_PENDING_CHILD_TASK_ID, LG_ISSUE_FRAME_TASK_ID, LG_MAPPER_CONTINUATION_TASK_ID, LG_TASK_IMPL_SEMANTIC_INFO_REQ_TASK_ID,
  LG_INDEX_SPACE_SEMANTIC_INFO_REQ_TASK_ID, LG_INDEX_PART_SEMANTIC_INFO_REQ_TASK_ID, LG_FIELD_SPACE_SEMANTIC_INFO_REQ_TASK_ID, LG_FIELD_SEMANTIC_INFO_REQ_TASK_ID,
  LG_DEFER_FIELD_INFOS_TASK_ID, LG_REGION_SEMANTIC_INFO_REQ_TASK_ID, LG_PARTITION_SEMANTIC_INFO_REQ_TASK_ID, LG_INDEX_SPACE_DEFER_CHILD_TASK_ID,
  LG_INDEX_PART_DEFER_CHILD_TASK_ID, LG_DEFERRED_ENQUEUE_TASK_ID, LG_DEFER_MAPPER_MESSAGE_TASK_ID, LG_REMOTE_VIEW_CREATION_TASK_ID,
  LG_DEFERRED_DISTRIBUTE_TASK_ID, LG_DEFER_PERFORM_MAPPING_TASK_ID, LG_DEFERRED_LAUNCH_TASK_ID, LG_MISSPECULATE_TASK_ID,
  LG_DEFER_FIND_COPY_PRE_TASK_ID, LG_DEFER_MATERIALIZED_VIEW_TASK_ID, LG_DEFER_REDUCTION_VIEW_TASK_ID, LG_DEFER_PHI_VIEW_REF_TASK_ID,
  LG_DEFER_PHI_VIEW_REGISTRATION_TASK_ID, LG_TIGHTEN_INDEX_SPACE_TASK_ID, LG_REMOTE_PHYSICAL_REQUEST_TASK_ID, LG_REMOTE_PHYSICAL_RESPONSE_TASK_ID,
  LG_REPLAY_SLICE_TASK_ID, LG_TRANSITIVE_REDUCTION_TASK_ID, LG_DELETE_TEMPLATE_TASK_ID, LG_REFINEMENT_TASK_ID,
  LG_REMOTE_REF_TASK_ID, LG_DEFER_RAY_TRACE_TASK_ID, LG_DEFER_RAY_TRACE_FINISH_TASK_ID, LG_DEFER_SUBSET_REQUEST_TASK_ID,
  LG_DEFER_MAKE_OWNER_TASK_ID, LG_DEFER_MERGE_OR_FORWARD_TASK_ID, LG_DEFER_EQ_RESPONSE_TASK_ID, LG_DEFER_REMOVE_EQ_REF_TASK_ID,
  LG_DEFER_REMOTE_REF_UPDATE_TASK_ID, LG_DEFER_REMOTE_UNREGISTER_TASK_ID, LG_COPY_FILL_AGGREGATION_TASK_ID, LG_COPY_FILL_DELETION_TASK_ID,
  LG_FINALIZE_EQ_SETS_TASK_ID, LG_DEFERRED_COPY_ACROSS_TASK_ID, LG_DEFER_REMOTE_OP_DELETION_TASK_ID, LG_DEFER_REMOTE_INSTANCE_TASK_ID,
  LG_DEFER_REMOTE_REDUCTION_TASK_ID, LG_DEFER_REMOTE_UPDATE_TASK_ID, LG_DEFER_REMOTE_ACQUIRE_TASK_ID, LG_DEFER_REMOTE_RELEASE_TASK_ID,
  LG_DEFER_REMOTE_COPIES_ACROSS_TASK_ID, LG_DEFER_REMOTE_OVERWRITE_TASK_ID, LG_DEFER_REMOTE_FILTER_TASK_ID, LG_DEFER_PERFORM_TRAVERSAL_TASK_ID,
  LG_DEFER_PERFORM_REMOTE_TASK_ID, LG_DEFER_PERFORM_UPDATE_TASK_ID, LG_DEFER_PERFORM_OUTPUT_TASK_ID, LG_DEFER_INDIVIDUAL_MANAGER_TASK_ID,
  LG_DEFER_COLLECTIVE_MANAGER_TASK_ID, LG_DEFER_VERIFY_PARTITION_TASK_ID, LG_DEFER_RELEASE_ACQUIRED_TASK_ID, LG_DEFER_COPY_ACROSS_TASK_ID,
  LG_MALLOC_INSTANCE_TASK_ID, LG_FREE_INSTANCE_TASK_ID, LG_YIELD_TASK_ID, LG_BEGIN_SHUTDOWN_TASK_IDS,
  LG_RETRY_SHUTDOWN_TASK_ID = LG_BEGIN_SHUTDOWN_TASK_IDS, LG_MESSAGE_ID, LG_LAST_TASK_ID
}
 
enum  MappingCallKind {
  GET_MAPPER_NAME_CALL, GET_MAPER_SYNC_MODEL_CALL, SELECT_TASK_OPTIONS_CALL, PREMAP_TASK_CALL,
  SLICE_TASK_CALL, MAP_TASK_CALL, SELECT_VARIANT_CALL, POSTMAP_TASK_CALL,
  TASK_SELECT_SOURCES_CALL, TASK_SPECULATE_CALL, TASK_REPORT_PROFILING_CALL, MAP_INLINE_CALL,
  INLINE_SELECT_SOURCES_CALL, INLINE_REPORT_PROFILING_CALL, MAP_COPY_CALL, COPY_SELECT_SOURCES_CALL,
  COPY_SPECULATE_CALL, COPY_REPORT_PROFILING_CALL, CLOSE_SELECT_SOURCES_CALL, CLOSE_REPORT_PROFILING_CALL,
  MAP_ACQUIRE_CALL, ACQUIRE_SPECULATE_CALL, ACQUIRE_REPORT_PROFILING_CALL, MAP_RELEASE_CALL,
  RELEASE_SELECT_SOURCES_CALL, RELEASE_SPECULATE_CALL, RELEASE_REPORT_PROFILING_CALL, SELECT_PARTITION_PROJECTION_CALL,
  MAP_PARTITION_CALL, PARTITION_SELECT_SOURCES_CALL, PARTITION_REPORT_PROFILING_CALL, CONFIGURE_CONTEXT_CALL,
  SELECT_TUNABLE_VALUE_CALL, MAP_MUST_EPOCH_CALL, MAP_DATAFLOW_GRAPH_CALL, MEMOIZE_OPERATION_CALL,
  SELECT_TASKS_TO_MAP_CALL, SELECT_STEAL_TARGETS_CALL, PERMIT_STEAL_REQUEST_CALL, HANDLE_MESSAGE_CALL,
  HANDLE_TASK_RESULT_CALL, APPLICATION_MAPPER_CALL, LAST_MAPPER_CALL
}
 
enum  LgPriority {
  LG_MIN_PRIORITY = INT_MIN, LG_LOW_PRIORITY = -1, LG_THROUGHPUT_WORK_PRIORITY = 0, LG_THROUGHPUT_DEFERRED_PRIORITY = 1,
  LG_THROUGHPUT_MESSAGE_PRIORITY = 2, LG_THROUGHPUT_RESPONSE_PRIORITY = 3, LG_LATENCY_WORK_PRIORITY = 4, LG_LATENCY_DEFERRED_PRIORITY = 5,
  LG_LATENCY_MESSAGE_PRIORITY = 6, LG_LATENCY_RESPONSE_PRIORITY = 7, LG_RESOURCE_PRIORITY = 8, LG_RUNNING_PRIORITY = 9
}
 
enum  VirtualChannelKind {
  DEFAULT_VIRTUAL_CHANNEL = 0, THROUGHPUT_VIRTUAL_CHANNEL = 1, LAST_UNORDERED_VIRTUAL_CHANNEL = THROUGHPUT_VIRTUAL_CHANNEL, MAPPER_VIRTUAL_CHANNEL = 1,
  TASK_VIRTUAL_CHANNEL = 2, FIELD_SPACE_VIRTUAL_CHANNEL = 4, REFERENCE_VIRTUAL_CHANNEL = 6, UPDATE_VIRTUAL_CHANNEL = 7,
  SUBSET_VIRTUAL_CHANNEL = 8, CONTEXT_VIRTUAL_CHANNEL = 9, LAYOUT_CONSTRAINT_VIRTUAL_CHANNEL = 10, EXPRESSION_VIRTUAL_CHANNEL = 11,
  MIGRATION_VIRTUAL_CHANNEL = 12, TRACING_VIRTUAL_CHANNEL = 13, MAX_NUM_VIRTUAL_CHANNELS = 14
}
 
enum  MessageKind {
  TASK_MESSAGE, STEAL_MESSAGE, ADVERTISEMENT_MESSAGE, SEND_REGISTRATION_CALLBACK,
  SEND_REMOTE_TASK_REPLAY, SEND_REMOTE_TASK_PROFILING_RESPONSE, SEND_SHARED_OWNERSHIP, SEND_INDEX_SPACE_REQUEST,
  SEND_INDEX_SPACE_RETURN, SEND_INDEX_SPACE_SET, SEND_INDEX_SPACE_CHILD_REQUEST, SEND_INDEX_SPACE_CHILD_RESPONSE,
  SEND_INDEX_SPACE_COLORS_REQUEST, SEND_INDEX_SPACE_COLORS_RESPONSE, SEND_INDEX_SPACE_REMOTE_EXPRESSION_REQUEST, SEND_INDEX_SPACE_REMOTE_EXPRESSION_RESPONSE,
  SEND_INDEX_SPACE_GENERATE_COLOR_REQUEST, SEND_INDEX_SPACE_GENERATE_COLOR_RESPONSE, SEND_INDEX_SPACE_RELEASE_COLOR, SEND_INDEX_PARTITION_NOTIFICATION,
  SEND_INDEX_PARTITION_REQUEST, SEND_INDEX_PARTITION_RETURN, SEND_INDEX_PARTITION_CHILD_REQUEST, SEND_INDEX_PARTITION_CHILD_RESPONSE,
  SEND_INDEX_PARTITION_DISJOINT_UPDATE, SEND_FIELD_SPACE_NODE, SEND_FIELD_SPACE_REQUEST, SEND_FIELD_SPACE_RETURN,
  SEND_FIELD_SPACE_ALLOCATOR_REQUEST, SEND_FIELD_SPACE_ALLOCATOR_RESPONSE, SEND_FIELD_SPACE_ALLOCATOR_INVALIDATION, SEND_FIELD_SPACE_ALLOCATOR_FLUSH,
  SEND_FIELD_SPACE_ALLOCATOR_FREE, SEND_FIELD_SPACE_INFOS_REQUEST, SEND_FIELD_SPACE_INFOS_RESPONSE, SEND_FIELD_ALLOC_REQUEST,
  SEND_FIELD_SIZE_UPDATE, SEND_FIELD_FREE, SEND_FIELD_FREE_INDEXES, SEND_FIELD_SPACE_LAYOUT_INVALIDATION,
  SEND_LOCAL_FIELD_ALLOC_REQUEST, SEND_LOCAL_FIELD_ALLOC_RESPONSE, SEND_LOCAL_FIELD_FREE, SEND_LOCAL_FIELD_UPDATE,
  SEND_TOP_LEVEL_REGION_REQUEST, SEND_TOP_LEVEL_REGION_RETURN, INDEX_SPACE_DESTRUCTION_MESSAGE, INDEX_PARTITION_DESTRUCTION_MESSAGE,
  FIELD_SPACE_DESTRUCTION_MESSAGE, LOGICAL_REGION_DESTRUCTION_MESSAGE, INDIVIDUAL_REMOTE_COMPLETE, INDIVIDUAL_REMOTE_COMMIT,
  SLICE_REMOTE_MAPPED, SLICE_REMOTE_COMPLETE, SLICE_REMOTE_COMMIT, SLICE_FIND_INTRA_DEP,
  SLICE_RECORD_INTRA_DEP, SLICE_COLLECTIVE_REQUEST, SLICE_COLLECTIVE_RESPONSE, DISTRIBUTED_REMOTE_REGISTRATION,
  DISTRIBUTED_VALID_UPDATE, DISTRIBUTED_GC_UPDATE, DISTRIBUTED_RESOURCE_UPDATE, DISTRIBUTED_CREATE_ADD,
  DISTRIBUTED_CREATE_REMOVE, DISTRIBUTED_UNREGISTER, SEND_ATOMIC_RESERVATION_REQUEST, SEND_ATOMIC_RESERVATION_RESPONSE,
  SEND_BACK_LOGICAL_STATE, SEND_MATERIALIZED_VIEW, SEND_FILL_VIEW, SEND_PHI_VIEW,
  SEND_REDUCTION_VIEW, SEND_INSTANCE_MANAGER, SEND_COLLECTIVE_MANAGER, SEND_COLLECTIVE_MESSAGE,
  SEND_CREATE_TOP_VIEW_REQUEST, SEND_CREATE_TOP_VIEW_RESPONSE, SEND_VIEW_REQUEST, SEND_VIEW_REGISTER_USER,
  SEND_VIEW_FIND_COPY_PRE_REQUEST, SEND_VIEW_FIND_COPY_PRE_RESPONSE, SEND_VIEW_ADD_COPY_USER, SEND_VIEW_REPLICATION_REQUEST,
  SEND_VIEW_REPLICATION_RESPONSE, SEND_VIEW_REPLICATION_REMOVAL, SEND_MANAGER_REQUEST, SEND_FUTURE_RESULT,
  SEND_FUTURE_SUBSCRIPTION, SEND_FUTURE_NOTIFICATION, SEND_FUTURE_BROADCAST, SEND_FUTURE_MAP_REQUEST,
  SEND_FUTURE_MAP_RESPONSE, SEND_MAPPER_MESSAGE, SEND_MAPPER_BROADCAST, SEND_TASK_IMPL_SEMANTIC_REQ,
  SEND_INDEX_SPACE_SEMANTIC_REQ, SEND_INDEX_PARTITION_SEMANTIC_REQ, SEND_FIELD_SPACE_SEMANTIC_REQ, SEND_FIELD_SEMANTIC_REQ,
  SEND_LOGICAL_REGION_SEMANTIC_REQ, SEND_LOGICAL_PARTITION_SEMANTIC_REQ, SEND_TASK_IMPL_SEMANTIC_INFO, SEND_INDEX_SPACE_SEMANTIC_INFO,
  SEND_INDEX_PARTITION_SEMANTIC_INFO, SEND_FIELD_SPACE_SEMANTIC_INFO, SEND_FIELD_SEMANTIC_INFO, SEND_LOGICAL_REGION_SEMANTIC_INFO,
  SEND_LOGICAL_PARTITION_SEMANTIC_INFO, SEND_REMOTE_CONTEXT_REQUEST, SEND_REMOTE_CONTEXT_RESPONSE, SEND_REMOTE_CONTEXT_RELEASE,
  SEND_REMOTE_CONTEXT_FREE, SEND_REMOTE_CONTEXT_PHYSICAL_REQUEST, SEND_REMOTE_CONTEXT_PHYSICAL_RESPONSE, SEND_COMPUTE_EQUIVALENCE_SETS_REQUEST,
  SEND_EQUIVALENCE_SET_REQUEST, SEND_EQUIVALENCE_SET_RESPONSE, SEND_EQUIVALENCE_SET_SUBSET_REQUEST, SEND_EQUIVALENCE_SET_SUBSET_RESPONSE,
  SEND_EQUIVALENCE_SET_SUBSET_UPDATE, SEND_EQUIVALENCE_SET_RAY_TRACE_REQUEST, SEND_EQUIVALENCE_SET_RAY_TRACE_RESPONSE, SEND_EQUIVALENCE_SET_MIGRATION,
  SEND_EQUIVALENCE_SET_OWNER_UPDATE, SEND_EQUIVALENCE_SET_REMOTE_REFINEMENT, SEND_EQUIVALENCE_SET_REMOTE_REQUEST_INSTANCES, SEND_EQUIVALENCE_SET_REMOTE_REQUEST_INVALID,
  SEND_EQUIVALENCE_SET_REMOTE_UPDATES, SEND_EQUIVALENCE_SET_REMOTE_ACQUIRES, SEND_EQUIVALENCE_SET_REMOTE_RELEASES, SEND_EQUIVALENCE_SET_REMOTE_COPIES_ACROSS,
  SEND_EQUIVALENCE_SET_REMOTE_OVERWRITES, SEND_EQUIVALENCE_SET_REMOTE_FILTERS, SEND_EQUIVALENCE_SET_REMOTE_INSTANCES, SEND_EQUIVALENCE_SET_STALE_UPDATE,
  SEND_INSTANCE_REQUEST, SEND_INSTANCE_RESPONSE, SEND_EXTERNAL_CREATE_REQUEST, SEND_EXTERNAL_CREATE_RESPONSE,
  SEND_EXTERNAL_ATTACH, SEND_EXTERNAL_DETACH, SEND_GC_PRIORITY_UPDATE, SEND_GC_REQUEST,
  SEND_GC_RESPONSE, SEND_GC_ACQUIRE, SEND_GC_ACQUIRED, SEND_GC_DEBUG_REQUEST,
  SEND_GC_DEBUG_RESPONSE, SEND_ACQUIRE_REQUEST, SEND_ACQUIRE_RESPONSE, SEND_VARIANT_BROADCAST,
  SEND_CONSTRAINT_REQUEST, SEND_CONSTRAINT_RESPONSE, SEND_CONSTRAINT_RELEASE, SEND_TOP_LEVEL_TASK_REQUEST,
  SEND_TOP_LEVEL_TASK_COMPLETE, SEND_MPI_RANK_EXCHANGE, SEND_LIBRARY_MAPPER_REQUEST, SEND_LIBRARY_MAPPER_RESPONSE,
  SEND_LIBRARY_TRACE_REQUEST, SEND_LIBRARY_TRACE_RESPONSE, SEND_LIBRARY_PROJECTION_REQUEST, SEND_LIBRARY_PROJECTION_RESPONSE,
  SEND_LIBRARY_TASK_REQUEST, SEND_LIBRARY_TASK_RESPONSE, SEND_LIBRARY_REDOP_REQUEST, SEND_LIBRARY_REDOP_RESPONSE,
  SEND_LIBRARY_SERDEZ_REQUEST, SEND_LIBRARY_SERDEZ_RESPONSE, SEND_REMOTE_OP_REPORT_UNINIT, SEND_REMOTE_OP_PROFILING_COUNT_UPDATE,
  SEND_REMOTE_TRACE_UPDATE, SEND_REMOTE_TRACE_RESPONSE, SEND_REMOTE_TRACE_EQ_REQUEST, SEND_REMOTE_TRACE_EQ_RESPONSE,
  SEND_SHUTDOWN_NOTIFICATION, SEND_SHUTDOWN_RESPONSE, LAST_SEND_KIND
}
 
enum  {
  LG_INITIALIZE_TASK_ID = Realm::Processor::TASK_ID_PROCESSOR_INIT, LG_SHUTDOWN_TASK_ID = Realm::Processor::TASK_ID_PROCESSOR_SHUTDOWN, LG_TASK_ID = Realm::Processor::TASK_ID_FIRST_AVAILABLE, LG_LEGION_PROFILING_ID = LG_TASK_ID+1,
  LG_STARTUP_TASK_ID = LG_TASK_ID+2, LG_ENDPOINT_TASK_ID = LG_TASK_ID+3, LG_APP_PROC_TASK_ID = LG_TASK_ID+4, LG_TASK_ID_AVAILABLE = LG_TASK_ID+5
}
 
enum  RuntimeCallKind {
  PACK_BASE_TASK_CALL, UNPACK_BASE_TASK_CALL, TASK_PRIVILEGE_CHECK_CALL, CLONE_TASK_CALL,
  COMPUTE_POINT_REQUIREMENTS_CALL, EARLY_MAP_REGIONS_CALL, INTRA_TASK_ALIASING_CALL, ACTIVATE_SINGLE_CALL,
  DEACTIVATE_SINGLE_CALL, SELECT_INLINE_VARIANT_CALL, INLINE_CHILD_TASK_CALL, PACK_SINGLE_TASK_CALL,
  UNPACK_SINGLE_TASK_CALL, PACK_REMOTE_CONTEXT_CALL, HAS_CONFLICTING_INTERNAL_CALL, FIND_CONFLICTING_CALL,
  FIND_CONFLICTING_INTERNAL_CALL, CHECK_REGION_DEPENDENCE_CALL, FIND_PARENT_REGION_REQ_CALL, FIND_PARENT_REGION_CALL,
  CHECK_PRIVILEGE_CALL, TRIGGER_SINGLE_CALL, INITIALIZE_MAP_TASK_CALL, FINALIZE_MAP_TASK_CALL,
  VALIDATE_VARIANT_SELECTION_CALL, MAP_ALL_REGIONS_CALL, INITIALIZE_REGION_TREE_CONTEXTS_CALL, INVALIDATE_REGION_TREE_CONTEXTS_CALL,
  CREATE_INSTANCE_TOP_VIEW_CALL, LAUNCH_TASK_CALL, ACTIVATE_MULTI_CALL, DEACTIVATE_MULTI_CALL,
  SLICE_INDEX_SPACE_CALL, CLONE_MULTI_CALL, MULTI_TRIGGER_EXECUTION_CALL, PACK_MULTI_CALL,
  UNPACK_MULTI_CALL, ACTIVATE_INDIVIDUAL_CALL, DEACTIVATE_INDIVIDUAL_CALL, INDIVIDUAL_PERFORM_MAPPING_CALL,
  INDIVIDUAL_RETURN_VIRTUAL_CALL, INDIVIDUAL_TRIGGER_COMPLETE_CALL, INDIVIDUAL_TRIGGER_COMMIT_CALL, INDIVIDUAL_POST_MAPPED_CALL,
  INDIVIDUAL_PACK_TASK_CALL, INDIVIDUAL_UNPACK_TASK_CALL, INDIVIDUAL_PACK_REMOTE_COMPLETE_CALL, INDIVIDUAL_UNPACK_REMOTE_COMPLETE_CALL,
  POINT_ACTIVATE_CALL, POINT_DEACTIVATE_CALL, POINT_TASK_COMPLETE_CALL, POINT_TASK_COMMIT_CALL,
  POINT_PACK_TASK_CALL, POINT_UNPACK_TASK_CALL, POINT_TASK_POST_MAPPED_CALL, REMOTE_TASK_ACTIVATE_CALL,
  REMOTE_TASK_DEACTIVATE_CALL, REMOTE_UNPACK_CONTEXT_CALL, INDEX_ACTIVATE_CALL, INDEX_DEACTIVATE_CALL,
  INDEX_COMPUTE_FAT_PATH_CALL, INDEX_EARLY_MAP_TASK_CALL, INDEX_DISTRIBUTE_CALL, INDEX_PERFORM_MAPPING_CALL,
  INDEX_COMPLETE_CALL, INDEX_COMMIT_CALL, INDEX_PERFORM_INLINING_CALL, INDEX_CLONE_AS_SLICE_CALL,
  INDEX_HANDLE_FUTURE, INDEX_RETURN_SLICE_MAPPED_CALL, INDEX_RETURN_SLICE_COMPLETE_CALL, INDEX_RETURN_SLICE_COMMIT_CALL,
  SLICE_ACTIVATE_CALL, SLICE_DEACTIVATE_CALL, SLICE_APPLY_VERSION_INFO_CALL, SLICE_DISTRIBUTE_CALL,
  SLICE_PERFORM_MAPPING_CALL, SLICE_LAUNCH_CALL, SLICE_MAP_AND_LAUNCH_CALL, SLICE_PACK_TASK_CALL,
  SLICE_UNPACK_TASK_CALL, SLICE_CLONE_AS_SLICE_CALL, SLICE_HANDLE_FUTURE_CALL, SLICE_CLONE_AS_POINT_CALL,
  SLICE_ENUMERATE_POINTS_CALL, SLICE_MAPPED_CALL, SLICE_COMPLETE_CALL, SLICE_COMMIT_CALL,
  REALM_SPAWN_META_CALL, REALM_SPAWN_TASK_CALL, REALM_CREATE_INSTANCE_CALL, REALM_ISSUE_COPY_CALL,
  REALM_ISSUE_FILL_CALL, REGION_TREE_LOGICAL_ANALYSIS_CALL, REGION_TREE_LOGICAL_FENCE_CALL, REGION_TREE_VERSIONING_ANALYSIS_CALL,
  REGION_TREE_ADVANCE_VERSION_NUMBERS_CALL, REGION_TREE_INITIALIZE_CONTEXT_CALL, REGION_TREE_INVALIDATE_CONTEXT_CALL, REGION_TREE_PREMAP_ONLY_CALL,
  REGION_TREE_PHYSICAL_REGISTER_ONLY_CALL, REGION_TREE_PHYSICAL_REGISTER_USERS_CALL, REGION_TREE_PHYSICAL_PERFORM_CLOSE_CALL, REGION_TREE_PHYSICAL_CLOSE_CONTEXT_CALL,
  REGION_TREE_PHYSICAL_COPY_ACROSS_CALL, REGION_TREE_PHYSICAL_REDUCE_ACROSS_CALL, REGION_TREE_PHYSICAL_CONVERT_MAPPING_CALL, REGION_TREE_PHYSICAL_FILL_FIELDS_CALL,
  REGION_TREE_PHYSICAL_ATTACH_EXTERNAL_CALL, REGION_TREE_PHYSICAL_DETACH_EXTERNAL_CALL, REGION_NODE_REGISTER_LOGICAL_USER_CALL, REGION_NODE_CLOSE_LOGICAL_NODE_CALL,
  REGION_NODE_SIPHON_LOGICAL_CHILDREN_CALL, REGION_NODE_SIPHON_LOGICAL_PROJECTION_CALL, REGION_NODE_PERFORM_LOGICAL_CLOSES_CALL, REGION_NODE_FIND_VALID_INSTANCE_VIEWS_CALL,
  REGION_NODE_FIND_VALID_REDUCTION_VIEWS_CALL, REGION_NODE_ISSUE_UPDATE_COPIES_CALL, REGION_NODE_SORT_COPY_INSTANCES_CALL, REGION_NODE_ISSUE_GROUPED_COPIES_CALL,
  REGION_NODE_ISSUE_UPDATE_REDUCTIONS_CALL, REGION_NODE_PREMAP_REGION_CALL, REGION_NODE_REGISTER_REGION_CALL, REGION_NODE_CLOSE_STATE_CALL,
  CURRENT_STATE_RECORD_VERSION_NUMBERS_CALL, CURRENT_STATE_ADVANCE_VERSION_NUMBERS_CALL, PHYSICAL_STATE_CAPTURE_STATE_CALL, PHYSICAL_STATE_APPLY_PATH_ONLY_CALL,
  PHYSICAL_STATE_APPLY_STATE_CALL, PHYSICAL_STATE_MAKE_LOCAL_CALL, MATERIALIZED_VIEW_FIND_LOCAL_PRECONDITIONS_CALL, MATERIALIZED_VIEW_FIND_LOCAL_COPY_PRECONDITIONS_CALL,
  MATERIALIZED_VIEW_FILTER_PREVIOUS_USERS_CALL, MATERIALIZED_VIEW_FILTER_CURRENT_USERS_CALL, MATERIALIZED_VIEW_FILTER_LOCAL_USERS_CALL, REDUCTION_VIEW_PERFORM_REDUCTION_CALL,
  REDUCTION_VIEW_PERFORM_DEFERRED_REDUCTION_CALL, REDUCTION_VIEW_PERFORM_DEFERRED_REDUCTION_ACROSS_CALL, REDUCTION_VIEW_FIND_COPY_PRECONDITIONS_CALL, REDUCTION_VIEW_FIND_USER_PRECONDITIONS_CALL,
  REDUCTION_VIEW_FILTER_LOCAL_USERS_CALL, PHYSICAL_TRACE_EXECUTE_CALL, PHYSICAL_TRACE_PRECONDITION_CHECK_CALL, PHYSICAL_TRACE_OPTIMIZE_CALL,
  LAST_RUNTIME_CALL_KIND
}
 
enum  SemanticInfoKind {
  INDEX_SPACE_SEMANTIC, INDEX_PARTITION_SEMANTIC, FIELD_SPACE_SEMANTIC, FIELD_SEMANTIC,
  LOGICAL_REGION_SEMANTIC, LOGICAL_PARTITION_SEMANTIC, TASK_SEMANTIC
}
 
enum  RegistrationCallbackMode { NO_REGISTRATION_CALLBACK = 0, LOCAL_REGISTRATION_CALLBACK = 1, GLOBAL_REGISTRATION_CALLBACK = 2 }
 

Variables

__thread TaskContext * Legion::Internal::implicit_context
 
__thread Runtime * Legion::Internal::implicit_runtime
 
__thread AutoLock * Legion::Internal::local_lock_list
 
__thread::legion_unique_id_t Legion::Internal::implicit_provenance
 
__thread unsigned Legion::Internal::inside_registration_callback
 
__thread ImplicitReferenceTracker * Legion::Internal::implicit_reference_tracker
 
const LegionColor Legion::Internal::INVALID_COLOR = LLONG_MAX
 

Macro Definition Documentation

#define LEGION_EXTERN_LOGGER_DECLARATIONS
Value:
extern Realm::Logger log_run; \
extern Realm::Logger log_task; \
extern Realm::Logger log_index; \
extern Realm::Logger log_field; \
extern Realm::Logger log_region; \
extern Realm::Logger log_inst; \
extern Realm::Logger log_variant; \
extern Realm::Logger log_allocation; \
extern Realm::Logger log_migration; \
extern Realm::Logger log_prof; \
extern Realm::Logger log_garbage; \
extern Realm::Logger log_spy; \
extern Realm::Logger log_shutdown; \
extern Realm::Logger log_tracing;