Legion Runtime
Loading...
Searching...
No Matches
Macros | Typedefs | Enumerations
config.h File Reference
#include "legion_defines.h"
#include <limits.h>
#include "realm/realm_c.h"

Go to the source code of this file.

Macros

#define __LEGION_CUDA_HD__
 
#define LEGION_AUTO_GENERATE_ID   UINT_MAX
 
#define AUTO_GENERATE_ID   LEGION_AUTO_GENERATE_ID
 
#define LEGION_GC_MIN_PRIORITY   INT_MIN
 
#define GC_MIN_PRIORITY   LEGION_GC_MIN_PRIORITY
 
#define LEGION_GC_MAX_PRIORITY   (INT_MAX - 1)
 
#define GC_MAX_PRIORITY   LEGION_GC_MAX_PRIORITY
 
#define LEGION_GC_NEVER_PRIORITY   LEGION_GC_MIN_PRIORITY
 
#define LEGION_GC_EAGER_PRIORITY   INT_MAX
 
#define GC_NEVER_PRIORITY   LEGION_GC_NEVER_PRIORITY
 
#define LEGION_GC_FIRST_PRIORITY   LEGION_GC_MAX_PRIORITY
 
#define LEGION_GC_DEFAULT_PRIORITY   0
 
#define LEGION_GC_LAST_PRIORITY   (LEGION_GC_MIN_PRIORITY + 1)
 
#define GC_FIRST_PRIORITY   LEGION_GC_FIRST_PRIORITY
 
#define GC_DEFAULT_PRIORITY   LEGION_GC_DEFAULT_PRIORITY
 
#define GC_LAST_PRIORITY   LEGION_GC_LAST_PRIORITY
 
#define LEGION_MAX_DIM   3
 
#define LEGION_MAX_RETURN_SIZE   2048
 
#define LEGION_MAX_FIELDS   256
 
#define LEGION_MAX_NUM_NODES   1024
 
#define LEGION_MAX_NUM_PROCS   64
 
#define LEGION_MAX_APPLICATION_TASK_ID   (1 << 20)
 
#define LEGION_MAX_APPLICATION_FIELD_ID   (1 << 20)
 
#define LEGION_MAX_APPLICATION_MAPPER_ID   (1 << 20)
 
#define MAX_APPLICATION_REDUCTION_ID   (1 << 20)
 
#define LEGION_MAX_APPLICATION_TRACE_ID   (1 << 20)
 
#define LEGION_MAX_APPLICATION_PROJECTION_ID   (1 << 20)
 
#define LEGION_MAX_APPLICATION_SHARDING_ID   (1 << 20)
 
#define LEGION_MAX_APPLICATION_CONCURRENT_ID   (1 << 20)
 
#define LEGION_MAX_APPLICATION_EXCEPTION_HANDLER_ID   (1 << 20)
 
#define LEGION_MAX_APPLICATION_REDOP_ID    (1 << 20)
 
#define LEGION_MAX_APPLICATION_SERDEZ_ID   (1 << 20)
 
#define LEGION_MAX_APPLICATION_LAYOUT_ID   (1 << 20)
 
#define LEGION_DEFAULT_LOCAL_FIELDS   4
 
#define LEGION_DEFAULT_MAPPER_SLOTS   8
 
#define LEGION_DEFAULT_CONTEXTS   8
 
#define LEGION_DEFAULT_MAX_TASK_WINDOW   1024
 
#define LEGION_DEFAULT_TASK_WINDOW_HYSTERESIS   25
 
#define LEGION_DEFAULT_MIN_TASKS_TO_SCHEDULE   32
 
#define LEGION_DEFAULT_META_TASK_VECTOR_WIDTH   16
 
#define LEGION_DEFAULT_MAX_TEMPLATES_PER_TRACE   16
 
#define LEGION_DEFAULT_MAX_REPLAY_PARALLELISM   2
 
#define LEGION_DEFAULT_MAX_MESSAGE_SIZE   16384
 
#define LEGION_DEFAULT_GC_EPOCH_SIZE   64
 
#define LEGION_DEFAULT_MAX_CONTROL_REPLICATION_CONTEXTS   1
 
#define LEGION_CONTROL_REPLICATION_COMMUNICATION_BARRIERS   32
 
#define LEGION_TRACE_ALLOCATION_FREQUENCY   1024
 
#define LEGION_MAX_ALIGNMENT   (2 * sizeof(void*))
 
#define LEGION_MAX_RECYCLABLE_OBJECTS   1024
 
#define LEGION_INIT_SEED   0x221B
 
#define LEGION_COLLECTIVE_RADIX   8
 
#define LEGION_SHUTDOWN_RADIX   8
 
#define LEGION_MAX_BVH_FANOUT   16
 
#define LEGION_NON_REPLAYABLE_WARNING   5
 
#define LEGION_NEW_TEMPLATE_WARNING_COUNT   8
 
#define LEGION_INITIAL_LIBRARY_ID_OFFSET   (1 << 30)
 
#define LEGION_REFINEMENT_PARTITION_PERCENTAGE   50
 
#define STATIC_LOG2(x)   (LOG2_LOOKUP(uint32_t(x * 0x077CB531U) >> 27))
 
#define LOG2_LOOKUP(x)
 
#define LEGION_FIELD_LOG2   STATIC_LOG2(LEGION_MAX_FIELDS)
 
#define LEGION_STRINGIFY(x)   #x
 
#define LEGION_MACRO_TO_STRING(x)   LEGION_STRINGIFY(x)
 
#define LEGION_DISTRIBUTED_ID_MASK   0x00FFFFFFFFFFFFFFULL
 
#define LEGION_DISTRIBUTED_ID_FILTER(x)   ((x) & LEGION_DISTRIBUTED_ID_MASK)
 
#define LEGION_DISTRIBUTED_HELP_DECODE(x)   ((x) >> 56)
 
#define LEGION_DISTRIBUTED_HELP_ENCODE(x, y)   ((x) | (((long long)(y)) << 56))
 
#define LEGION_DEPRECATED_ENUM(x)   x = LEGION_##x,
 
#define LEGION_DEPRECATED_ENUM_REAL(x)   x,
 
#define LEGION_DEPRECATED_ENUM_FROM(x, y)   x = y,
 
#define LEGION_REDOP_KIND_SUM_VALUE   0
 
#define LEGION_REDOP_KIND_DIFF_VALUE   1
 
#define LEGION_REDOP_KIND_PROD_VALUE   2
 
#define LEGION_REDOP_KIND_DIV_VALUE   3
 
#define LEGION_REDOP_KIND_MAX_VALUE   4
 
#define LEGION_REDOP_KIND_MIN_VALUE   5
 
#define LEGION_REDOP_KIND_OR_VALUE   6
 
#define LEGION_REDOP_KIND_AND_VALUE   7
 
#define LEGION_REDOP_KIND_XOR_VALUE   8
 
#define LEGION_REDOP_KIND_TOTAL_VALUE   9
 
#define LEGION_REDOP_VALUE(kind, type)
 
#define LEGION_MAX_POINT_DIM   (LEGION_MAX_DIM)
 
#define LEGION_MAX_RECT_DIM   (LEGION_MAX_DIM)
 

Typedefs

typedef enum legion_privilege_mode_t legion_privilege_mode_t
 
typedef enum legion_allocate_mode_t legion_allocate_mode_t
 
typedef enum legion_coherence_property_t legion_coherence_property_t
 
typedef enum legion_region_flags_t legion_region_flags_t
 
typedef enum legion_projection_type_t legion_projection_type_t
 
typedef legion_projection_type_t legion_handle_type_t
 
typedef enum legion_partition_kind_t legion_partition_kind_t
 
typedef enum legion_external_resource_t legion_external_resource_t
 
typedef enum legion_timing_measurement_t legion_timing_measurement_t
 
typedef enum legion_dependence_type_t legion_dependence_type_t
 
typedef enum legion_mappable_type_id_t legion_mappable_type_id
 
typedef enum legion_type_id_t legion_type_id_t
 
typedef enum legion_redop_kind_t legion_redop_kind_t
 
typedef enum legion_builtin_redop_t legion_builtin_redop_t
 
typedef enum legion_execution_constraint_t legion_execution_constraint_t
 
typedef enum legion_layout_constraint_t legion_layout_constraint_t
 
typedef enum legion_equality_kind_t legion_equality_kind_t
 
typedef enum legion_dimension_kind_t legion_dimension_kind_t
 
typedef enum legion_isa_kind_t legion_isa_kind_t
 
typedef enum legion_resource_constraint_t legion_resource_constraint_t
 
typedef enum legion_launch_constraint_t legion_launch_constraint_t
 
typedef enum legion_specialized_constraint_t legion_specialized_constraint_t
 
typedef enum legion_domain_max_rect_dim_t legion_domain_max_rect_dim_t
 
typedef enum legion_unbound_pool_scope_t legion_unbounded_pool_scope_t
 
typedef realm_processor_kind_t legion_processor_kind_t
 
typedef realm_memory_kind_t legion_memory_kind_t
 
typedef realm_reduction_op_id_t legion_reduction_op_id_t
 
typedef realm_custom_serdez_id_t legion_custom_serdez_id_t
 
typedef realm_address_space_t legion_address_space_t
 
typedef realm_file_mode_t legion_file_mode_t
 
typedef realm_id_t legion_proc_id_t
 
typedef realm_id_t legion_memory_id_t
 
typedef int legion_task_priority_t
 
typedef int legion_garbage_collection_priority_t
 
typedef long long legion_coord_t
 
typedef unsigned int legion_color_t
 
typedef unsigned int legion_field_id_t
 
typedef unsigned int legion_trace_id_t
 
typedef unsigned int legion_mapper_id_t
 
typedef unsigned int legion_context_id_t
 
typedef unsigned int legion_instance_id_t
 
typedef unsigned int legion_type_tag_t
 
typedef unsigned int legion_index_tree_id_t
 
typedef unsigned int legion_generation_id_t
 
typedef unsigned int legion_type_handle
 
typedef unsigned int legion_projection_id_t
 
typedef unsigned int legion_sharding_id_t
 
typedef unsigned int legion_concurrent_id_t
 
typedef unsigned int legion_exception_handler_id_t
 
typedef unsigned int legion_tunable_id_t
 
typedef unsigned int legion_local_variable_id_t
 
typedef unsigned int legion_shard_id_t
 
typedef unsigned int legion_variant_id_t
 
typedef unsigned long long legion_distributed_id_t
 
typedef unsigned long legion_mapping_tag_id_t
 
typedef unsigned long legion_code_descriptor_id_t
 
typedef unsigned long legion_semantic_tag_t
 
typedef unsigned long long legion_unique_id_t
 
typedef unsigned long long legion_version_id_t
 
typedef unsigned long long legion_projection_epoch_id_t
 
typedef unsigned long long legion_provenance_id_t
 
typedef realm_task_func_id_t legion_task_id_t
 
typedef unsigned long legion_layout_constraint_id_t
 
typedef long long legion_internal_color_t
 
typedef legion_distributed_id_t legion_region_tree_id_t
 

Enumerations

enum  legion_privilege_mode_t {
  LEGION_NO_ACCESS = 0x00000000 , LEGION_READ_PRIV = 0x00000001 , LEGION_READ_ONLY = 0x00000001 , LEGION_WRITE_PRIV = 0x00000002 ,
  LEGION_REDUCE_PRIV = 0x00000004 , LEGION_REDUCE = 0x00000004 , LEGION_READ_WRITE = 0x00000007 , LEGION_DISCARD_MASK = 0x10000000 ,
  LEGION_DISCARD_INPUT_MASK = 0x10000000 , LEGION_DISCARD_OUTPUT_MASK = 0x20000000 , LEGION_WRITE_ONLY = 0x10000002 , LEGION_WRITE_DISCARD = 0x10000007 ,
  LEGION_READ_DISCARD = 0x20000001
}
 
enum  legion_allocate_mode_t {
  LEGION_NO_MEMORY = 0x00000000 , LEGION_ALLOCABLE = 0x00000001 , LEGION_FREEABLE = 0x00000002 , LEGION_MUTABLE = 0x00000003 ,
  LEGION_REGION_CREATION = 0x00000004 , LEGION_REGION_DELETION = 0x00000008 , LEGION_ALL_MEMORY = 0x0000000F
}
 
enum  legion_coherence_property_t {
  LEGION_EXCLUSIVE = 0x00000000 , LEGION_ATOMIC = 0x00000001 , LEGION_SIMULTANEOUS = 0x00000002 , LEGION_RELAXED = 0x00000003 ,
  LEGION_COLLECTIVE_MASK = 0x10000000 , LEGION_COLLECTIVE_EXCLUSIVE , LEGION_COLLECTIVE_ATOMIC , LEGION_COLLECTIVE_SIMULTANEOUS ,
  LEGION_COLLECTIVE_RELAXED
}
 
enum  legion_region_flags_t {
  LEGION_NO_FLAG = 0x00000000 , LEGION_VERIFIED_FLAG = 0x00000001 , LEGION_NO_ACCESS_FLAG = 0x00000002 , LEGION_RESTRICTED_FLAG = 0x00000004 ,
  LEGION_MUST_PREMAP_FLAG = 0x00000008 , LEGION_COMPLETE_PROJECTION_WRITE_FLAG = 0x00000010 , LEGION_CREATED_OUTPUT_REQUIREMENT_FLAG = 0x00000020 , LEGION_SUPPRESS_WARNINGS_FLAG = 0x00000040
}
 
enum  legion_projection_type_t { LEGION_SINGULAR_PROJECTION , LEGION_PARTITION_PROJECTION , LEGION_REGION_PROJECTION }
 
enum  legion_partition_kind_t {
  LEGION_DISJOINT_KIND , LEGION_ALIASED_KIND , LEGION_COMPUTE_KIND , LEGION_DISJOINT_COMPLETE_KIND ,
  LEGION_ALIASED_COMPLETE_KIND , LEGION_COMPUTE_COMPLETE_KIND , LEGION_DISJOINT_INCOMPLETE_KIND , LEGION_ALIASED_INCOMPLETE_KIND ,
  LEGION_COMPUTE_INCOMPLETE_KIND
}
 
enum  legion_external_resource_t { LEGION_EXTERNAL_POSIX_FILE , LEGION_EXTERNAL_HDF5_FILE , LEGION_EXTERNAL_INSTANCE }
 
enum  legion_timing_measurement_t { LEGION_MEASURE_SECONDS , LEGION_MEASURE_MICRO_SECONDS , LEGION_MEASURE_NANO_SECONDS }
 
enum  legion_dependence_type_t {
  LEGION_NO_DEPENDENCE = 0 , LEGION_TRUE_DEPENDENCE = 1 , LEGION_ANTI_DEPENDENCE = 2 , LEGION_ATOMIC_DEPENDENCE = 3 ,
  LEGION_SIMULTANEOUS_DEPENDENCE = 4
}
 
enum  { LEGION_NAME_SEMANTIC_TAG = 0 , LEGION_SOURCE_FILE_TAG = 1 , LEGION_SOURCE_LINE_TAG = 2 , LEGION_FIRST_AVAILABLE_SEMANTIC_TAG = 3 }
 
enum  legion_mappable_type_id_t {
  LEGION_TASK_MAPPABLE = 0 , LEGION_COPY_MAPPABLE = 1 , LEGION_INLINE_MAPPABLE = 2 , LEGION_ACQUIRE_MAPPABLE = 3 ,
  LEGION_RELEASE_MAPPABLE = 4 , LEGION_CLOSE_MAPPABLE = 5 , LEGION_FILL_MAPPABLE = 6 , LEGION_PARTITION_MAPPABLE = 7 ,
  LEGION_MUST_EPOCH_MAPPABLE = 9
}
 
enum  legion_type_id_t {
  LEGION_TYPE_BOOL = 0 , LEGION_TYPE_INT8 = 1 , LEGION_TYPE_INT16 = 2 , LEGION_TYPE_INT32 = 3 ,
  LEGION_TYPE_INT64 = 4 , LEGION_TYPE_UINT8 = 5 , LEGION_TYPE_UINT16 = 6 , LEGION_TYPE_UINT32 = 7 ,
  LEGION_TYPE_UINT64 = 8 , LEGION_TYPE_FLOAT16 = 9 , LEGION_TYPE_FLOAT32 = 10 , LEGION_TYPE_FLOAT64 = 11 ,
  LEGION_TYPE_COMPLEX32 = 12 , LEGION_TYPE_COMPLEX64 = 13 , LEGION_TYPE_COMPLEX128 = 14 , LEGION_TYPE_TOTAL = 15
}
 
enum  legion_redop_kind_t {
  LEGION_REDOP_KIND_SUM = LEGION_REDOP_KIND_SUM_VALUE , LEGION_REDOP_KIND_DIFF = LEGION_REDOP_KIND_DIFF_VALUE , LEGION_REDOP_KIND_PROD = LEGION_REDOP_KIND_PROD_VALUE , LEGION_REDOP_KIND_DIV = LEGION_REDOP_KIND_DIV_VALUE ,
  LEGION_REDOP_KIND_MAX = LEGION_REDOP_KIND_MAX_VALUE , LEGION_REDOP_KIND_MIN = LEGION_REDOP_KIND_MIN_VALUE , LEGION_REDOP_KIND_OR = LEGION_REDOP_KIND_OR_VALUE , LEGION_REDOP_KIND_AND = LEGION_REDOP_KIND_AND_VALUE ,
  LEGION_REDOP_KIND_XOR = LEGION_REDOP_KIND_XOR_VALUE , LEGION_REDOP_KIND_TOTAL = LEGION_REDOP_KIND_TOTAL_VALUE
}
 
enum  legion_builtin_redop_t {
  LEGION_REDOP_BASE = LEGION_MAX_APPLICATION_REDOP_ID + 1 , LEGION_REDOP_OR_BOOL = LEGION_REDOP_VALUE(SUM, BOOL) , LEGION_REDOP_SUM_INT8 = LEGION_REDOP_VALUE(SUM, INT8) , LEGION_REDOP_SUM_INT16 = LEGION_REDOP_VALUE(SUM, INT16) ,
  LEGION_REDOP_SUM_INT32 = LEGION_REDOP_VALUE(SUM, INT32) , LEGION_REDOP_SUM_INT64 = LEGION_REDOP_VALUE(SUM, INT64) , LEGION_REDOP_SUM_UINT8 = LEGION_REDOP_VALUE(SUM, UINT8) , LEGION_REDOP_SUM_UINT16 = LEGION_REDOP_VALUE(SUM, UINT16) ,
  LEGION_REDOP_SUM_UINT32 = LEGION_REDOP_VALUE(SUM, UINT32) , LEGION_REDOP_SUM_UINT64 = LEGION_REDOP_VALUE(SUM, UINT64) , LEGION_REDOP_SUM_FLOAT32 = LEGION_REDOP_VALUE(SUM, FLOAT32) , LEGION_REDOP_SUM_FLOAT64 = LEGION_REDOP_VALUE(SUM, FLOAT64) ,
  LEGION_REDOP_DIFF_INT8 = LEGION_REDOP_VALUE(DIFF, INT8) , LEGION_REDOP_DIFF_INT16 = LEGION_REDOP_VALUE(DIFF, INT16) , LEGION_REDOP_DIFF_INT32 = LEGION_REDOP_VALUE(DIFF, INT32) , LEGION_REDOP_DIFF_INT64 = LEGION_REDOP_VALUE(DIFF, INT64) ,
  LEGION_REDOP_DIFF_UINT8 = LEGION_REDOP_VALUE(DIFF, UINT8) , LEGION_REDOP_DIFF_UINT16 = LEGION_REDOP_VALUE(DIFF, UINT16) , LEGION_REDOP_DIFF_UINT32 = LEGION_REDOP_VALUE(DIFF, UINT32) , LEGION_REDOP_DIFF_UINT64 = LEGION_REDOP_VALUE(DIFF, UINT64) ,
  LEGION_REDOP_DIFF_FLOAT32 = LEGION_REDOP_VALUE(DIFF, FLOAT32) , LEGION_REDOP_DIFF_FLOAT64 = LEGION_REDOP_VALUE(DIFF, FLOAT64) , LEGION_REDOP_AND_BOOL = LEGION_REDOP_VALUE(PROD, BOOL) , LEGION_REDOP_PROD_INT8 = LEGION_REDOP_VALUE(PROD, INT8) ,
  LEGION_REDOP_PROD_INT16 = LEGION_REDOP_VALUE(PROD, INT16) , LEGION_REDOP_PROD_INT32 = LEGION_REDOP_VALUE(PROD, INT32) , LEGION_REDOP_PROD_INT64 = LEGION_REDOP_VALUE(PROD, INT64) , LEGION_REDOP_PROD_UINT8 = LEGION_REDOP_VALUE(PROD, UINT8) ,
  LEGION_REDOP_PROD_UINT16 = LEGION_REDOP_VALUE(PROD, UINT16) , LEGION_REDOP_PROD_UINT32 = LEGION_REDOP_VALUE(PROD, UINT32) , LEGION_REDOP_PROD_UINT64 = LEGION_REDOP_VALUE(PROD, UINT64) , LEGION_REDOP_PROD_FLOAT32 = LEGION_REDOP_VALUE(PROD, FLOAT32) ,
  LEGION_REDOP_PROD_FLOAT64 = LEGION_REDOP_VALUE(PROD, FLOAT64) , LEGION_REDOP_DIV_INT8 = LEGION_REDOP_VALUE(DIV, INT8) , LEGION_REDOP_DIV_INT16 = LEGION_REDOP_VALUE(DIV, INT16) , LEGION_REDOP_DIV_INT32 = LEGION_REDOP_VALUE(DIV, INT32) ,
  LEGION_REDOP_DIV_INT64 = LEGION_REDOP_VALUE(DIV, INT64) , LEGION_REDOP_DIV_UINT8 = LEGION_REDOP_VALUE(DIV, UINT8) , LEGION_REDOP_DIV_UINT16 = LEGION_REDOP_VALUE(DIV, UINT16) , LEGION_REDOP_DIV_UINT32 = LEGION_REDOP_VALUE(DIV, UINT32) ,
  LEGION_REDOP_DIV_UINT64 = LEGION_REDOP_VALUE(DIV, UINT64) , LEGION_REDOP_DIV_FLOAT32 = LEGION_REDOP_VALUE(DIV, FLOAT32) , LEGION_REDOP_DIV_FLOAT64 = LEGION_REDOP_VALUE(DIV, FLOAT64) , LEGION_REDOP_MAX_BOOL = LEGION_REDOP_VALUE(MAX, BOOL) ,
  LEGION_REDOP_MAX_INT8 = LEGION_REDOP_VALUE(MAX, INT8) , LEGION_REDOP_MAX_INT16 = LEGION_REDOP_VALUE(MAX, INT16) , LEGION_REDOP_MAX_INT32 = LEGION_REDOP_VALUE(MAX, INT32) , LEGION_REDOP_MAX_INT64 = LEGION_REDOP_VALUE(MAX, INT64) ,
  LEGION_REDOP_MAX_UINT8 = LEGION_REDOP_VALUE(MAX, UINT8) , LEGION_REDOP_MAX_UINT16 = LEGION_REDOP_VALUE(MAX, UINT16) , LEGION_REDOP_MAX_UINT32 = LEGION_REDOP_VALUE(MAX, UINT32) , LEGION_REDOP_MAX_UINT64 = LEGION_REDOP_VALUE(MAX, UINT64) ,
  LEGION_REDOP_MAX_FLOAT32 = LEGION_REDOP_VALUE(MAX, FLOAT32) , LEGION_REDOP_MAX_FLOAT64 = LEGION_REDOP_VALUE(MAX, FLOAT64) , LEGION_REDOP_MIN_BOOL = LEGION_REDOP_VALUE(MIN, BOOL) , LEGION_REDOP_MIN_INT8 = LEGION_REDOP_VALUE(MIN, INT8) ,
  LEGION_REDOP_MIN_INT16 = LEGION_REDOP_VALUE(MIN, INT16) , LEGION_REDOP_MIN_INT32 = LEGION_REDOP_VALUE(MIN, INT32) , LEGION_REDOP_MIN_INT64 = LEGION_REDOP_VALUE(MIN, INT64) , LEGION_REDOP_MIN_UINT8 = LEGION_REDOP_VALUE(MIN, UINT8) ,
  LEGION_REDOP_MIN_UINT16 = LEGION_REDOP_VALUE(MIN, UINT16) , LEGION_REDOP_MIN_UINT32 = LEGION_REDOP_VALUE(MIN, UINT32) , LEGION_REDOP_MIN_UINT64 = LEGION_REDOP_VALUE(MIN, UINT64) , LEGION_REDOP_MIN_FLOAT32 = LEGION_REDOP_VALUE(MIN, FLOAT32) ,
  LEGION_REDOP_MIN_FLOAT64 = LEGION_REDOP_VALUE(MIN, FLOAT64) , LEGION_REDOP_OR_INT8 = LEGION_REDOP_VALUE(OR, INT8) , LEGION_REDOP_OR_INT16 = LEGION_REDOP_VALUE(OR, INT16) , LEGION_REDOP_OR_INT32 = LEGION_REDOP_VALUE(OR, INT32) ,
  LEGION_REDOP_OR_INT64 = LEGION_REDOP_VALUE(OR, INT64) , LEGION_REDOP_OR_UINT8 = LEGION_REDOP_VALUE(OR, UINT8) , LEGION_REDOP_OR_UINT16 = LEGION_REDOP_VALUE(OR, UINT16) , LEGION_REDOP_OR_UINT32 = LEGION_REDOP_VALUE(OR, UINT32) ,
  LEGION_REDOP_OR_UINT64 = LEGION_REDOP_VALUE(OR, UINT64) , LEGION_REDOP_AND_INT8 = LEGION_REDOP_VALUE(AND, INT8) , LEGION_REDOP_AND_INT16 = LEGION_REDOP_VALUE(AND, INT16) , LEGION_REDOP_AND_INT32 = LEGION_REDOP_VALUE(AND, INT32) ,
  LEGION_REDOP_AND_INT64 = LEGION_REDOP_VALUE(AND, INT64) , LEGION_REDOP_AND_UINT8 = LEGION_REDOP_VALUE(AND, UINT8) , LEGION_REDOP_AND_UINT16 = LEGION_REDOP_VALUE(AND, UINT16) , LEGION_REDOP_AND_UINT32 = LEGION_REDOP_VALUE(AND, UINT32) ,
  LEGION_REDOP_AND_UINT64 = LEGION_REDOP_VALUE(AND, UINT64) , LEGION_REDOP_XOR_BOOL = LEGION_REDOP_VALUE(XOR, BOOL) , LEGION_REDOP_XOR_INT8 = LEGION_REDOP_VALUE(XOR, INT8) , LEGION_REDOP_XOR_INT16 = LEGION_REDOP_VALUE(XOR, INT16) ,
  LEGION_REDOP_XOR_INT32 = LEGION_REDOP_VALUE(XOR, INT32) , LEGION_REDOP_XOR_INT64 = LEGION_REDOP_VALUE(XOR, INT64) , LEGION_REDOP_XOR_UINT8 = LEGION_REDOP_VALUE(XOR, UINT8) , LEGION_REDOP_XOR_UINT16 = LEGION_REDOP_VALUE(XOR, UINT16) ,
  LEGION_REDOP_XOR_UINT32 = LEGION_REDOP_VALUE(XOR, UINT32) , LEGION_REDOP_XOR_UINT64 = LEGION_REDOP_VALUE(XOR, UINT64) , LEGION_REDOP_LAST
}
 
enum  legion_execution_constraint_t {
  LEGION_ISA_CONSTRAINT = 0 , LEGION_PROCESSOR_CONSTRAINT = 1 , LEGION_RESOURCE_CONSTRAINT = 2 , LEGION_LAUNCH_CONSTRAINT = 3 ,
  LEGION_COLOCATION_CONSTRAINT = 4
}
 
enum  legion_layout_constraint_t {
  LEGION_SPECIALIZED_CONSTRAINT , LEGION_MEMORY_CONSTRAINT = 1 , LEGION_FIELD_CONSTRAINT = 2 , LEGION_ORDERING_CONSTRAINT = 3 ,
  LEGION_TILING_CONSTRAINT = 4 , LEGION_DIMENSION_CONSTRAINT = 5 , LEGION_ALIGNMENT_CONSTRAINT = 6 , LEGION_OFFSET_CONSTRAINT = 7 ,
  LEGION_POINTER_CONSTRAINT = 8 , LEGION_PADDING_CONSTRAINT = 9
}
 
enum  legion_equality_kind_t {
  LEGION_LT_EK = 0 , LEGION_LE_EK = 1 , LEGION_GT_EK = 2 , LEGION_GE_EK = 3 ,
  LEGION_EQ_EK = 4 , LEGION_NE_EK = 5
}
 
enum  legion_dimension_kind_t {
  LEGION_DIM_X = 0 , LEGION_DIM_Y = 1 , LEGION_DIM_Z = 2 , LEGION_DIM_W = 3 ,
  LEGION_DIM_V = 4 , LEGION_DIM_U = 5 , LEGION_DIM_T = 6 , LEGION_DIM_S = 7 ,
  LEGION_DIM_R = 8 , LEGION_DIM_F = 9 , LEGION_DIM_0 = LEGION_DIM_X , LEGION_DIM_1 = LEGION_DIM_Y ,
  LEGION_DIM_2 = LEGION_DIM_Z , LEGION_DIM_3 = LEGION_DIM_W , LEGION_DIM_4 = LEGION_DIM_V , LEGION_DIM_5 = LEGION_DIM_U ,
  LEGION_DIM_6 = LEGION_DIM_T , LEGION_DIM_7 = LEGION_DIM_S , LEGION_DIM_8 = LEGION_DIM_R
}
 
enum  legion_isa_kind_t {
  LEGION_X86_ISA = 0x00000001 , LEGION_ARM_ISA = 0x00000002 , LEGION_PPC_ISA = 0x00000004 , LEGION_PTX_ISA = 0x00000008 ,
  LEGION_CUDA_ISA = 0x00000010 , LEGION_LUA_ISA = 0x00000020 , LEGION_TERRA_ISA = 0x00000040 , LEGION_LLVM_ISA = 0x00000080 ,
  LEGION_GL_ISA = 0x00000100 , LEGION_SSE_ISA = 0x00000200 , LEGION_SSE2_ISA = 0x00000400 , LEGION_SSE3_ISA = 0x00000800 ,
  LEGION_SSE4_ISA = 0x00001000 , LEGION_AVX_ISA = 0x00002000 , LEGION_AVX2_ISA = 0x00004000 , LEGION_FMA_ISA = 0x00008000 ,
  LEGION_VSX_ISA = 0x00010000 , LEGION_SM_10_ISA = 0x00020000 , LEGION_SM_20_ISA = 0x00040000 , LEGION_SM_30_ISA = 0x00080000 ,
  LEGION_SM_35_ISA = 0x00100000 , LEGION_NEON_ISA = 0x00200000
}
 
enum  legion_resource_constraint_t {
  LEGION_L1_CACHE_SIZE = 0 , LEGION_L2_CACHE_SIZE = 1 , LEGION_L3_CACHE_SIZE = 2 , LEGION_L1_CACHE_ASSOCIATIVITY = 3 ,
  LEGION_L2_CACHE_ASSOCIATIVITY = 4 , LEGION_L3_CACHE_ASSOCIATIVITY = 5 , LEGION_REGISTER_FILE_SIZE = 6 , LEGION_SHARED_MEMORY_SIZE = 7 ,
  LEGION_TEXTURE_CACHE_SIZE = 8 , LEGION_CONSTANT_CACHE_SIZE = 9 , LEGION_NAMED_BARRIERS = 10 , LEGION_SM_COUNT = 11 ,
  LEGION_MAX_OCCUPANCY = 12
}
 
enum  legion_launch_constraint_t {
  LEGION_CTA_SHAPE = 0 , LEGION_GRID_SHAPE = 1 , LEGION_DYNAMIC_SHARED_MEMORY = 2 , LEGION_REGISTERS_PER_THREAD = 3 ,
  LEGION_CTAS_PER_SM = 4 , LEGION_NAMED_BARRIERS_PER_CTA = 5
}
 
enum  legion_specialized_constraint_t {
  LEGION_NO_SPECIALIZE = 0 , LEGION_AFFINE_SPECIALIZE = 1 , LEGION_COMPACT_SPECIALIZE = 2 , LEGION_AFFINE_REDUCTION_SPECIALIZE = 3 ,
  LEGION_COMPACT_REDUCTION_SPECIALIZE = 4 , LEGION_VIRTUAL_SPECIALIZE = 5 , LEGION_GENERIC_FILE_SPECIALIZE , LEGION_HDF5_FILE_SPECIALIZE
}
 
enum  legion_domain_max_rect_dim_t
 
enum  legion_unbound_pool_scope_t { LEGION_BOUNDED_POOL , LEGION_STRICT_UNBOUNDED_POOL , LEGION_INDEX_TASK_UNBOUNDED_POOL , LEGION_PERMISSIVE_UNBOUNDED_POOL }
 

Macro Definition Documentation

◆ LEGION_REDOP_VALUE

#define LEGION_REDOP_VALUE (   kind,
  type 
)
Value:
(LEGION_REDOP_BASE + \
((int)LEGION_REDOP_KIND_##kind * (int)LEGION_TYPE_TOTAL) + \
(int)LEGION_TYPE_##type)