17 #ifndef __LEGION_C_H__
18 #define __LEGION_C_H__
34 #ifndef LEGION_USE_PYTHON_CFFI
49 #define NEW_OPAQUE_TYPE(T) typedef struct T { void *impl; } T
50 NEW_OPAQUE_TYPE(legion_runtime_t);
51 NEW_OPAQUE_TYPE(legion_context_t);
52 NEW_OPAQUE_TYPE(legion_domain_point_iterator_t);
53 #define NEW_ITERATOR_TYPE(DIM) \
54 NEW_OPAQUE_TYPE(legion_rect_in_domain_iterator_##DIM##d_t);
55 LEGION_FOREACH_N(NEW_ITERATOR_TYPE);
56 #undef NEW_ITERATOR_TYPE
57 NEW_OPAQUE_TYPE(legion_coloring_t);
58 NEW_OPAQUE_TYPE(legion_domain_coloring_t);
59 NEW_OPAQUE_TYPE(legion_point_coloring_t);
60 NEW_OPAQUE_TYPE(legion_domain_point_coloring_t);
61 NEW_OPAQUE_TYPE(legion_multi_domain_point_coloring_t);
62 NEW_OPAQUE_TYPE(legion_index_space_allocator_t);
63 NEW_OPAQUE_TYPE(legion_field_allocator_t);
64 NEW_OPAQUE_TYPE(legion_argument_map_t);
65 NEW_OPAQUE_TYPE(legion_predicate_t);
66 NEW_OPAQUE_TYPE(legion_future_t);
67 NEW_OPAQUE_TYPE(legion_future_map_t);
68 #define NEW_DEFERRED_BUFFER_TYPE(DIM) \
69 NEW_OPAQUE_TYPE(legion_deferred_buffer_char_##DIM##d_t);
70 LEGION_FOREACH_N(NEW_DEFERRED_BUFFER_TYPE)
71 #undef NEW_DEFERRED_BUFFER_TYPE
72 NEW_OPAQUE_TYPE(legion_task_launcher_t);
73 NEW_OPAQUE_TYPE(legion_index_launcher_t);
74 NEW_OPAQUE_TYPE(legion_inline_launcher_t);
75 NEW_OPAQUE_TYPE(legion_copy_launcher_t);
76 NEW_OPAQUE_TYPE(legion_index_copy_launcher_t);
77 NEW_OPAQUE_TYPE(legion_fill_launcher_t);
78 NEW_OPAQUE_TYPE(legion_index_fill_launcher_t);
79 NEW_OPAQUE_TYPE(legion_discard_launcher_t);
80 NEW_OPAQUE_TYPE(legion_acquire_launcher_t);
81 NEW_OPAQUE_TYPE(legion_release_launcher_t);
82 NEW_OPAQUE_TYPE(legion_attach_launcher_t);
83 NEW_OPAQUE_TYPE(legion_index_attach_launcher_t);
84 NEW_OPAQUE_TYPE(legion_must_epoch_launcher_t);
85 NEW_OPAQUE_TYPE(legion_physical_region_t);
86 NEW_OPAQUE_TYPE(legion_external_resources_t);
87 #define NEW_ACCESSOR_ARRAY_TYPE(DIM) \
88 NEW_OPAQUE_TYPE(legion_accessor_array_##DIM##d_t);
89 LEGION_FOREACH_N(NEW_ACCESSOR_ARRAY_TYPE)
90 #undef NEW_ACCESSOR_ARRAY_TYPE
91 NEW_OPAQUE_TYPE(legion_task_t);
92 NEW_OPAQUE_TYPE(legion_task_mut_t);
93 NEW_OPAQUE_TYPE(legion_copy_t);
94 NEW_OPAQUE_TYPE(legion_fill_t);
95 NEW_OPAQUE_TYPE(legion_inline_t);
96 NEW_OPAQUE_TYPE(legion_mappable_t);
97 NEW_OPAQUE_TYPE(legion_region_requirement_t);
98 NEW_OPAQUE_TYPE(legion_output_requirement_t);
99 NEW_OPAQUE_TYPE(legion_machine_t);
100 NEW_OPAQUE_TYPE(legion_logger_t);
101 NEW_OPAQUE_TYPE(legion_mapper_t);
102 NEW_OPAQUE_TYPE(legion_default_mapper_t);
103 NEW_OPAQUE_TYPE(legion_processor_query_t);
104 NEW_OPAQUE_TYPE(legion_memory_query_t);
105 NEW_OPAQUE_TYPE(legion_machine_query_interface_t);
106 NEW_OPAQUE_TYPE(legion_execution_constraint_set_t);
107 NEW_OPAQUE_TYPE(legion_layout_constraint_set_t);
108 NEW_OPAQUE_TYPE(legion_task_layout_constraint_set_t);
109 NEW_OPAQUE_TYPE(legion_slice_task_output_t);
110 NEW_OPAQUE_TYPE(legion_map_task_input_t);
111 NEW_OPAQUE_TYPE(legion_map_task_output_t);
112 NEW_OPAQUE_TYPE(legion_physical_instance_t);
113 NEW_OPAQUE_TYPE(legion_mapper_runtime_t);
114 NEW_OPAQUE_TYPE(legion_mapper_context_t);
115 NEW_OPAQUE_TYPE(legion_field_map_t);
116 NEW_OPAQUE_TYPE(legion_point_transform_functor_t);
117 #undef NEW_OPAQUE_TYPE
126 typedef legion_coord_t coord_t;
128 #define NEW_POINT_TYPE(DIM) typedef struct legion_point_##DIM##d_t { coord_t x[DIM]; } legion_point_##DIM##d_t;
129 LEGION_FOREACH_N(NEW_POINT_TYPE)
130 #undef NEW_POINT_TYPE
132 #define NEW_RECT_TYPE(DIM) typedef struct legion_rect_##DIM##d_t { legion_point_##DIM##d_t lo, hi; } legion_rect_##DIM##d_t;
133 LEGION_FOREACH_N(NEW_RECT_TYPE)
136 #define NEW_BLOCKIFY_TYPE(DIM) \
137 typedef struct legion_blockify_##DIM##d_t { legion_point_##DIM##d_t block_size; legion_point_##DIM##d_t offset; } legion_blockify_##DIM##d_t;
138 LEGION_FOREACH_N(NEW_BLOCKIFY_TYPE)
139 #undef NEW_BLOCKIFY_TYPE
141 #define NEW_TRANSFORM_TYPE(D1,D2) \
142 typedef struct legion_transform_##D1##x##D2##_t { coord_t trans[D1][D2]; } legion_transform_##D1##x##D2##_t;
143 LEGION_FOREACH_NN(NEW_TRANSFORM_TYPE)
144 #undef NEW_TRANSFORM_TYPE
146 #define NEW_AFFINE_TRANSFORM_TYPE(D1,D2) \
147 typedef struct legion_affine_transform_##D1##x##D2##_t { \
148 legion_transform_##D1##x##D2##_t transform; legion_point_##D1##d_t offset; } \
149 legion_affine_transform_##D1##x##D2##_t;
150 LEGION_FOREACH_NN(NEW_AFFINE_TRANSFORM_TYPE)
151 #undef NEW_AFFINE_TRANSFORM_TYPE
158 legion_type_tag_t is_type;
164 #if LEGION_MAX_DIM == 1
165 #define MAX_DOMAIN_DIM 2
166 #elif LEGION_MAX_DIM == 2
167 #define MAX_DOMAIN_DIM 4
168 #elif LEGION_MAX_DIM == 3
169 #define MAX_DOMAIN_DIM 6
170 #elif LEGION_MAX_DIM == 4
171 #define MAX_DOMAIN_DIM 8
172 #elif LEGION_MAX_DIM == 5
173 #define MAX_DOMAIN_DIM 10
174 #elif LEGION_MAX_DIM == 6
175 #define MAX_DOMAIN_DIM 12
176 #elif LEGION_MAX_DIM == 7
177 #define MAX_DOMAIN_DIM 14
178 #elif LEGION_MAX_DIM == 8
179 #define MAX_DOMAIN_DIM 16
180 #elif LEGION_MAX_DIM == 9
181 #define MAX_DOMAIN_DIM 18
183 #error "Illegal value of LEGION_MAX_DIM"
185 #if MAX_DOMAIN_DIM != 2 * LEGION_MAX_RECT_DIM
186 #error Mismatch in MAX_DOMAIN_DIM
188 coord_t rect_data[MAX_DOMAIN_DIM];
189 #undef MAX_DOMAIN_DIM
197 coord_t point_data[LEGION_MAX_DIM];
209 #if LEGION_MAX_DIM == 1
210 #define MAX_MATRIX_DIM 1
211 #elif LEGION_MAX_DIM == 2
212 #define MAX_MATRIX_DIM 4
213 #elif LEGION_MAX_DIM == 3
214 #define MAX_MATRIX_DIM 9
215 #elif LEGION_MAX_DIM == 4
216 #define MAX_MATRIX_DIM 16
217 #elif LEGION_MAX_DIM == 5
218 #define MAX_MATRIX_DIM 25
219 #elif LEGION_MAX_DIM == 6
220 #define MAX_MATRIX_DIM 36
221 #elif LEGION_MAX_DIM == 7
222 #define MAX_MATRIX_DIM 49
223 #elif LEGION_MAX_DIM == 8
224 #define MAX_MATRIX_DIM 64
225 #elif LEGION_MAX_DIM == 9
226 #define MAX_MATRIX_DIM 81
228 #error "Illegal value of LEGION_MAX_DIM"
230 #if MAX_MATRIX_DIM != LEGION_MAX_POINT_DIM * LEGION_MAX_POINT_DIM
231 #error Mismatch in MAX_MATRIX_DIM
233 coord_t matrix[MAX_MATRIX_DIM];
234 #undef MAX_MATRIX_DIM
249 legion_index_space_id_t id;
250 legion_index_tree_id_t tid;
251 legion_type_tag_t type_tag;
258 legion_index_partition_id_t id;
259 legion_index_tree_id_t tid;
260 legion_type_tag_t type_tag;
267 legion_field_space_id_t id;
274 legion_region_tree_id_t tree_id;
283 legion_region_tree_id_t tree_id;
352 realm_barrier_timestamp_t timestamp;
363 realm_barrier_timestamp_t timestamp;
365 legion_reduction_op_id_t redop;
376 bool valid_instances;
379 legion_task_priority_t parent_priority;
496 legion_context_t ctx,
513 #define FROM_RECT(DIM) \
515 legion_domain_from_rect_##DIM##d(legion_rect_##DIM##d_t r);
529 #define GET_RECT(DIM) \
530 legion_rect_##DIM##d_t \
531 legion_domain_get_rect_##DIM##d(legion_domain_t d);
541 #define GET_BOUNDS(DIM) \
542 legion_rect_##DIM##d_t \
543 legion_domain_get_bounds_##DIM##d(legion_domain_t d);
544 LEGION_FOREACH_N(GET_BOUNDS)
564 legion_domain_transform_identity(
unsigned m,
unsigned n);
566 #define FROM_TRANSFORM(D1,D2) \
567 legion_domain_transform_t \
568 legion_domain_transform_from_##D1##x##D2(legion_transform_##D1##x##D2##_t t);
569 LEGION_FOREACH_NN(FROM_TRANSFORM)
570 #undef FROM_TRANSFORM
573 legion_domain_affine_transform_identity(
unsigned m,
unsigned n);
575 #define FROM_AFFINE(D1,D2) \
576 legion_domain_affine_transform_t \
577 legion_domain_affine_transform_from_##D1##x##D2(legion_affine_transform_##D1##x##D2##_t t);
578 LEGION_FOREACH_NN(FROM_AFFINE)
588 #define FROM_POINT(DIM) \
589 legion_domain_point_t \
590 legion_domain_point_from_point_##DIM##d(legion_point_##DIM##d_t p);
597 #define GET_POINT(DIM) \
598 legion_point_##DIM##d_t \
599 legion_domain_point_get_point_##DIM##d(legion_domain_point_t p);
604 legion_domain_point_origin(
unsigned dim);
624 legion_context_t ctx,
637 legion_domain_point_iterator_t
669 #define ITERATOR_CREATE(DIM) \
670 legion_rect_in_domain_iterator_##DIM##d_t \
671 legion_rect_in_domain_iterator_create_##DIM##d(legion_domain_t handle);
673 #undef ITERATOR_CREATE
680 #define ITERATOR_DESTROY(DIM) \
681 void legion_rect_in_domain_iterator_destroy_##DIM##d( \
682 legion_rect_in_domain_iterator_##DIM##d_t handle);
684 #undef ITERATOR_DESTROY
689 #define ITERATOR_VALID(DIM) \
690 bool legion_rect_in_domain_iterator_valid_##DIM##d( \
691 legion_rect_in_domain_iterator_##DIM##d_t handle);
693 #undef ITERATOR_VALID
698 #define ITERATOR_STEP(DIM) \
699 bool legion_rect_in_domain_iterator_step_##DIM##d( \
700 legion_rect_in_domain_iterator_##DIM##d_t handle);
707 #define ITERATOR_OP(DIM) \
708 legion_rect_##DIM##d_t \
709 legion_rect_in_domain_iterator_get_rect_##DIM##d( \
710 legion_rect_in_domain_iterator_##DIM##d_t handle);
739 legion_color_t color);
746 legion_color_t color,
754 legion_color_t color,
762 legion_color_t color,
770 legion_color_t color,
783 legion_domain_coloring_t
799 legion_color_t color,
817 legion_point_coloring_t
827 legion_point_coloring_t handle);
855 legion_domain_point_coloring_t
865 legion_domain_point_coloring_t handle);
872 legion_domain_point_coloring_t handle,
885 legion_multi_domain_point_coloring_t
895 legion_multi_domain_point_coloring_t handle);
902 legion_multi_domain_point_coloring_t handle,
917 legion_context_t ctx,
918 size_t max_num_elmts);
927 legion_context_t ctx,
937 legion_context_t ctx,
939 legion_future_t future,
940 legion_type_tag_t type_tag);
949 legion_context_t ctx,
960 legion_context_t ctx,
971 legion_context_t ctx,
1015 legion_context_t ctx,
1025 legion_context_t ctx,
1035 legion_context_t ctx,
1045 legion_semantic_tag_t tag,
1055 legion_runtime_t runtime,
1057 legion_semantic_tag_t tag,
1058 const void **result,
1061 bool wait_until_ready );
1078 const char **result);
1100 legion_runtime_t runtime,
1101 legion_context_t ctx,
1103 legion_coloring_t coloring,
1105 legion_color_t part_color );
1115 legion_runtime_t runtime,
1116 legion_context_t ctx,
1119 legion_domain_coloring_t coloring,
1121 legion_color_t part_color );
1131 legion_runtime_t runtime,
1132 legion_context_t ctx,
1135 legion_point_coloring_t coloring,
1136 legion_partition_kind_t part_kind ,
1137 legion_color_t color );
1147 legion_runtime_t runtime,
1148 legion_context_t ctx,
1151 legion_domain_point_coloring_t coloring,
1152 legion_partition_kind_t part_kind ,
1153 legion_color_t color );
1163 legion_runtime_t runtime,
1164 legion_context_t ctx,
1167 legion_multi_domain_point_coloring_t coloring,
1168 legion_partition_kind_t part_kind ,
1169 legion_color_t color );
1177 #define CREATE_BLOCKIFY(DIM) \
1178 legion_index_partition_t \
1179 legion_index_partition_create_blockify_##DIM##d( \
1180 legion_runtime_t runtime, \
1181 legion_context_t ctx, \
1182 legion_index_space_t parent, \
1183 legion_blockify_##DIM##d_t blockify, \
1184 legion_color_t part_color );
1186 #undef CREATE_BLOCKIFY
1195 legion_context_t ctx,
1199 legion_color_t color );
1208 legion_runtime_t runtime,
1209 legion_context_t ctx,
1215 size_t granularity ,
1216 legion_color_t color );
1225 legion_runtime_t runtime,
1226 legion_context_t ctx,
1228 legion_future_map_t future_map,
1230 size_t granularity ,
1231 legion_color_t color );
1240 legion_runtime_t runtime,
1241 legion_context_t ctx,
1246 legion_partition_kind_t part_kind ,
1247 legion_color_t color );
1256 legion_runtime_t runtime,
1257 legion_context_t ctx,
1262 legion_partition_kind_t part_kind ,
1263 legion_color_t color );
1272 legion_runtime_t runtime,
1273 legion_context_t ctx,
1276 legion_partition_kind_t part_kind ,
1277 legion_color_t color ,
1287 legion_runtime_t runtime,
1288 legion_context_t ctx,
1293 legion_partition_kind_t part_kind ,
1294 legion_color_t color );
1303 legion_runtime_t runtime,
1304 legion_context_t ctx,
1308 size_t num_color_domains,
1310 bool perform_intersections ,
1311 legion_partition_kind_t part_kind ,
1312 legion_color_t color );
1321 legion_runtime_t runtime,
1322 legion_context_t ctx,
1324 legion_future_map_t future_map,
1326 bool perform_intersections ,
1327 legion_partition_kind_t part_kind ,
1328 legion_color_t color );
1337 legion_context_t ctx,
1340 legion_field_id_t fid,
1342 legion_color_t color ,
1343 legion_mapper_id_t
id ,
1344 legion_mapping_tag_id_t tag ,
1345 legion_partition_kind_t part_kind ,
1355 legion_runtime_t runtime,
1356 legion_context_t ctx,
1360 legion_field_id_t fid,
1362 legion_partition_kind_t part_kind ,
1363 legion_color_t color ,
1364 legion_mapper_id_t
id ,
1365 legion_mapping_tag_id_t tag ,
1375 legion_runtime_t runtime,
1376 legion_context_t ctx,
1380 legion_field_id_t fid,
1382 legion_partition_kind_t part_kind ,
1383 legion_color_t color ,
1384 legion_mapper_id_t
id ,
1385 legion_mapping_tag_id_t tag ,
1395 legion_runtime_t runtime,
1396 legion_context_t ctx,
1400 legion_field_id_t fid,
1402 legion_partition_kind_t part_kind ,
1403 legion_color_t color ,
1404 legion_mapper_id_t
id ,
1405 legion_mapping_tag_id_t tag ,
1415 legion_runtime_t runtime,
1416 legion_context_t ctx,
1420 legion_field_id_t fid,
1422 legion_partition_kind_t part_kind ,
1423 legion_color_t color ,
1424 legion_mapper_id_t
id ,
1425 legion_mapping_tag_id_t tag ,
1435 legion_runtime_t runtime,
1436 legion_context_t ctx,
1441 legion_partition_kind_t part_kind ,
1442 legion_color_t color );
1451 legion_runtime_t runtime,
1452 legion_context_t ctx,
1455 legion_partition_kind_t part_kind ,
1456 legion_color_t color );
1463 legion_runtime_t runtime,
1464 legion_context_t ctx,
1475 legion_runtime_t runtime,
1476 legion_context_t ctx,
1486 legion_runtime_t runtime,
1487 legion_context_t ctx,
1498 legion_runtime_t runtime,
1499 legion_context_t ctx,
1509 legion_runtime_t runtime,
1510 legion_context_t ctx,
1539 legion_color_t color);
1548 legion_runtime_t runtime,
1557 legion_runtime_t runtime,
1591 legion_context_t ctx,
1601 legion_context_t ctx,
1611 legion_context_t ctx,
1621 legion_runtime_t runtime,
1623 legion_semantic_tag_t tag,
1633 legion_runtime_t runtime,
1635 legion_semantic_tag_t tag,
1636 const void **result,
1639 bool wait_until_ready );
1656 const char **result);
1669 legion_context_t ctx);
1678 legion_context_t ctx,
1679 size_t *field_sizes,
1680 legion_field_id_t *field_ids,
1682 legion_custom_serdez_id_t serdez);
1691 legion_context_t ctx,
1692 legion_future_t *field_sizes,
1693 legion_field_id_t *field_ids,
1695 legion_custom_serdez_id_t serdez);
1710 legion_context_t ctx,
1720 legion_context_t ctx,
1730 legion_context_t ctx,
1739 legion_runtime_t runtime,
1741 legion_semantic_tag_t tag,
1751 legion_runtime_t runtime,
1753 legion_semantic_tag_t tag,
1754 const void **result,
1757 bool wait_until_ready );
1766 legion_context_t ctx,
1777 legion_context_t ctx,
1779 const legion_field_id_t *fields,
1780 size_t fields_size);
1788 legion_field_id_t
id,
1789 legion_semantic_tag_t tag,
1799 legion_runtime_t runtime,
1801 legion_field_id_t
id,
1802 legion_semantic_tag_t tag,
1803 const void **result,
1806 bool wait_until_ready );
1823 const char **result);
1831 legion_field_id_t
id,
1841 legion_field_id_t
id,
1842 const char **result);
1849 legion_context_t ctx,
1851 legion_field_id_t
id);
1864 legion_context_t ctx,
1876 legion_context_t ctx,
1886 legion_context_t ctx,
1896 legion_context_t ctx,
1919 legion_runtime_t runtime,
1927 legion_runtime_t runtime,
1935 legion_runtime_t runtime,
1937 legion_semantic_tag_t tag,
1947 legion_runtime_t runtime,
1949 legion_semantic_tag_t tag,
1950 const void **result,
1953 bool wait_until_ready );
1970 const char **result);
1999 legion_context_t ctx,
2002 legion_region_tree_id_t tid);
2011 legion_context_t ctx,
2021 legion_context_t ctx,
2032 legion_runtime_t runtime,
2043 legion_runtime_t runtime,
2054 legion_runtime_t runtime,
2063 legion_runtime_t runtime,
2074 legion_runtime_t runtime,
2077 legion_region_tree_id_t tid);
2084 legion_runtime_t runtime,
2092 legion_runtime_t runtime,
2094 legion_semantic_tag_t tag,
2104 legion_runtime_t runtime,
2106 legion_semantic_tag_t tag,
2107 const void **result,
2110 bool wait_until_ready );
2127 const char **result);
2136 legion_context_t ctx,
2140 legion_field_id_t* fields);
2149 legion_region_requirement_t
2152 legion_privilege_mode_t priv,
2153 legion_coherence_property_t prop,
2155 legion_mapping_tag_id_t tag ,
2161 legion_region_requirement_t
2164 legion_projection_id_t proj ,
2165 legion_privilege_mode_t priv,
2166 legion_coherence_property_t prop,
2168 legion_mapping_tag_id_t tag ,
2174 legion_region_requirement_t
2177 legion_projection_id_t proj ,
2178 legion_privilege_mode_t priv,
2179 legion_coherence_property_t prop,
2181 legion_mapping_tag_id_t tag ,
2195 legion_field_id_t field,
2196 bool instance_field);
2203 legion_region_flags_t flags);
2228 legion_region_requirement_t handle);
2243 legion_region_requirement_t handle,
2244 legion_field_id_t* fields,
2245 unsigned fields_size);
2256 legion_region_requirement_t handle,
2264 legion_region_requirement_t handle);
2279 legion_region_requirement_t handle,
2280 legion_field_id_t* fields,
2281 unsigned fields_size);
2290 legion_region_requirement_t handle,
2296 legion_privilege_mode_t
2302 legion_coherence_property_t
2308 legion_reduction_op_id_t
2314 legion_mapping_tag_id_t
2320 legion_handle_type_t
2326 legion_projection_id_t
2336 legion_output_requirement_t
2338 legion_field_id_t *fields,
2341 bool global_indexing);
2346 legion_output_requirement_t
2348 legion_region_requirement_t handle);
2361 legion_field_id_t field,
2391 legion_field_allocator_t
2393 legion_context_t ctx,
2415 legion_field_allocator_t allocator,
2417 legion_field_id_t desired_fieldid );
2424 legion_field_allocator_t allocator,
2425 legion_future_t field_size,
2426 legion_field_id_t desired_fieldid );
2433 legion_field_id_t fid);
2440 legion_field_id_t fid,
2448 legion_field_allocator_t allocator,
2450 legion_field_id_t desired_fieldid );
2457 legion_argument_map_t
2465 legion_argument_map_t
2483 legion_future_t future,
2505 legion_context_t ctx,
2521 const legion_predicate_t
2529 const legion_predicate_t
2543 legion_context_t ctx,
2553 legion_context_t ctx,
2561 legion_context_t ctx,
2570 legion_context_t ctx,
2579 legion_context_t ctx,
2589 legion_context_t ctx,
2603 legion_context_t ctx,
2605 legion_reduction_op_id_t redop,
2606 const void *init_value,
2616 legion_context_t ctx,
2624 legion_runtime_t runtime,
2625 legion_context_t ctx,
2634 legion_context_t ctx,
2645 legion_context_t ctx,
2657 legion_context_t ctx,
2667 legion_context_t ctx,
2693 bool take_ownership,
2694 const char *provenance,
2724 bool silence_warnings ,
2725 const char *warning_string );
2812 legion_context_t ctx,
2813 legion_future_map_t handle,
2814 legion_reduction_op_id_t redop,
2816 legion_mapper_id_t map_id,
2817 legion_mapping_tag_id_t tag);
2826 legion_context_t ctx,
2827 legion_future_map_t handle,
2828 legion_reduction_op_id_t redop,
2830 legion_mapper_id_t map_id,
2831 legion_mapping_tag_id_t tag,
2832 const char *provenance,
2833 legion_future_t initial_value);
2842 legion_context_t ctx,
2848 legion_sharding_id_t sid,
2849 bool implicit_sharding);
2858 legion_context_t ctx,
2861 legion_future_t *futures,
2864 legion_sharding_id_t sid,
2865 bool implicit_sharding);
2874 legion_context_t ctx,
2875 legion_future_map_t fm,
2877 legion_point_transform_functor_t functor,
2878 bool take_ownership);
2889 #define BUFFER_CREATE(DIM) \
2890 legion_deferred_buffer_char_##DIM##d_t \
2891 legion_deferred_buffer_char_##DIM##d_create( \
2892 legion_rect_##DIM##d_t bounds, \
2893 legion_memory_kind_t kind, \
2894 char *initial_value);
2896 #undef BUFFER_CREATE
2901 #define BUFFER_PTR(DIM) \
2903 legion_deferred_buffer_char_##DIM##d_ptr( \
2904 legion_deferred_buffer_char_##DIM##d_t buffer, \
2905 legion_point_##DIM##d_t p);
2906 LEGION_FOREACH_N(BUFFER_PTR)
2912 #define BUFFER_DESTROY(DIM) \
2914 legion_deferred_buffer_char_##DIM##d_destroy( \
2915 legion_deferred_buffer_char_##DIM##d_t buffer);
2916 LEGION_FOREACH_N(BUFFER_DESTROY)
2917 #undef BUFFER_DESTROY
2928 legion_task_launcher_t
2930 legion_task_id_t tid,
2932 legion_predicate_t pred ,
2933 legion_mapper_id_t
id ,
2934 legion_mapping_tag_id_t tag );
2941 legion_task_launcher_t
2943 legion_task_id_t tid,
2946 legion_predicate_t pred ,
2947 legion_mapper_id_t
id ,
2948 legion_mapping_tag_id_t tag );
2965 legion_context_t ctx,
2966 legion_task_launcher_t launcher);
2975 legion_context_t ctx,
2976 legion_task_launcher_t launcher,
2977 legion_output_requirement_t *reqs,
2985 legion_task_launcher_t launcher,
2987 legion_privilege_mode_t priv,
2988 legion_coherence_property_t prop,
2990 legion_mapping_tag_id_t tag ,
2998 legion_task_launcher_t launcher,
3000 legion_reduction_op_id_t redop,
3001 legion_coherence_property_t prop,
3003 legion_mapping_tag_id_t tag ,
3011 legion_task_launcher_t launcher,
3014 legion_privilege_mode_t priv,
3015 legion_coherence_property_t prop,
3017 legion_mapping_tag_id_t tag ,
3025 legion_task_launcher_t launcher,
3028 legion_reduction_op_id_t redop,
3029 legion_coherence_property_t prop,
3031 legion_mapping_tag_id_t tag ,
3040 legion_field_id_t fid,
3066 enum legion_region_flags_t flags);
3074 enum legion_region_flags_t flags);
3081 legion_task_launcher_t launcher,
3083 legion_allocate_mode_t priv,
3092 legion_future_t future);
3148 legion_mapper_id_t mapper_id);
3155 legion_mapping_tag_id_t tag);
3169 bool enable_inlining);
3176 bool local_function_task);
3183 bool elide_future_return);
3190 const char *provenance);
3197 legion_index_launcher_t
3199 legion_task_id_t tid,
3202 legion_argument_map_t map,
3203 legion_predicate_t pred ,
3205 legion_mapper_id_t
id ,
3206 legion_mapping_tag_id_t tag );
3213 legion_index_launcher_t
3215 legion_task_id_t tid,
3219 legion_argument_map_t map,
3220 legion_predicate_t pred ,
3222 legion_mapper_id_t
id ,
3223 legion_mapping_tag_id_t tag );
3240 legion_context_t ctx,
3241 legion_index_launcher_t launcher);
3250 legion_context_t ctx,
3251 legion_index_launcher_t launcher,
3252 legion_reduction_op_id_t redop);
3261 legion_context_t ctx,
3262 legion_index_launcher_t launcher,
3263 legion_output_requirement_t *reqs,
3273 legion_context_t ctx,
3274 legion_index_launcher_t launcher,
3275 legion_reduction_op_id_t redop,
3276 bool deterministic);
3285 legion_context_t ctx,
3286 legion_index_launcher_t launcher,
3287 legion_reduction_op_id_t redop,
3289 legion_output_requirement_t *reqs,
3297 legion_index_launcher_t launcher,
3299 legion_projection_id_t proj ,
3300 legion_privilege_mode_t priv,
3301 legion_coherence_property_t prop,
3303 legion_mapping_tag_id_t tag ,
3311 legion_index_launcher_t launcher,
3313 legion_projection_id_t proj ,
3314 legion_privilege_mode_t priv,
3315 legion_coherence_property_t prop,
3317 legion_mapping_tag_id_t tag ,
3325 legion_index_launcher_t launcher,
3327 legion_projection_id_t proj ,
3328 legion_reduction_op_id_t redop,
3329 legion_coherence_property_t prop,
3331 legion_mapping_tag_id_t tag ,
3339 legion_index_launcher_t launcher,
3341 legion_projection_id_t proj ,
3342 legion_reduction_op_id_t redop,
3343 legion_coherence_property_t prop,
3345 legion_mapping_tag_id_t tag ,
3353 legion_index_launcher_t launcher,
3356 legion_projection_id_t proj ,
3357 legion_privilege_mode_t priv,
3358 legion_coherence_property_t prop,
3360 legion_mapping_tag_id_t tag ,
3368 legion_index_launcher_t launcher,
3371 legion_projection_id_t proj ,
3372 legion_privilege_mode_t priv,
3373 legion_coherence_property_t prop,
3375 legion_mapping_tag_id_t tag ,
3383 legion_index_launcher_t launcher,
3386 legion_projection_id_t proj ,
3387 legion_reduction_op_id_t redop,
3388 legion_coherence_property_t prop,
3390 legion_mapping_tag_id_t tag ,
3398 legion_index_launcher_t launcher,
3401 legion_projection_id_t proj ,
3402 legion_reduction_op_id_t redop,
3403 legion_coherence_property_t prop,
3405 legion_mapping_tag_id_t tag ,
3414 legion_field_id_t fid,
3423 enum legion_region_flags_t flags);
3431 enum legion_region_flags_t flags);
3438 legion_index_launcher_t launcher,
3440 legion_allocate_mode_t priv,
3449 legion_future_t future);
3470 legion_argument_map_t map);
3491 legion_mapper_id_t mapper_id);
3498 legion_mapping_tag_id_t tag);
3512 bool elide_future_return);
3519 const char *provenance);
3533 legion_future_t initial_value);
3544 legion_inline_launcher_t
3547 legion_privilege_mode_t priv,
3548 legion_coherence_property_t prop,
3550 legion_mapping_tag_id_t region_tag ,
3552 legion_mapper_id_t
id ,
3553 legion_mapping_tag_id_t launcher_tag );
3568 legion_physical_region_t
3570 legion_context_t ctx,
3571 legion_inline_launcher_t launcher);
3578 legion_field_id_t fid,
3593 const char *provenance);
3600 legion_context_t ctx,
3601 legion_physical_region_t region);
3608 legion_context_t ctx,
3609 legion_physical_region_t region);
3616 legion_context_t ctx);
3627 legion_runtime_t runtime,
3628 legion_context_t ctx,
3631 legion_field_id_t fid,
3634 legion_predicate_t pred );
3641 legion_runtime_t runtime,
3642 legion_context_t ctx,
3645 legion_field_id_t fid,
3647 legion_predicate_t pred );
3654 legion_fill_launcher_t
3658 legion_field_id_t fid,
3661 legion_predicate_t pred ,
3662 legion_mapper_id_t
id ,
3663 legion_mapping_tag_id_t tag );
3670 legion_fill_launcher_t
3674 legion_field_id_t fid,
3676 legion_predicate_t pred ,
3677 legion_mapper_id_t
id ,
3678 legion_mapping_tag_id_t tag );
3693 legion_field_id_t fid);
3700 legion_context_t ctx,
3701 legion_fill_launcher_t launcher);
3728 const char *provenance);
3740 legion_runtime_t runtime,
3741 legion_context_t ctx,
3744 legion_field_id_t fid,
3747 legion_projection_id_t proj ,
3748 legion_predicate_t pred ,
3749 legion_mapper_id_t
id ,
3750 legion_mapping_tag_id_t launcher_tag );
3758 legion_runtime_t runtime,
3759 legion_context_t ctx,
3763 legion_field_id_t fid,
3766 legion_projection_id_t proj ,
3767 legion_predicate_t pred ,
3768 legion_mapper_id_t
id ,
3769 legion_mapping_tag_id_t launcher_tag );
3777 legion_runtime_t runtime,
3778 legion_context_t ctx,
3782 legion_field_id_t fid,
3785 legion_projection_id_t proj ,
3786 legion_predicate_t pred ,
3787 legion_mapper_id_t
id ,
3788 legion_mapping_tag_id_t launcher_tag );
3796 legion_runtime_t runtime,
3797 legion_context_t ctx,
3800 legion_field_id_t fid,
3802 legion_projection_id_t proj ,
3803 legion_predicate_t pred ,
3804 legion_mapper_id_t
id ,
3805 legion_mapping_tag_id_t launcher_tag );
3813 legion_runtime_t runtime,
3814 legion_context_t ctx,
3818 legion_field_id_t fid,
3820 legion_projection_id_t proj ,
3821 legion_predicate_t pred ,
3822 legion_mapper_id_t
id ,
3823 legion_mapping_tag_id_t launcher_tag );
3831 legion_runtime_t runtime,
3832 legion_context_t ctx,
3836 legion_field_id_t fid,
3838 legion_projection_id_t proj ,
3839 legion_predicate_t pred ,
3840 legion_mapper_id_t
id ,
3841 legion_mapping_tag_id_t launcher_tag );
3848 legion_index_fill_launcher_t
3853 legion_field_id_t fid,
3856 legion_projection_id_t proj ,
3857 legion_predicate_t pred ,
3858 legion_mapper_id_t
id ,
3859 legion_mapping_tag_id_t launcher_tag );
3866 legion_index_fill_launcher_t
3871 legion_field_id_t fid,
3874 legion_projection_id_t proj ,
3875 legion_predicate_t pred ,
3876 legion_mapper_id_t
id ,
3877 legion_mapping_tag_id_t launcher_tag );
3884 legion_index_fill_launcher_t
3889 legion_field_id_t fid,
3890 legion_future_t future,
3891 legion_projection_id_t proj ,
3892 legion_predicate_t pred ,
3893 legion_mapper_id_t
id ,
3894 legion_mapping_tag_id_t launcher_tag );
3901 legion_index_fill_launcher_t
3906 legion_field_id_t fid,
3907 legion_future_t future,
3908 legion_projection_id_t proj ,
3909 legion_predicate_t pred ,
3910 legion_mapper_id_t
id ,
3911 legion_mapping_tag_id_t launcher_tag );
3926 legion_field_id_t fid);
3933 legion_context_t ctx,
3934 legion_index_fill_launcher_t launcher);
3954 const char *provenance);
3961 legion_region_requirement_t
3973 legion_discard_launcher_t
3991 legion_field_id_t fid);
3998 legion_context_t ctx,
3999 legion_discard_launcher_t launcher);
4006 const char *provenance);
4025 legion_field_map_insert(legion_field_map_t handle,
4026 legion_field_id_t key,
4034 legion_physical_region_t
4036 legion_runtime_t runtime,
4037 legion_context_t ctx,
4038 const char *filename,
4041 legion_field_map_t field_map,
4042 legion_file_mode_t mode);
4049 legion_runtime_t runtime,
4050 legion_context_t ctx,
4051 legion_physical_region_t region);
4062 legion_copy_launcher_t
4064 legion_predicate_t pred ,
4065 legion_mapper_id_t
id ,
4066 legion_mapping_tag_id_t launcher_tag );
4083 legion_context_t ctx,
4084 legion_copy_launcher_t launcher);
4091 legion_copy_launcher_t launcher,
4093 legion_privilege_mode_t priv,
4094 legion_coherence_property_t prop,
4096 legion_mapping_tag_id_t tag ,
4104 legion_copy_launcher_t launcher,
4106 legion_privilege_mode_t priv,
4107 legion_coherence_property_t prop,
4109 legion_mapping_tag_id_t tag ,
4117 legion_copy_launcher_t launcher,
4119 legion_reduction_op_id_t redop,
4120 legion_coherence_property_t prop,
4122 legion_mapping_tag_id_t tag ,
4130 legion_copy_launcher_t launcher,
4132 legion_field_id_t fid,
4133 legion_coherence_property_t prop,
4135 legion_mapping_tag_id_t tag ,
4136 bool is_range_indirection ,
4144 legion_copy_launcher_t launcher,
4146 legion_field_id_t fid,
4147 legion_coherence_property_t prop,
4149 legion_mapping_tag_id_t tag ,
4150 bool is_range_indirection ,
4159 legion_field_id_t fid,
4168 legion_field_id_t fid,
4190 legion_copy_launcher_t launcher,
bool flag);
4197 legion_copy_launcher_t launcher,
bool flag);
4224 const char *provenance);
4234 legion_region_requirement_t
4246 legion_index_copy_launcher_t
4249 legion_predicate_t pred ,
4250 legion_mapper_id_t
id ,
4251 legion_mapping_tag_id_t launcher_tag );
4268 legion_context_t ctx,
4269 legion_index_copy_launcher_t launcher);
4276 legion_index_copy_launcher_t launcher,
4278 legion_projection_id_t proj ,
4279 legion_privilege_mode_t priv,
4280 legion_coherence_property_t prop,
4282 legion_mapping_tag_id_t tag ,
4290 legion_index_copy_launcher_t launcher,
4292 legion_projection_id_t proj ,
4293 legion_privilege_mode_t priv,
4294 legion_coherence_property_t prop,
4296 legion_mapping_tag_id_t tag ,
4304 legion_index_copy_launcher_t launcher,
4306 legion_projection_id_t proj ,
4307 legion_privilege_mode_t priv,
4308 legion_coherence_property_t prop,
4310 legion_mapping_tag_id_t tag ,
4318 legion_index_copy_launcher_t launcher,
4320 legion_projection_id_t proj ,
4321 legion_privilege_mode_t priv,
4322 legion_coherence_property_t prop,
4324 legion_mapping_tag_id_t tag ,
4332 legion_index_copy_launcher_t launcher,
4334 legion_projection_id_t proj ,
4335 legion_reduction_op_id_t redop,
4336 legion_coherence_property_t prop,
4338 legion_mapping_tag_id_t tag ,
4346 legion_index_copy_launcher_t launcher,
4348 legion_projection_id_t proj ,
4349 legion_reduction_op_id_t redop,
4350 legion_coherence_property_t prop,
4352 legion_mapping_tag_id_t tag ,
4360 legion_index_copy_launcher_t launcher,
4362 legion_projection_id_t proj ,
4363 legion_field_id_t fid,
4364 legion_coherence_property_t prop,
4366 legion_mapping_tag_id_t tag ,
4367 bool is_range_indirection ,
4375 legion_index_copy_launcher_t launcher,
4377 legion_projection_id_t proj ,
4378 legion_field_id_t fid,
4379 legion_coherence_property_t prop,
4381 legion_mapping_tag_id_t tag ,
4382 bool is_range_indirection ,
4390 legion_index_copy_launcher_t launcher,
4392 legion_projection_id_t proj ,
4393 legion_field_id_t fid,
4394 legion_coherence_property_t prop,
4396 legion_mapping_tag_id_t tag ,
4397 bool is_range_indirection ,
4405 legion_index_copy_launcher_t launcher,
4407 legion_projection_id_t proj ,
4408 legion_field_id_t fid,
4409 legion_coherence_property_t prop,
4411 legion_mapping_tag_id_t tag ,
4412 bool is_range_indirection ,
4421 legion_field_id_t fid,
4430 legion_field_id_t fid,
4452 legion_index_copy_launcher_t launcher,
bool flag);
4459 legion_index_copy_launcher_t launcher,
bool flag);
4480 const char *provenance);
4491 legion_acquire_launcher_t
4495 legion_predicate_t pred ,
4496 legion_mapper_id_t
id ,
4497 legion_mapping_tag_id_t tag );
4514 legion_context_t ctx,
4515 legion_acquire_launcher_t launcher);
4522 legion_field_id_t fid);
4536 legion_acquire_launcher_t launcher,
4558 const char *provenance);
4569 legion_release_launcher_t
4573 legion_predicate_t pred ,
4574 legion_mapper_id_t
id ,
4575 legion_mapping_tag_id_t tag );
4592 legion_context_t ctx,
4593 legion_release_launcher_t launcher);
4600 legion_field_id_t fid);
4614 legion_release_launcher_t launcher,
4636 const char *provenance);
4647 legion_attach_launcher_t
4651 legion_external_resource_t resource);
4658 const char *filename,
4659 legion_field_map_t field_map,
4660 legion_file_mode_t mode);
4681 const char *provenance);
4696 legion_physical_region_t
4698 legion_context_t ctx,
4699 legion_attach_launcher_t launcher);
4706 legion_field_id_t fid,
4717 legion_context_t ctx,
4718 legion_physical_region_t handle);
4727 legion_context_t ctx,
4728 legion_physical_region_t handle,
4738 legion_context_t ctx,
4739 legion_physical_region_t handle,
4748 legion_context_t ctx);
4759 legion_index_attach_launcher_t
4762 legion_external_resource_t resource,
4770 legion_index_attach_launcher_t handle,
bool restricted);
4777 legion_index_attach_launcher_t handle,
const char *provenance);
4784 legion_index_attach_launcher_t handle,
bool deduplicate);
4792 const char *filename,
4793 const legion_field_id_t *fields,
4795 legion_file_mode_t mode);
4803 const char *filename,
4804 legion_field_map_t field_map,
4805 legion_file_mode_t mode);
4813 void *base_ptr,
bool column_major,
4814 const legion_field_id_t *fields,
4824 void *base_ptr,
bool column_major,
4825 const legion_field_id_t *fields,
4842 legion_external_resources_t
4844 legion_context_t ctx,
4845 legion_index_attach_launcher_t launcher);
4854 legion_context_t ctx,
4855 legion_external_resources_t,
4856 bool flush,
bool unordered);
4867 legion_must_epoch_launcher_t
4869 legion_mapper_id_t
id ,
4870 legion_mapping_tag_id_t launcher_tag );
4887 legion_context_t ctx,
4888 legion_must_epoch_launcher_t launcher);
4897 legion_must_epoch_launcher_t launcher,
4899 legion_task_launcher_t handle);
4908 legion_must_epoch_launcher_t launcher,
4909 legion_index_launcher_t handle);
4916 legion_must_epoch_launcher_t launcher,
4924 legion_must_epoch_launcher_t launcher,
4932 legion_must_epoch_launcher_t launcher,
const char *provenance);
4943 legion_context_t ctx);
4950 legion_context_t ctx);
4961 legion_context_t ctx,
4962 legion_trace_id_t tid,
4970 legion_context_t ctx,
4971 legion_trace_id_t tid);
4978 legion_runtime_complete_frame(legion_runtime_t runtime,
4979 legion_context_t ctx);
4992 legion_context_t ctx,
4993 legion_tunable_id_t tid,
4994 legion_mapper_id_t mapper ,
4995 legion_mapping_tag_id_t tag );
5040 legion_context_t ctx);
5055 legion_runtime_local_shard_without_context(
void);
5072 size_t total_shards);
5090 legion_shard_id_t shard,
5093 size_t total_shards,
5095 size_t *points_size);
5098 legion_runtime_enable_scheduler_lock(
void);
5101 legion_runtime_disable_scheduler_lock(
void);
5108 legion_context_t ctx,
5110 const char *message);
5116 legion_context_t ctx,
5117 int fd,
const char *mode,
5118 const char *message);
5137 legion_physical_region_t
5170 legion_physical_region_get_field_id(legion_physical_region_t handle,
size_t index);
5178 legion_physical_region_get_memory(legion_physical_region_t handle,
size_t index);
5185 #define ACCESSOR_ARRAY(DIM) \
5186 legion_accessor_array_##DIM##d_t \
5187 legion_physical_region_get_field_accessor_array_##DIM##d( \
5188 legion_physical_region_t handle, \
5189 legion_field_id_t fid);
5191 #undef ACCESSOR_ARRAY
5193 #define ACCESSOR_ARRAY(DIM) \
5194 legion_accessor_array_##DIM##d_t \
5195 legion_physical_region_get_field_accessor_array_##DIM##d_with_transform( \
5196 legion_physical_region_t handle, \
5197 legion_field_id_t fid, \
5198 legion_domain_affine_transform_t transform);
5200 #undef ACCESSOR_ARRAY
5202 #define RAW_PTR(DIM) \
5204 legion_accessor_array_##DIM##d_raw_rect_ptr(legion_accessor_array_##DIM##d_t handle, \
5205 legion_rect_##DIM##d_t rect, \
5206 legion_rect_##DIM##d_t *subrect, \
5207 legion_byte_offset_t *offsets);
5208 LEGION_FOREACH_N(RAW_PTR)
5213 legion_accessor_array_1d_read(legion_accessor_array_1d_t handle,
5215 void *dst,
size_t bytes);
5217 #define READ_ARRAY(DIM) \
5219 legion_accessor_array_##DIM##d_read_point(legion_accessor_array_##DIM##d_t handle, \
5220 legion_point_##DIM##d_t point, \
5221 void *dst, size_t bytes);
5222 LEGION_FOREACH_N(READ_ARRAY)
5227 legion_accessor_array_1d_write(legion_accessor_array_1d_t handle,
5229 const void *src,
size_t bytes);
5231 #define WRITE_ARRAY(DIM) \
5233 legion_accessor_array_##DIM##d_write_point(legion_accessor_array_##DIM##d_t handle, \
5234 legion_point_##DIM##d_t point, \
5235 const void *src, size_t bytes);
5236 LEGION_FOREACH_N(WRITE_ARRAY)
5241 legion_accessor_array_1d_ref(legion_accessor_array_1d_t handle,
5244 #define REF_ARRAY(DIM) \
5246 legion_accessor_array_##DIM##d_ref_point(legion_accessor_array_##DIM##d_t handle, \
5247 legion_point_##DIM##d_t point);
5248 LEGION_FOREACH_N(REF_ARRAY)
5254 #define DESTROY_ARRAY(DIM) \
5256 legion_accessor_array_##DIM##d_destroy(legion_accessor_array_##DIM##d_t handle);
5258 #undef DESTROY_ARRAY
5281 legion_physical_region_t
5292 enum legion_mappable_type_id_t
5380 legion_mapping_tag_id_t
5388 legion_task_id_t task_id,
5389 legion_semantic_tag_t tag,
5399 legion_runtime_t runtime,
5400 legion_task_id_t task_id,
5401 legion_semantic_tag_t tag,
5402 const void **result,
5405 bool wait_until_ready );
5412 legion_task_id_t task_id,
5421 legion_task_id_t task_id,
5422 const char **result);
5489 legion_region_requirement_t
5537 legion_region_requirement_t
5549 legion_execution_constraint_set_t
5559 legion_execution_constraint_set_t handle);
5566 legion_execution_constraint_set_t handle,
5575 legion_execution_constraint_set_t handle,
5576 legion_processor_kind_t proc_kind);
5584 legion_execution_constraint_set_t handle,
5585 legion_resource_constraint_t resource,
5586 legion_equality_kind_t eq,
5595 legion_execution_constraint_set_t handle,
5596 legion_launch_constraint_t kind,
5605 legion_execution_constraint_set_t handle,
5606 legion_launch_constraint_t kind,
5607 const size_t *values,
5616 legion_execution_constraint_set_t handle,
5617 const unsigned *indexes,
5619 const legion_field_id_t *fields,
5631 legion_layout_constraint_set_t
5647 legion_layout_constraint_id_t
5649 legion_runtime_t runtime,
5651 legion_layout_constraint_set_t handle,
5652 const char *layout_name );
5659 legion_layout_constraint_id_t
5661 legion_layout_constraint_set_t handle,
5662 const char *layout_name );
5671 legion_layout_constraint_id_t handle);
5679 legion_layout_constraint_set_t handle,
5680 legion_specialized_constraint_t specialized,
5681 legion_reduction_op_id_t redop);
5689 legion_layout_constraint_set_t handle,
5690 legion_memory_kind_t kind);
5698 legion_layout_constraint_set_t handle,
5699 const legion_field_id_t *fields,
5710 legion_layout_constraint_set_t handle,
5711 const legion_dimension_kind_t *dims,
5721 legion_layout_constraint_set_t handle,
5722 legion_dimension_kind_t dim,
5723 size_t value,
bool tiles);
5731 legion_layout_constraint_set_t handle,
5732 legion_dimension_kind_t dim,
5733 legion_equality_kind_t eq,
5742 legion_layout_constraint_set_t handle,
5743 legion_field_id_t field,
5744 legion_equality_kind_t eq,
5745 size_t byte_boundary);
5753 legion_layout_constraint_set_t handle,
5754 legion_field_id_t field,
5763 legion_layout_constraint_set_t handle,
5776 legion_task_layout_constraint_set_t
5786 legion_task_layout_constraint_set_t handle);
5793 legion_task_layout_constraint_set_t handle,
5795 legion_layout_constraint_id_t layout);
5859 legion_runtime_t runtime,
5860 const char *library_name,
5868 legion_runtime_t runtime,
5869 legion_mapper_t mapper,
5875 legion_projection_id_t
5881 legion_projection_id_t
5883 legion_runtime_t runtime,
5884 const char *library_name,
5890 legion_sharding_id_t
5892 legion_runtime_t runtime,
5893 const char *library_name,
5899 legion_reduction_op_id_t
5901 legion_runtime_t runtime,
5902 const char *library_name,
5910 legion_projection_id_t
id,
5921 legion_runtime_t runtime,
5922 legion_projection_id_t
id,
5933 legion_projection_id_t
id,
5944 legion_runtime_t runtime,
5945 legion_projection_id_t
id,
5956 legion_projection_id_t
id,
5967 legion_runtime_t runtime,
5968 legion_projection_id_t
id,
5979 legion_runtime_t runtime,
5980 const char *library_name,
5988 legion_runtime_t runtime,
5989 legion_task_id_t
id ,
5990 const char *task_name ,
5991 const char *variant_name ,
5993 legion_execution_constraint_set_t execution_constraints,
5994 legion_task_layout_constraint_set_t layout_constraints,
5997 const void *userdata,
6005 legion_task_id_t
id ,
6006 legion_variant_id_t variant_id ,
6007 const char *task_name ,
6008 const char *variant_name ,
6009 legion_execution_constraint_set_t execution_constraints,
6010 legion_task_layout_constraint_set_t layout_constraints,
6013 const void *userdata,
6016 #ifdef REALM_USE_LLVM
6021 legion_runtime_register_task_variant_llvmir(
6022 legion_runtime_t runtime,
6023 legion_task_id_t
id ,
6024 const char *task_name ,
6026 legion_execution_constraint_set_t execution_constraints,
6027 legion_task_layout_constraint_set_t layout_constraints,
6030 const char *entry_symbol,
6031 const void *userdata,
6038 legion_runtime_preregister_task_variant_llvmir(
6039 legion_task_id_t
id ,
6040 legion_variant_id_t variant_id ,
6041 const char *task_name ,
6042 legion_execution_constraint_set_t execution_constraints,
6043 legion_task_layout_constraint_set_t layout_constraints,
6046 const char *entry_symbol,
6047 const void *userdata,
6051 #ifdef REALM_USE_PYTHON
6056 legion_runtime_register_task_variant_python_source(
6057 legion_runtime_t runtime,
6058 legion_task_id_t
id ,
6059 const char *task_name ,
6061 legion_execution_constraint_set_t execution_constraints,
6062 legion_task_layout_constraint_set_t layout_constraints,
6064 const char *module_name,
6065 const char *function_name,
6066 const void *userdata,
6073 legion_runtime_register_task_variant_python_source_qualname(
6074 legion_runtime_t runtime,
6075 legion_task_id_t
id ,
6076 const char *task_name ,
6078 legion_execution_constraint_set_t execution_constraints,
6079 legion_task_layout_constraint_set_t layout_constraints,
6081 const char *module_name,
6082 const char **function_qualname,
6083 size_t function_qualname_len,
6084 const void *userdata,
6096 legion_task_t *taskptr,
6097 const legion_physical_region_t **regionptr,
6098 unsigned * num_regions_ptr,
6099 legion_context_t * ctxptr,
6100 legion_runtime_t * runtimeptr);
6107 legion_runtime_t runtime,
6108 legion_context_t ctx,
6133 legion_context_t ctx);
6140 legion_context_t ctx);
6147 legion_context_t ctx);
6278 legion_machine_t machine,
6280 size_t processors_size);
6293 legion_machine_t machine,
6295 size_t memories_size);
6310 legion_processor_kind_t
6316 legion_address_space_t
6326 legion_memory_kind_t
6332 legion_address_space_t
6344 legion_processor_query_t
6352 legion_processor_query_t
6370 legion_processor_kind_t kind);
6406 unsigned min_bandwidth ,
6407 unsigned max_latency );
6417 int bandwidth_weight ,
6418 int latency_weight );
6454 legion_memory_query_t
6462 legion_memory_query_t
6480 legion_memory_kind_t kind);
6516 unsigned min_bandwidth ,
6517 unsigned max_latency );
6527 unsigned min_bandwidth ,
6528 unsigned max_latency );
6538 int bandwidth_weight ,
6539 int latency_weight );
6549 int bandwidth_weight ,
6550 int latency_weight );
6587 legion_physical_instance_destroy(legion_physical_instance_t instance);
6598 legion_slice_task_output_t output,
6606 legion_slice_task_output_t output,
6607 bool verify_correctness);
6618 legion_map_task_output_t output);
6625 legion_map_task_output_t output,
6633 legion_map_task_output_t output,
6634 legion_physical_instance_t *instances,
6635 size_t instances_size);
6642 legion_map_task_output_t output,
6644 legion_physical_instance_t *instances,
6645 size_t instances_size);
6652 legion_map_task_output_t output);
6659 legion_map_task_output_t output,
6667 legion_map_task_output_t output,
6675 legion_map_task_output_t output,
6676 legion_task_priority_t priority);
6689 legion_mapper_runtime_t runtime,
6690 legion_mapper_context_t ctx,
6692 legion_layout_constraint_set_t constraints,
6694 size_t regions_size,
6695 legion_physical_instance_t *result,
6697 legion_garbage_collection_priority_t priority);
6706 legion_mapper_runtime_t runtime,
6707 legion_mapper_context_t ctx,
6709 legion_layout_constraint_id_t layout_id,
6711 size_t regions_size,
6712 legion_physical_instance_t *result,
6714 legion_garbage_collection_priority_t priority);
6723 legion_mapper_runtime_t runtime,
6724 legion_mapper_context_t ctx,
6726 legion_layout_constraint_set_t constraints,
6728 size_t regions_size,
6729 legion_physical_instance_t *result,
6732 legion_garbage_collection_priority_t priority,
6733 bool tight_region_bounds);
6742 legion_mapper_runtime_t runtime,
6743 legion_mapper_context_t ctx,
6745 legion_layout_constraint_id_t layout_id,
6747 size_t regions_size,
6748 legion_physical_instance_t *result,
6751 legion_garbage_collection_priority_t priority,
6752 bool tight_region_bounds);
6761 legion_mapper_runtime_t runtime,
6762 legion_mapper_context_t ctx,
6764 legion_layout_constraint_set_t constraints,
6766 size_t regions_size,
6767 legion_physical_instance_t *result,
6769 bool tight_region_bounds);
6778 legion_mapper_runtime_t runtime,
6779 legion_mapper_context_t ctx,
6781 legion_layout_constraint_id_t layout_id,
6783 size_t regions_size,
6784 legion_physical_instance_t *result,
6786 bool tight_region_bounds);
6796 legion_mapper_runtime_t runtime,
6797 legion_mapper_context_t ctx,
6798 legion_physical_instance_t instance);
6807 legion_mapper_runtime_t runtime,
6808 legion_mapper_context_t ctx,
6809 legion_physical_instance_t *instances,
6810 size_t instances_size);
6815 legion_context_get_shard_id(legion_runtime_t ,
6820 legion_context_get_num_shards(legion_runtime_t ,
6828 legion_context_consensus_match(legion_runtime_t ,
6838 legion_physical_region_t
6840 legion_physical_region_t *regionptr,
void legion_task_launcher_set_point(legion_task_launcher_t launcher, legion_domain_point_t point)
void legion_index_space_destroy_unordered(legion_runtime_t runtime, legion_context_t ctx, legion_index_space_t handle, bool unordered)
bool legion_index_partition_retrieve_semantic_information(legion_runtime_t runtime, legion_index_partition_t handle, legion_semantic_tag_t tag, const void **result, size_t *size, bool can_fail, bool wait_until_ready)
size_t legion_runtime_get_maximum_dimension(void)
void legion_inline_launcher_destroy(legion_inline_launcher_t handle)
legion_domain_point_coloring_t legion_domain_point_coloring_create(void)
legion_index_space_t legion_index_space_create_future(legion_runtime_t runtime, legion_context_t ctx, size_t dimensions, legion_future_t future, legion_type_tag_t type_tag)
const legion_predicate_t legion_predicate_false(void)
void legion_context_progress_unordered_operations(legion_runtime_t runtime, legion_context_t ctx)
legion_layout_constraint_id_t legion_layout_constraint_set_register(legion_runtime_t runtime, legion_field_space_t fspace, legion_layout_constraint_set_t handle, const char *layout_name)
legion_shard_id_t legion_sharding_functor_shard(legion_sharding_id_t sid, legion_domain_point_t point, legion_domain_t full_space, size_t total_shards)
void legion_runtime_replace_default_mapper(legion_runtime_t runtime, legion_mapper_t mapper, legion_processor_t proc)
legion_index_space_t legion_index_partition_create_index_space_difference(legion_runtime_t runtime, legion_context_t ctx, legion_index_partition_t parent, legion_domain_point_t color, legion_index_space_t initial, const legion_index_space_t *spaces, size_t num_spaces)
void legion_index_fill_launcher_set_mapper_arg(legion_index_fill_launcher_t launcher, legion_untyped_buffer_t arg)
void legion_task_set_arglen(legion_task_mut_t task, size_t arglen)
struct legion_phase_barrier_t legion_phase_barrier_t
void legion_field_id_attach_name(legion_runtime_t runtime, legion_field_space_t handle, legion_field_id_t id, const char *name, bool is_mutable)
unsigned legion_region_requirement_get_privilege_fields_size(legion_region_requirement_t handle)
void legion_processor_query_same_address_space_as_processor(legion_processor_query_t query, legion_processor_t proc)
void legion_task_layout_constraint_set_destroy(legion_task_layout_constraint_set_t handle)
legion_index_partition_t legion_index_partition_create_by_preimage_range(legion_runtime_t runtime, legion_context_t ctx, legion_index_partition_t projection, legion_logical_region_t handle, legion_logical_region_t parent, legion_field_id_t fid, legion_index_space_t color_space, legion_partition_kind_t part_kind, legion_color_t color, legion_mapper_id_t id, legion_mapping_tag_id_t tag, legion_untyped_buffer_t map_arg)
legion_index_partition_t legion_index_partition_create_by_intersection(legion_runtime_t runtime, legion_context_t ctx, legion_index_space_t parent, legion_index_partition_t handle1, legion_index_partition_t handle2, legion_index_space_t color_space, legion_partition_kind_t part_kind, legion_color_t color)
legion_logical_region_t(* legion_projection_functor_logical_region_mappable_t)(legion_runtime_t, legion_mappable_t, unsigned, legion_logical_region_t, legion_domain_point_t)
Definition: legion_c.h:455
unsigned legion_index_copy_launcher_add_dst_region_requirement_logical_region_reduction(legion_index_copy_launcher_t launcher, legion_logical_region_t handle, legion_projection_id_t proj, legion_reduction_op_id_t redop, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t tag, bool verified)
int legion_runtime_start(int argc, char **argv, bool background)
legion_memory_t legion_memory_query_random(legion_memory_query_t query)
legion_index_fill_launcher_t legion_index_fill_launcher_create_with_domain(legion_domain_t domain, legion_logical_partition_t handle, legion_logical_region_t parent, legion_field_id_t fid, const void *value, size_t value_size, legion_projection_id_t proj, legion_predicate_t pred, legion_mapper_id_t id, legion_mapping_tag_id_t launcher_tag)
legion_index_fill_launcher_t legion_index_fill_launcher_create_from_future_with_domain(legion_domain_t domain, legion_logical_partition_t handle, legion_logical_region_t parent, legion_field_id_t fid, legion_future_t future, legion_projection_id_t proj, legion_predicate_t pred, legion_mapper_id_t id, legion_mapping_tag_id_t launcher_tag)
void legion_runtime_fill_field(legion_runtime_t runtime, legion_context_t ctx, legion_logical_region_t handle, legion_logical_region_t parent, legion_field_id_t fid, const void *value, size_t value_size, legion_predicate_t pred)
void legion_runtime_index_fill_field_future(legion_runtime_t runtime, legion_context_t ctx, legion_logical_partition_t handle, legion_logical_region_t parent, legion_field_id_t fid, legion_future_t f, legion_projection_id_t proj, legion_predicate_t pred, legion_mapper_id_t id, legion_mapping_tag_id_t launcher_tag)
void legion_index_attach_launcher_attach_array_soa(legion_index_attach_launcher_t handle, legion_logical_region_t region, void *base_ptr, bool column_major, const legion_field_id_t *fields, size_t num_fields, legion_memory_t memory)
void legion_field_space_retrieve_name(legion_runtime_t runtime, legion_field_space_t handle, const char **result)
legion_index_space_t legion_index_partition_get_index_subspace(legion_runtime_t runtime, legion_index_partition_t handle, legion_color_t color)
void legion_processor_query_only_kind(legion_processor_query_t query, legion_processor_kind_t kind)
legion_future_map_t legion_index_launcher_execute(legion_runtime_t runtime, legion_context_t ctx, legion_index_launcher_t launcher)
legion_coloring_t legion_coloring_create(void)
void legion_must_epoch_launcher_add_single_task(legion_must_epoch_launcher_t launcher, legion_domain_point_t point, legion_task_launcher_t handle)
void legion_domain_point_coloring_color_domain(legion_domain_point_coloring_t handle, legion_domain_point_t color, legion_domain_t domain)
unsigned legion_index_copy_launcher_add_src_indirect_region_requirement_logical_partition(legion_index_copy_launcher_t launcher, legion_logical_partition_t handle, legion_projection_id_t proj, legion_field_id_t fid, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t tag, bool is_range_indirection, bool verified)
void legion_acquire_launcher_destroy(legion_acquire_launcher_t handle)
void legion_index_partition_attach_semantic_information(legion_runtime_t runtime, legion_index_partition_t handle, legion_semantic_tag_t tag, const void *buffer, size_t size, bool is_mutable)
void legion_release_launcher_set_provenance(legion_release_launcher_t launcher, const char *provenance)
void legion_index_partition_destroy_unordered(legion_runtime_t runtime, legion_context_t ctx, legion_index_partition_t handle, bool unordered, bool recurse)
legion_index_partition_t legion_index_partition_create_by_image_range(legion_runtime_t runtime, legion_context_t ctx, legion_index_space_t handle, legion_logical_partition_t projection, legion_logical_region_t parent, legion_field_id_t fid, legion_index_space_t color_space, legion_partition_kind_t part_kind, legion_color_t color, legion_mapper_id_t id, legion_mapping_tag_id_t tag, legion_untyped_buffer_t map_arg)
legion_inline_launcher_t legion_inline_launcher_create_logical_region(legion_logical_region_t handle, legion_privilege_mode_t priv, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t region_tag, bool verified, legion_mapper_id_t id, legion_mapping_tag_id_t launcher_tag)
void legion_index_partition_destroy(legion_runtime_t runtime, legion_context_t ctx, legion_index_partition_t handle)
void legion_runtime_yield(legion_runtime_t runtime, legion_context_t ctx)
void legion_index_launcher_add_field(legion_index_launcher_t launcher, unsigned idx, legion_field_id_t fid, bool inst)
legion_attach_launcher_t legion_attach_launcher_create(legion_logical_region_t logical_region, legion_logical_region_t parent_region, legion_external_resource_t resource)
legion_processor_t legion_processor_query_first(legion_processor_query_t query)
void legion_future_map_destroy(legion_future_map_t handle)
legion_index_space_t legion_index_partition_create_index_space_intersection_partition(legion_runtime_t runtime, legion_context_t ctx, legion_index_partition_t parent, legion_domain_point_t color, legion_index_partition_t handle)
void legion_task_launcher_intersect_flags(legion_task_launcher_t launcher, unsigned idx, enum legion_region_flags_t flags)
legion_execution_constraint_set_t legion_execution_constraint_set_create(void)
legion_domain_point_t legion_logical_region_get_color_domain_point(legion_runtime_t runtime_, legion_logical_region_t handle_)
unsigned legion_index_copy_launcher_add_dst_region_requirement_logical_partition(legion_index_copy_launcher_t launcher, legion_logical_partition_t handle, legion_projection_id_t proj, legion_privilege_mode_t priv, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t tag, bool verified)
legion_field_id_t legion_field_allocator_allocate_local_field(legion_field_allocator_t allocator, size_t field_size, legion_field_id_t desired_fieldid)
bool legion_domain_contains(legion_domain_t d, legion_domain_point_t p)
void legion_index_attach_launcher_attach_file(legion_index_attach_launcher_t handle, legion_logical_region_t region, const char *filename, const legion_field_id_t *fields, size_t num_fields, legion_file_mode_t mode)
void legion_index_attach_launcher_set_deduplicate_across_shards(legion_index_attach_launcher_t handle, bool deduplicate)
legion_future_t legion_future_from_untyped_pointer(legion_runtime_t runtime, const void *buffer, size_t size)
legion_logical_partition_t legion_logical_partition_create_by_tree(legion_runtime_t runtime, legion_context_t ctx, legion_index_partition_t handle, legion_field_space_t fspace, legion_region_tree_id_t tid)
void legion_runtime_set_top_level_task_id(legion_task_id_t top_id)
void legion_copy_launcher_set_mapper_arg(legion_copy_launcher_t launcher, legion_untyped_buffer_t arg)
legion_future_t legion_future_from_untyped_pointer_detailed(legion_runtime_t runtime, const void *buffer, size_t size, bool take_ownership, const char *provenance, bool shard_local)
void legion_index_fill_launcher_destroy(legion_index_fill_launcher_t handle)
#define DESTROY_ARRAY(DIM)
Definition: legion_c.h:5254
void legion_index_launcher_add_arrival_barrier(legion_index_launcher_t launcher, legion_phase_barrier_t bar)
void legion_acquire_launcher_add_arrival_barrier(legion_acquire_launcher_t launcher, legion_phase_barrier_t bar)
legion_field_id_t legion_region_requirement_get_privilege_field(legion_region_requirement_t handle, unsigned idx)
legion_phase_barrier_t legion_phase_barrier_alter_arrival_count(legion_runtime_t runtime, legion_context_t ctx, legion_phase_barrier_t handle, int delta)
legion_logical_partition_t legion_logical_region_get_parent_logical_partition(legion_runtime_t runtime, legion_logical_region_t handle)
legion_index_partition_t legion_index_partition_create_point_coloring(legion_runtime_t runtime, legion_context_t ctx, legion_index_space_t parent, legion_domain_t color_space, legion_point_coloring_t coloring, legion_partition_kind_t part_kind, legion_color_t color)
legion_index_space_t legion_index_space_create(legion_runtime_t runtime, legion_context_t ctx, size_t max_num_elmts)
unsigned legion_index_launcher_add_region_requirement_logical_partition_reduction(legion_index_launcher_t launcher, legion_logical_partition_t handle, legion_projection_id_t proj, legion_reduction_op_id_t redop, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t tag, bool verified)
void legion_output_requirement_add_field(legion_output_requirement_t handle, legion_field_id_t field, bool instance)
struct legion_task_options_t legion_task_options_t
bool legion_index_space_has_parent_index_partition(legion_runtime_t runtime, legion_index_space_t handle)
legion_point_coloring_t legion_point_coloring_create(void)
void legion_output_requirement_destroy(legion_output_requirement_t handle)
struct legion_ptr_t legion_ptr_t
size_t legion_physical_region_get_field_count(legion_physical_region_t handle)
void legion_discard_launcher_execute(legion_runtime_t runtime, legion_context_t ctx, legion_discard_launcher_t launcher)
void legion_index_copy_launcher_execute(legion_runtime_t runtime, legion_context_t ctx, legion_index_copy_launcher_t launcher)
legion_domain_t legion_index_space_get_domain(legion_runtime_t runtime, legion_index_space_t handle)
legion_field_space_t legion_field_space_no_space()
legion_index_partition_t legion_index_partition_create_coloring(legion_runtime_t runtime, legion_context_t ctx, legion_index_space_t parent, legion_coloring_t coloring, bool disjoint, legion_color_t part_color)
legion_processor_t legion_task_get_target_proc(legion_task_t task)
legion_handle_type_t legion_region_requirement_get_handle_type(legion_region_requirement_t handle)
void legion_logical_region_attach_name(legion_runtime_t runtime, legion_logical_region_t handle, const char *name, bool is_mutable)
bool legion_logger_want_print(legion_logger_t handle)
legion_unique_id_t legion_task_get_unique_id(legion_task_t task)
legion_index_partition_t legion_index_partition_create_by_domain(legion_runtime_t runtime, legion_context_t ctx, legion_index_space_t parent, legion_domain_point_t *colors, legion_domain_t *domains, size_t num_color_domains, legion_index_space_t color_space, bool perform_intersections, legion_partition_kind_t part_kind, legion_color_t color)
void legion_external_resources_destroy(legion_external_resources_t handle)
legion_logical_region_t(* legion_projection_functor_logical_partition_t)(legion_runtime_t, legion_logical_partition_t, legion_domain_point_t, legion_domain_t)
Definition: legion_c.h:418
legion_physical_region_t legion_external_resources_get_region(legion_external_resources_t handle, unsigned index)
legion_coherence_property_t legion_region_requirement_get_prop(legion_region_requirement_t handle)
void legion_copy_launcher_destroy(legion_copy_launcher_t handle)
void legion_layout_constraint_set_add_specialized_constraint(legion_layout_constraint_set_t handle, legion_specialized_constraint_t specialized, legion_reduction_op_id_t redop)
void legion_region_requirement_get_instance_fields(legion_region_requirement_t handle, legion_field_id_t *fields, unsigned fields_size)
void legion_domain_point_iterator_destroy(legion_domain_point_iterator_t handle)
legion_logical_region_t legion_logical_partition_get_logical_subregion_by_tree(legion_runtime_t runtime, legion_index_space_t handle, legion_field_space_t fspace, legion_region_tree_id_t tid)
void legion_processor_query_has_affinity_to_memory(legion_processor_query_t query, legion_memory_t mem, unsigned min_bandwidth, unsigned max_latency)
void legion_layout_constraint_set_add_tiling_constraint(legion_layout_constraint_set_t handle, legion_dimension_kind_t dim, size_t value, bool tiles)
legion_discard_launcher_t legion_discard_launcher_create(legion_logical_region_t handle, legion_logical_region_t parent)
void legion_attach_launcher_set_restricted(legion_attach_launcher_t handle, bool restricted)
int legion_task_get_depth(legion_task_t task)
void legion_logger_destroy(legion_logger_t handle)
legion_projection_id_t legion_runtime_generate_library_projection_ids(legion_runtime_t runtime, const char *library_name, size_t count)
const char * legion_task_get_name(legion_task_t task)
unsigned legion_index_launcher_add_region_requirement_logical_region_reduction(legion_index_launcher_t launcher, legion_logical_region_t handle, legion_projection_id_t proj, legion_reduction_op_id_t redop, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t tag, bool verified)
void legion_memory_query_has_affinity_to_processor(legion_memory_query_t query, legion_processor_t proc, unsigned min_bandwidth, unsigned max_latency)
bool legion_index_space_has_multiple_domains(legion_runtime_t runtime, legion_index_space_t handle)
legion_index_partition_t legion_index_partition_create_domain_coloring(legion_runtime_t runtime, legion_context_t ctx, legion_index_space_t parent, legion_domain_t color_space, legion_domain_coloring_t coloring, bool disjoint, legion_color_t part_color)
legion_acquire_launcher_t legion_acquire_launcher_create(legion_logical_region_t logical_region, legion_logical_region_t parent_region, legion_predicate_t pred, legion_mapper_id_t id, legion_mapping_tag_id_t tag)
legion_domain_t legion_task_get_index_domain(legion_task_t task)
bool legion_index_partition_is_disjoint(legion_runtime_t runtime, legion_index_partition_t handle)
struct legion_logical_partition_t legion_logical_partition_t
void legion_memory_query_same_address_space_as_memory(legion_memory_query_t query, legion_memory_t mem)
void legion_task_launcher_set_enable_inlining(legion_task_launcher_t launcher, bool enable_inlining)
void legion_field_allocator_free_field(legion_field_allocator_t allocator, legion_field_id_t fid)
legion_fill_launcher_t legion_fill_launcher_create(legion_logical_region_t handle, legion_logical_region_t parent, legion_field_id_t fid, const void *value, size_t value_size, legion_predicate_t pred, legion_mapper_id_t id, legion_mapping_tag_id_t tag)
legion_argument_map_t legion_argument_map_from_future_map(legion_future_map_t map)
void legion_index_launcher_set_mapper_arg(legion_index_launcher_t launcher, legion_untyped_buffer_t map_arg)
legion_logical_region_t legion_physical_region_get_logical_region(legion_physical_region_t handle)
legion_region_requirement_t legion_region_requirement_create_logical_region(legion_logical_region_t handle, legion_privilege_mode_t priv, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t tag, bool verified)
legion_color_t legion_logical_region_get_color(legion_runtime_t runtime, legion_logical_region_t handle)
void legion_execution_constraint_set_add_launch_constraint_multi_dim(legion_execution_constraint_set_t handle, legion_launch_constraint_t kind, const size_t *values, int dims)
legion_output_requirement_t legion_output_requirement_create(legion_field_space_t field_space, legion_field_id_t *fields, size_t fields_size, int dim, bool global_indexing)
legion_domain_point_t legion_domain_point_nil(void)
void legion_domain_point_coloring_destroy(legion_domain_point_coloring_t handle)
bool legion_future_is_ready_subscribe(legion_future_t handle, bool subscribe)
legion_logical_region_t(* legion_projection_functor_logical_region_t)(legion_runtime_t, legion_logical_region_t, legion_domain_point_t, legion_domain_t)
Definition: legion_c.h:407
void legion_runtime_print_once(legion_runtime_t runtime, legion_context_t ctx, FILE *f, const char *message)
bool legion_mapper_runtime_find_or_create_physical_instance_layout_constraint(legion_mapper_runtime_t runtime, legion_mapper_context_t ctx, legion_memory_t target_memory, legion_layout_constraint_set_t constraints, const legion_logical_region_t *regions, size_t regions_size, legion_physical_instance_t *result, bool *created, bool acquire, legion_garbage_collection_priority_t priority, bool tight_region_bounds)
legion_domain_point_t legion_domain_point_iterator_next(legion_domain_point_iterator_t handle)
void legion_field_id_attach_semantic_information(legion_runtime_t runtime, legion_field_space_t handle, legion_field_id_t id, legion_semantic_tag_t tag, const void *buffer, size_t size, bool is_mutable)
legion_index_partition_t legion_index_partition_create_by_union(legion_runtime_t runtime, legion_context_t ctx, legion_index_space_t parent, legion_index_partition_t handle1, legion_index_partition_t handle2, legion_index_space_t color_space, legion_partition_kind_t part_kind, legion_color_t color)
legion_index_partition_t legion_index_partition_create_by_weights(legion_runtime_t runtime, legion_context_t ctx, legion_index_space_t parent, legion_domain_point_t *colors, int *weights, size_t num_colors, legion_index_space_t color_space, size_t granularity, legion_color_t color)
unsigned legion_index_launcher_add_index_requirement(legion_index_launcher_t launcher, legion_index_space_t handle, legion_allocate_mode_t priv, legion_index_space_t parent, bool verified)
legion_logical_region_t legion_logical_region_create(legion_runtime_t runtime, legion_context_t ctx, legion_index_space_t index, legion_field_space_t fields, bool task_local)
legion_logical_region_t(* legion_projection_functor_logical_partition_args_t)(legion_runtime_t, legion_logical_partition_t, legion_domain_point_t, legion_domain_t, const void *, size_t)
Definition: legion_c.h:442
unsigned legion_copy_launcher_add_dst_region_requirement_logical_region(legion_copy_launcher_t launcher, legion_logical_region_t handle, legion_privilege_mode_t priv, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t tag, bool verified)
legion_task_id_t legion_runtime_generate_library_task_ids(legion_runtime_t runtime, const char *library_name, size_t count)
struct legion_processor_t legion_processor_t
legion_dynamic_collective_t legion_dynamic_collective_create(legion_runtime_t runtime, legion_context_t ctx, unsigned arrivals, legion_reduction_op_id_t redop, const void *init_value, size_t init_size)
const void * legion_index_launcher_get_projection_args(legion_region_requirement_t requirement, size_t *size)
void legion_index_launcher_set_initial_value(legion_index_launcher_t launcher, legion_future_t initial_value)
struct legion_domain_transform_t legion_domain_transform_t
legion_physical_region_t legion_attach_launcher_execute(legion_runtime_t runtime, legion_context_t ctx, legion_attach_launcher_t launcher)
legion_index_partition_t legion_index_partition_create_multi_domain_point_coloring(legion_runtime_t runtime, legion_context_t ctx, legion_index_space_t parent, legion_domain_t color_space, legion_multi_domain_point_coloring_t coloring, legion_partition_kind_t part_kind, legion_color_t color)
#define ITERATOR_DESTROY(DIM)
Definition: legion_c.h:680
bool legion_logical_region_has_parent_logical_partition(legion_runtime_t runtime, legion_logical_region_t handle)
legion_index_partition_t legion_index_partition_create_by_intersection_mirror(legion_runtime_t runtime, legion_context_t ctx, legion_index_space_t parent, legion_index_partition_t handle, legion_partition_kind_t part_kind, legion_color_t color, bool dominates)
struct legion_input_args_t legion_input_args_t
void legion_memory_query_best_affinity_to_memory(legion_memory_query_t query, legion_memory_t mem, int bandwidth_weight, int latency_weight)
void legion_machine_get_all_memories(legion_machine_t machine, legion_memory_t *memories, size_t memories_size)
legion_future_t legion_future_map_reduce_with_initial_value(legion_runtime_t runtime, legion_context_t ctx, legion_future_map_t handle, legion_reduction_op_id_t redop, bool deterministic, legion_mapper_id_t map_id, legion_mapping_tag_id_t tag, const char *provenance, legion_future_t initial_value)
void legion_discard_launcher_add_field(legion_discard_launcher_t handle, legion_field_id_t fid)
void legion_release_launcher_add_wait_barrier(legion_release_launcher_t launcher, legion_phase_barrier_t bar)
void legion_dynamic_collective_defer_arrival(legion_runtime_t runtime, legion_context_t ctx, legion_dynamic_collective_t handle, legion_future_t f, unsigned count)
legion_logical_region_t legion_logical_partition_get_logical_subregion_by_color(legion_runtime_t runtime, legion_logical_partition_t parent, legion_color_t c)
void legion_runtime_preregister_projection_functor_args(legion_projection_id_t id, bool exclusive, unsigned depth, legion_projection_functor_logical_region_args_t region_functor, legion_projection_functor_logical_partition_args_t partition_functor)
void legion_runtime_remap_region(legion_runtime_t runtime, legion_context_t ctx, legion_physical_region_t region)
bool legion_physical_region_is_mapped(legion_physical_region_t handle)
size_t legion_domain_get_volume(legion_domain_t d)
void legion_index_space_create_shared_ownership(legion_runtime_t runtime, legion_context_t ctx, legion_index_space_t handle)
legion_sharding_id_t legion_runtime_generate_library_sharding_ids(legion_runtime_t runtime, const char *library_name, size_t count)
void legion_field_space_attach_semantic_information(legion_runtime_t runtime, legion_field_space_t handle, legion_semantic_tag_t tag, const void *buffer, size_t size, bool is_mutable)
void legion_must_epoch_launcher_set_provenance(legion_must_epoch_launcher_t launcher, const char *provenance)
void legion_layout_constraint_set_add_memory_constraint(legion_layout_constraint_set_t handle, legion_memory_kind_t kind)
legion_field_id_t * legion_field_space_get_fields(legion_runtime_t runtime, legion_context_t ctx, legion_field_space_t handle, size_t *size)
void legion_domain_coloring_color_domain(legion_domain_coloring_t handle, legion_color_t color, legion_domain_t domain)
legion_task_id_t legion_runtime_preregister_task_variant_fnptr(legion_task_id_t id, legion_variant_id_t variant_id, const char *task_name, const char *variant_name, legion_execution_constraint_set_t execution_constraints, legion_task_layout_constraint_set_t layout_constraints, legion_task_config_options_t options, legion_task_pointer_wrapped_t wrapped_task_pointer, const void *userdata, size_t userlen)
#define GET_POINT(DIM)
Definition: legion_c.h:597
void legion_fill_launcher_set_point(legion_fill_launcher_t launcher, legion_domain_point_t point)
void legion_fill_launcher_set_provenance(legion_fill_launcher_t launcher, const char *provenance)
void legion_index_launcher_set_concurrent(legion_index_launcher_t launcher, bool concurrent)
bool legion_logger_want_spew(legion_logger_t handle)
legion_future_t legion_dynamic_collective_get_result(legion_runtime_t runtime, legion_context_t ctx, legion_dynamic_collective_t handle)
void legion_index_launcher_set_mapping_tag(legion_index_launcher_t launcher, legion_mapping_tag_id_t tag)
bool legion_index_partition_has_index_subspace_domain_point(legion_runtime_t runtime, legion_index_partition_t handle, legion_domain_point_t color)
void legion_runtime_register_projection_functor(legion_runtime_t runtime, legion_projection_id_t id, bool exclusive, unsigned depth, legion_projection_functor_logical_region_args_t region_functor, legion_projection_functor_logical_partition_args_t partition_functor)
void legion_index_fill_launcher_set_sharding_space(legion_index_fill_launcher_t launcher, legion_index_space_t space)
legion_task_launcher_t legion_task_launcher_create_from_buffer(legion_task_id_t tid, const void *buffer, size_t buffer_size, legion_predicate_t pred, legion_mapper_id_t id, legion_mapping_tag_id_t tag)
void legion_task_launcher_set_region_requirement_logical_region(legion_task_launcher_t launcher, unsigned idx, legion_logical_region_t handle, legion_privilege_mode_t priv, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t tag, bool verified)
legion_dynamic_collective_t legion_dynamic_collective_alter_arrival_count(legion_runtime_t runtime, legion_context_t ctx, legion_dynamic_collective_t handle, int delta)
void legion_point_coloring_add_range(legion_point_coloring_t handle, legion_domain_point_t color, legion_ptr_t start, legion_ptr_t end)
legion_copy_launcher_t legion_copy_launcher_create(legion_predicate_t pred, legion_mapper_id_t id, legion_mapping_tag_id_t launcher_tag)
void legion_machine_destroy(legion_machine_t handle)
void legion_runtime_index_fill_field_future_with_space(legion_runtime_t runtime, legion_context_t ctx, legion_index_space_t space, legion_logical_partition_t handle, legion_logical_region_t parent, legion_field_id_t fid, legion_future_t f, legion_projection_id_t proj, legion_predicate_t pred, legion_mapper_id_t id, legion_mapping_tag_id_t launcher_tag)
legion_future_t legion_runtime_issue_execution_fence(legion_runtime_t runtime, legion_context_t ctx)
legion_index_partition_t legion_index_partition_create_equal(legion_runtime_t runtime, legion_context_t ctx, legion_index_space_t parent, legion_index_space_t color_space, size_t granularity, legion_color_t color)
legion_index_space_t legion_index_space_subtraction(legion_runtime_t runtime, legion_context_t ctx, legion_index_space_t left, legion_index_space_t right)
legion_index_space_t legion_index_partition_create_index_space_intersection_spaces(legion_runtime_t runtime, legion_context_t ctx, legion_index_partition_t parent, legion_domain_point_t color, const legion_index_space_t *spaces, size_t num_spaces)
legion_domain_t legion_domain_from_index_space(legion_runtime_t runtime, legion_index_space_t is)
void legion_index_copy_launcher_add_src_field(legion_index_copy_launcher_t launcher, unsigned idx, legion_field_id_t fid, bool inst)
void legion_runtime_preregister_projection_functor_mappable(legion_projection_id_t id, bool exclusive, unsigned depth, legion_projection_functor_logical_region_mappable_t region_functor, legion_projection_functor_logical_partition_mappable_t partition_functor)
bool legion_task_get_is_index_space(legion_task_t task)
legion_domain_t legion_domain_coloring_get_color_space(legion_domain_coloring_t handle)
enum legion_mappable_type_id_t legion_mappable_get_type(legion_mappable_t mappable)
void legion_index_launcher_set_region_requirement_logical_partition(legion_index_launcher_t launcher, unsigned idx, legion_logical_partition_t handle, legion_projection_id_t proj, legion_privilege_mode_t priv, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t tag, bool verified)
unsigned long long legion_get_current_time_in_micros(void)
legion_index_partition_t legion_index_partition_create_by_image(legion_runtime_t runtime, legion_context_t ctx, legion_index_space_t handle, legion_logical_partition_t projection, legion_logical_region_t parent, legion_field_id_t fid, legion_index_space_t color_space, legion_partition_kind_t part_kind, legion_color_t color, legion_mapper_id_t id, legion_mapping_tag_id_t tag, legion_untyped_buffer_t map_arg)
void legion_logger_fatal(legion_logger_t handle, const char *msg)
void legion_copy_launcher_set_provenance(legion_copy_launcher_t launcher, const char *provenance)
void legion_index_attach_launcher_set_restricted(legion_index_attach_launcher_t handle, bool restricted)
void legion_region_requirement_add_flags(legion_region_requirement_t handle, legion_region_flags_t flags)
void legion_task_add_future(legion_task_mut_t task, legion_future_t future)
legion_mapping_tag_id_t legion_region_requirement_get_tag(legion_region_requirement_t handle)
void legion_slice_task_output_verify_correctness_set(legion_slice_task_output_t output, bool verify_correctness)
legion_future_map_t legion_future_map_copy(legion_future_map_t handle)
int legion_runtime_wait_for_shutdown(void)
void legion_layout_constraint_set_destroy(legion_layout_constraint_set_t handle)
void legion_index_attach_launcher_set_provenance(legion_index_attach_launcher_t handle, const char *provenance)
legion_future_map_t legion_future_map_transform(legion_runtime_t runtime, legion_context_t ctx, legion_future_map_t fm, legion_index_space_t new_domain, legion_point_transform_functor_t functor, bool take_ownership)
legion_external_resources_t legion_attach_external_resources(legion_runtime_t runtime, legion_context_t ctx, legion_index_attach_launcher_t launcher)
void legion_task_preamble(const void *data, size_t datalen, realm_id_t proc_id, legion_task_t *taskptr, const legion_physical_region_t **regionptr, unsigned *num_regions_ptr, legion_context_t *ctxptr, legion_runtime_t *runtimeptr)
void legion_index_launcher_add_point_future(legion_index_launcher_t launcher, legion_argument_map_t map)
#define ITERATOR_STEP(DIM)
Definition: legion_c.h:698
void legion_map_task_output_chosen_instances_clear_all(legion_map_task_output_t output)
legion_region_requirement_t legion_task_get_requirement(legion_task_t task, unsigned idx)
unsigned legion_index_launcher_add_region_requirement_logical_partition(legion_index_launcher_t launcher, legion_logical_partition_t handle, legion_projection_id_t proj, legion_privilege_mode_t priv, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t tag, bool verified)
void legion_map_task_output_chosen_instances_add(legion_map_task_output_t output, legion_physical_instance_t *instances, size_t instances_size)
legion_predicate_t legion_predicate_create(legion_runtime_t runtime, legion_context_t ctx, legion_future_t f)
void legion_task_id_attach_semantic_information(legion_runtime_t runtime, legion_task_id_t task_id, legion_semantic_tag_t tag, const void *buffer, size_t size, bool is_mutable)
void legion_context_destroy(legion_context_t)
void legion_memory_query_has_affinity_to_memory(legion_memory_query_t query, legion_memory_t mem, unsigned min_bandwidth, unsigned max_latency)
void legion_map_task_output_target_procs_add(legion_map_task_output_t output, legion_processor_t proc)
void legion_task_id_retrieve_name(legion_runtime_t runtime, legion_task_id_t task_id, const char **result)
void legion_copy_launcher_add_dst_field(legion_copy_launcher_t launcher, unsigned idx, legion_field_id_t fid, bool inst)
void legion_runtime_index_fill_field_with_domain(legion_runtime_t runtime, legion_context_t ctx, legion_domain_t domain, legion_logical_partition_t handle, legion_logical_region_t parent, legion_field_id_t fid, const void *value, size_t value_size, legion_projection_id_t proj, legion_predicate_t pred, legion_mapper_id_t id, legion_mapping_tag_id_t launcher_tag)
legion_phase_barrier_t legion_phase_barrier_advance(legion_runtime_t runtime, legion_context_t ctx, legion_phase_barrier_t handle)
void legion_logger_debug(legion_logger_t handle, const char *msg)
legion_address_space_t legion_processor_address_space(legion_processor_t proc)
legion_task_t legion_task_mut_as_task(legion_task_mut_t task)
legion_future_t legion_runtime_issue_mapping_fence(legion_runtime_t runtime, legion_context_t ctx)
legion_output_requirement_t legion_output_requirement_create_region_requirement(legion_region_requirement_t handle)
void legion_fill_launcher_execute(legion_runtime_t runtime, legion_context_t ctx, legion_fill_launcher_t launcher)
legion_logical_region_t legion_logical_partition_get_logical_subregion_by_color_domain_point(legion_runtime_t runtime, legion_logical_partition_t parent, legion_domain_point_t c)
void legion_index_partition_retrieve_name(legion_runtime_t runtime, legion_index_partition_t handle, const char **result)
legion_processor_t legion_map_task_output_target_procs_get(legion_map_task_output_t output, size_t idx)
void legion_region_requirement_get_privilege_fields(legion_region_requirement_t handle, legion_field_id_t *fields, unsigned fields_size)
bool legion_coloring_has_point(legion_coloring_t handle, legion_color_t color, legion_ptr_t point)
void legion_attach_launcher_add_cpu_soa_field(legion_attach_launcher_t launcher, legion_field_id_t fid, void *base_ptr, bool column_major)
void legion_index_copy_launcher_add_wait_barrier(legion_index_copy_launcher_t launcher, legion_phase_barrier_t bar)
legion_fill_t legion_mappable_as_fill(legion_mappable_t mappable)
void legion_index_copy_launcher_set_sharding_space(legion_index_copy_launcher_t launcher, legion_index_space_t is)
realm_task_pointer_t legion_task_pointer_wrapped_t
Definition: legion_c.h:400
legion_field_space_t legion_field_space_create_with_futures(legion_runtime_t runtime, legion_context_t ctx, legion_future_t *field_sizes, legion_field_id_t *field_ids, size_t num_fields, legion_custom_serdez_id_t serdez)
void legion_attach_launcher_set_provenance(legion_attach_launcher_t handle, const char *provenance)
unsigned legion_task_launcher_add_index_requirement(legion_task_launcher_t launcher, legion_index_space_t handle, legion_allocate_mode_t priv, legion_index_space_t parent, bool verified)
void legion_fill_launcher_destroy(legion_fill_launcher_t handle)
void legion_logical_region_destroy_unordered(legion_runtime_t runtime, legion_context_t ctx, legion_logical_region_t handle, bool unordered)
bool legion_future_is_empty(legion_future_t handle, bool block)
void legion_sharding_functor_invert(legion_sharding_id_t sid, legion_shard_id_t shard, legion_domain_t shard_domain, legion_domain_t full_domain, size_t total_shards, legion_domain_point_t *points, size_t *points_size)
void legion_runtime_add_registration_callback(legion_registration_callback_pointer_t callback)
void legion_argument_map_destroy(legion_argument_map_t handle)
unsigned legion_index_copy_launcher_add_dst_indirect_region_requirement_logical_region(legion_index_copy_launcher_t launcher, legion_logical_region_t handle, legion_projection_id_t proj, legion_field_id_t fid, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t tag, bool is_range_indirection, bool verified)
void legion_index_attach_launcher_destroy(legion_index_attach_launcher_t handle)
struct legion_domain_affine_transform_t legion_domain_affine_transform_t
void legion_runtime_index_fill_field_future_with_domain(legion_runtime_t runtime, legion_context_t ctx, legion_domain_t domain, legion_logical_partition_t handle, legion_logical_region_t parent, legion_field_id_t fid, legion_future_t f, legion_projection_id_t proj, legion_predicate_t pred, legion_mapper_id_t id, legion_mapping_tag_id_t launcher_tag)
legion_ptr_t legion_ptr_nil(void)
void legion_index_copy_launcher_add_dst_field(legion_index_copy_launcher_t launcher, unsigned idx, legion_field_id_t fid, bool inst)
size_t legion_task_get_arglen(legion_task_t task)
legion_processor_query_t legion_processor_query_create(legion_machine_t machine)
legion_future_map_t legion_must_epoch_launcher_execute(legion_runtime_t runtime, legion_context_t ctx, legion_must_epoch_launcher_t launcher)
struct legion_task_config_options_t legion_task_config_options_t
legion_logical_region_t(* legion_projection_functor_logical_partition_mappable_t)(legion_runtime_t, legion_mappable_t, unsigned, legion_logical_partition_t, legion_domain_point_t)
Definition: legion_c.h:467
legion_layout_constraint_id_t legion_layout_constraint_set_preregister(legion_layout_constraint_set_t handle, const char *layout_name)
size_t legion_future_get_untyped_size(legion_future_t handle)
void legion_must_epoch_launcher_add_index_task(legion_must_epoch_launcher_t launcher, legion_index_launcher_t handle)
void legion_index_launcher_intersect_flags(legion_index_launcher_t launcher, unsigned idx, enum legion_region_flags_t flags)
void legion_task_launcher_set_mapper(legion_task_launcher_t launcher, legion_mapper_id_t mapper_id)
legion_memory_query_t legion_memory_query_create(legion_machine_t machine)
bool legion_logger_want_info(legion_logger_t handle)
void legion_logical_region_destroy(legion_runtime_t runtime, legion_context_t ctx, legion_logical_region_t handle)
void legion_logical_partition_attach_semantic_information(legion_runtime_t runtime, legion_logical_partition_t handle, legion_semantic_tag_t tag, const void *buffer, size_t size, bool is_mutable)
unsigned legion_task_get_futures_size(legion_task_t task)
bool legion_field_space_has_fields(legion_runtime_t runtime, legion_context_t ctx, legion_field_space_t handle, const legion_field_id_t *fields, size_t fields_size)
void legion_slice_task_output_slices_add(legion_slice_task_output_t output, legion_task_slice_t slice)
unsigned legion_copy_launcher_add_dst_region_requirement_logical_region_reduction(legion_copy_launcher_t launcher, legion_logical_region_t handle, legion_reduction_op_id_t redop, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t tag, bool verified)
void legion_index_launcher_set_region_requirement_logical_region(legion_index_launcher_t launcher, unsigned idx, legion_logical_region_t handle, legion_projection_id_t proj, legion_privilege_mode_t priv, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t tag, bool verified)
void * legion_task_get_args(legion_task_t task)
void legion_execution_constraint_set_add_resource_constraint(legion_execution_constraint_set_t handle, legion_resource_constraint_t resource, legion_equality_kind_t eq, size_t value)
void legion_machine_get_all_processors(legion_machine_t machine, legion_processor_t *processors, size_t processors_size)
legion_future_map_t legion_index_launcher_execute_outputs(legion_runtime_t runtime, legion_context_t ctx, legion_index_launcher_t launcher, legion_output_requirement_t *reqs, size_t reqs_size)
void legion_phase_barrier_wait(legion_runtime_t runtime, legion_context_t ctx, legion_phase_barrier_t handle)
#define BUFFER_CREATE(DIM)
Definition: legion_c.h:2889
struct legion_logical_region_t legion_logical_region_t
void legion_runtime_end_trace(legion_runtime_t runtime, legion_context_t ctx, legion_trace_id_t tid)
legion_ptr_t legion_ptr_safe_cast(legion_runtime_t runtime, legion_context_t ctx, legion_ptr_t pointer, legion_logical_region_t region)
void legion_runtime_unmap_all_regions(legion_runtime_t runtime, legion_context_t ctx)
legion_phase_barrier_t legion_phase_barrier_create(legion_runtime_t runtime, legion_context_t ctx, unsigned arrivals)
legion_future_map_t legion_future_map_construct_from_buffers(legion_runtime_t runtime, legion_context_t ctx, legion_domain_t domain, legion_domain_point_t *points, legion_untyped_buffer_t *buffers, size_t num_points, bool collective, legion_sharding_id_t sid, bool implicit_sharding)
legion_future_t legion_task_launcher_execute_outputs(legion_runtime_t runtime, legion_context_t ctx, legion_task_launcher_t launcher, legion_output_requirement_t *reqs, size_t reqs_size)
bool legion_mapper_runtime_create_physical_instance_layout_constraint(legion_mapper_runtime_t runtime, legion_mapper_context_t ctx, legion_memory_t target_memory, legion_layout_constraint_set_t constraints, const legion_logical_region_t *regions, size_t regions_size, legion_physical_instance_t *result, bool acquire, legion_garbage_collection_priority_t priority)
legion_future_t legion_flush_detach_external_resource(legion_runtime_t runtime, legion_context_t ctx, legion_physical_region_t handle, bool flush)
legion_index_launcher_t legion_index_launcher_create_from_buffer(legion_task_id_t tid, legion_domain_t domain, const void *buffer, size_t buffer_size, legion_argument_map_t map, legion_predicate_t pred, bool must, legion_mapper_id_t id, legion_mapping_tag_id_t tag)
void legion_memory_query_destroy(legion_memory_query_t handle)
void legion_release_launcher_execute(legion_runtime_t runtime, legion_context_t ctx, legion_release_launcher_t launcher)
void legion_logger_spew(legion_logger_t handle, const char *msg)
void legion_runtime_detach_hdf5(legion_runtime_t runtime, legion_context_t ctx, legion_physical_region_t region)
legion_field_allocator_t legion_field_allocator_create(legion_runtime_t runtime, legion_context_t ctx, legion_field_space_t handle)
legion_logical_region_t(* legion_projection_functor_logical_region_args_t)(legion_runtime_t, legion_logical_region_t, legion_domain_point_t, legion_domain_t, const void *, size_t)
Definition: legion_c.h:429
legion_future_t legion_detach_external_resource(legion_runtime_t runtime, legion_context_t ctx, legion_physical_region_t handle)
void legion_dynamic_collective_arrive(legion_runtime_t runtime, legion_context_t ctx, legion_dynamic_collective_t handle, const void *buffer, size_t size, unsigned count)
legion_task_mut_t legion_task_create_empty()
void legion_index_attach_launcher_attach_hdf5(legion_index_attach_launcher_t handle, legion_logical_region_t region, const char *filename, legion_field_map_t field_map, legion_file_mode_t mode)
void legion_fill_launcher_add_field(legion_fill_launcher_t handle, legion_field_id_t fid)
legion_index_space_t legion_index_partition_create_index_space_union_spaces(legion_runtime_t runtime, legion_context_t ctx, legion_index_partition_t parent, legion_domain_point_t color, const legion_index_space_t *spaces, size_t num_spaces)
void legion_release_launcher_add_field(legion_release_launcher_t launcher, legion_field_id_t fid)
void legion_index_fill_launcher_add_field(legion_fill_launcher_t handle, legion_field_id_t fid)
const legion_input_args_t legion_runtime_get_input_args(void)
legion_domain_t legion_future_map_get_domain(legion_future_map_t handle)
void legion_index_copy_launcher_destroy(legion_index_copy_launcher_t handle)
legion_task_id_t legion_runtime_register_task_variant_fnptr(legion_runtime_t runtime, legion_task_id_t id, const char *task_name, const char *variant_name, bool global, legion_execution_constraint_set_t execution_constraints, legion_task_layout_constraint_set_t layout_constraints, legion_task_config_options_t options, legion_task_pointer_wrapped_t wrapped_task_pointer, const void *userdata, size_t userlen)
legion_must_epoch_launcher_t legion_must_epoch_launcher_create(legion_mapper_id_t id, legion_mapping_tag_id_t launcher_tag)
void legion_index_launcher_set_global_arg(legion_index_launcher_t launcher, legion_untyped_buffer_t global_arg)
void legion_index_launcher_destroy(legion_index_launcher_t handle)
void legion_index_copy_launcher_set_possible_dst_indirect_out_of_range(legion_index_copy_launcher_t launcher, bool flag)
struct legion_field_space_t legion_field_space_t
size_t legion_external_resources_size(legion_external_resources_t handle)
bool legion_ptr_is_null(legion_ptr_t ptr)
void legion_runtime_begin_trace(legion_runtime_t runtime, legion_context_t ctx, legion_trace_id_t tid, bool logical_only)
void legion_release_launcher_destroy(legion_release_launcher_t handle)
void legion_layout_constraint_set_add_field_constraint(legion_layout_constraint_set_t handle, const legion_field_id_t *fields, size_t num_fields, bool contiguous, bool inorder)
int legion_index_space_get_dim(legion_index_space_t handle)
void legion_future_get_void_result(legion_future_t handle)
void legion_logical_partition_destroy(legion_runtime_t runtime, legion_context_t ctx, legion_logical_partition_t handle)
void legion_index_copy_launcher_set_provenance(legion_index_copy_launcher_t launcher, const char *provenance)
void legion_memory_query_same_address_space_as_processor(legion_memory_query_t query, legion_processor_t proc)
unsigned legion_copy_launcher_add_src_indirect_region_requirement_logical_region(legion_copy_launcher_t launcher, legion_logical_region_t handle, legion_field_id_t fid, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t tag, bool is_range_indirection, bool verified)
void legion_coloring_delete_point(legion_coloring_t handle, legion_color_t color, legion_ptr_t point)
void legion_field_space_create_shared_ownership(legion_runtime_t runtime, legion_context_t ctx, legion_field_space_t handle)
void legion_execution_constraint_set_add_processor_constraint(legion_execution_constraint_set_t handle, legion_processor_kind_t proc_kind)
void legion_acquire_launcher_set_mapper_arg(legion_acquire_launcher_t launcher, legion_untyped_buffer_t arg)
void legion_inline_launcher_set_mapper_arg(legion_inline_launcher_t launcher, legion_untyped_buffer_t arg)
legion_memory_t legion_memory_query_next(legion_memory_query_t query, legion_memory_t after)
#define ITERATOR_CREATE(DIM)
Definition: legion_c.h:669
void legion_task_postamble(legion_runtime_t runtime, legion_context_t ctx, const void *retval, size_t retsize)
legion_future_t legion_future_copy(legion_future_t handle)
void legion_processor_query_local_address_space(legion_processor_query_t query)
bool legion_field_space_retrieve_semantic_information(legion_runtime_t runtime, legion_field_space_t handle, legion_semantic_tag_t tag, const void **result, size_t *size, bool can_fail, bool wait_until_ready)
legion_field_id_t legion_field_allocator_allocate_field(legion_field_allocator_t allocator, size_t field_size, legion_field_id_t desired_fieldid)
#define GET_RECT(DIM)
Definition: legion_c.h:529
size_t legion_memory_query_count(legion_memory_query_t query)
legion_layout_constraint_set_t legion_layout_constraint_set_create(void)
legion_domain_coloring_t legion_domain_coloring_create(void)
legion_index_space_t legion_index_space_intersection(legion_runtime_t runtime, legion_context_t ctx, const legion_index_space_t *spaces, size_t num_spaces)
legion_index_fill_launcher_t legion_index_fill_launcher_create_with_space(legion_index_space_t space, legion_logical_partition_t handle, legion_logical_region_t parent, legion_field_id_t fid, const void *value, size_t value_size, legion_projection_id_t proj, legion_predicate_t pred, legion_mapper_id_t id, legion_mapping_tag_id_t launcher_tag)
void legion_attach_launcher_set_mapped(legion_attach_launcher_t handle, bool mapped)
void legion_layout_constraint_set_add_dimension_constraint(legion_layout_constraint_set_t handle, legion_dimension_kind_t dim, legion_equality_kind_t eq, size_t value)
void legion_acquire_launcher_execute(legion_runtime_t runtime, legion_context_t ctx, legion_acquire_launcher_t launcher)
void legion_logical_partition_destroy_unordered(legion_runtime_t runtime, legion_context_t ctx, legion_logical_partition_t handle, bool unordered)
void legion_region_requirement_add_field(legion_region_requirement_t handle, legion_field_id_t field, bool instance_field)
void * legion_task_get_local_args(legion_task_t task)
legion_field_id_t legion_auto_generate_id(void)
legion_region_requirement_t legion_inline_get_requirement(legion_inline_t inline_operation)
void legion_index_launcher_set_provenance(legion_index_launcher_t launcher, const char *provenance)
void legion_index_copy_launcher_add_arrival_barrier(legion_index_copy_launcher_t launcher, legion_phase_barrier_t bar)
legion_mapper_id_t legion_task_get_mapper(legion_task_t task)
void legion_index_partition_attach_name(legion_runtime_t runtime, legion_index_partition_t handle, const char *name, bool is_mutable)
void legion_domain_coloring_destroy(legion_domain_coloring_t handle)
struct legion_untyped_buffer_t legion_untyped_buffer_t
#define ITERATOR_OP(DIM)
Definition: legion_c.h:707
const void * legion_future_get_untyped_pointer(legion_future_t handle)
unsigned legion_task_launcher_add_region_requirement_logical_region_reduction(legion_task_launcher_t launcher, legion_logical_region_t handle, legion_reduction_op_id_t redop, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t tag, bool verified)
void legion_fill_launcher_set_sharding_space(legion_fill_launcher_t launcher, legion_index_space_t space)
void legion_task_launcher_set_provenance(legion_task_launcher_t launcher, const char *provenance)
unsigned legion_region_requirement_get_instance_fields_size(legion_region_requirement_t handle)
legion_mapper_id_t legion_runtime_generate_library_mapper_ids(legion_runtime_t runtime, const char *library_name, size_t count)
void legion_field_space_destroy(legion_runtime_t runtime, legion_context_t ctx, legion_field_space_t handle)
void legion_layout_constraint_set_add_pointer_constraint(legion_layout_constraint_set_t handle, legion_memory_t memory, uintptr_t ptr)
size_t legion_field_id_get_size(legion_runtime_t runtime, legion_context_t ctx, legion_field_space_t handle, legion_field_id_t id)
void legion_index_launcher_add_future(legion_index_launcher_t launcher, legion_future_t future)
legion_region_requirement_t legion_copy_get_requirement(legion_copy_t copy, unsigned idx)
void legion_future_wait(legion_future_t handle, bool silence_warnings, const char *warning_string)
legion_future_t legion_detach_external_resources(legion_runtime_t runtime, legion_context_t ctx, legion_external_resources_t, bool flush, bool unordered)
void legion_logical_region_attach_semantic_information(legion_runtime_t runtime, legion_logical_region_t handle, legion_semantic_tag_t tag, const void *buffer, size_t size, bool is_mutable)
legion_index_space_t legion_logical_region_get_index_space(legion_logical_region_t handle)
legion_copy_t legion_mappable_as_copy(legion_mappable_t mappable)
void legion_field_space_destroy_unordered(legion_runtime_t runtime, legion_context_t ctx, legion_field_space_t handle, bool unordered)
legion_fill_launcher_t legion_fill_launcher_create_from_future(legion_logical_region_t handle, legion_logical_region_t parent, legion_field_id_t fid, legion_future_t f, legion_predicate_t pred, legion_mapper_id_t id, legion_mapping_tag_id_t tag)
legion_logical_partition_t legion_region_requirement_get_partition(legion_region_requirement_t handle)
unsigned legion_task_launcher_add_region_requirement_logical_region(legion_task_launcher_t launcher, legion_logical_region_t handle, legion_privilege_mode_t priv, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t tag, bool verified)
void legion_runtime_index_fill_field_with_space(legion_runtime_t runtime, legion_context_t ctx, legion_index_space_t space, legion_logical_partition_t handle, legion_logical_region_t parent, legion_field_id_t fid, const void *value, size_t value_size, legion_projection_id_t proj, legion_predicate_t pred, legion_mapper_id_t id, legion_mapping_tag_id_t launcher_tag)
size_t legion_runtime_total_shards(legion_runtime_t runtime, legion_context_t ctx)
legion_projection_id_t legion_region_requirement_get_projection(legion_region_requirement_t handle)
bool legion_mapper_runtime_create_physical_instance_layout_constraint_id(legion_mapper_runtime_t runtime, legion_mapper_context_t ctx, legion_memory_t target_memory, legion_layout_constraint_id_t layout_id, const legion_logical_region_t *regions, size_t regions_size, legion_physical_instance_t *result, bool acquire, legion_garbage_collection_priority_t priority)
legion_index_space_t legion_index_space_create_domain(legion_runtime_t runtime, legion_context_t ctx, legion_domain_t domain)
void legion_task_layout_constraint_set_add_layout_constraint(legion_task_layout_constraint_set_t handle, unsigned idx, legion_layout_constraint_id_t layout)
legion_field_id_t legion_region_requirement_get_instance_field(legion_region_requirement_t handle, unsigned idx)
bool legion_logical_partition_has_logical_subregion_by_color_domain_point(legion_runtime_t runtime, legion_logical_partition_t parent, legion_domain_point_t c)
void legion_logger_warning(legion_logger_t handle, const char *msg)
void legion_copy_launcher_set_possible_src_indirect_out_of_range(legion_copy_launcher_t launcher, bool flag)
legion_index_partition_t legion_index_partition_create_domain_point_coloring(legion_runtime_t runtime, legion_context_t ctx, legion_index_space_t parent, legion_domain_t color_space, legion_domain_point_coloring_t coloring, legion_partition_kind_t part_kind, legion_color_t color)
legion_processor_t legion_processor_query_random(legion_processor_query_t query)
void legion_task_launcher_set_predicate_false_future(legion_task_launcher_t launcher, legion_future_t f)
legion_future_t legion_future_map_get_future(legion_future_map_t handle, legion_domain_point_t point)
#define ITERATOR_VALID(DIM)
Definition: legion_c.h:689
legion_domain_point_t legion_task_get_index_point(legion_task_t task)
void legion_task_launcher_add_wait_barrier(legion_task_launcher_t launcher, legion_phase_barrier_t bar)
void legion_task_launcher_set_argument(legion_task_launcher_t launcher, legion_untyped_buffer_t arg)
void legion_layout_constraint_set_add_offset_constraint(legion_layout_constraint_set_t handle, legion_field_id_t field, size_t offset)
legion_logical_region_t legion_region_requirement_get_parent(legion_region_requirement_t handle)
legion_field_id_t legion_field_allocator_allocate_field_future(legion_field_allocator_t allocator, legion_future_t field_size, legion_field_id_t desired_fieldid)
unsigned legion_index_copy_launcher_add_dst_region_requirement_logical_partition_reduction(legion_index_copy_launcher_t launcher, legion_logical_partition_t handle, legion_projection_id_t proj, legion_reduction_op_id_t redop, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t tag, bool verified)
void legion_copy_launcher_add_src_field(legion_copy_launcher_t launcher, unsigned idx, legion_field_id_t fid, bool inst)
legion_logger_t legion_logger_create(const char *name)
unsigned legion_index_copy_launcher_add_src_region_requirement_logical_partition(legion_index_copy_launcher_t launcher, legion_logical_partition_t handle, legion_projection_id_t proj, legion_privilege_mode_t priv, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t tag, bool verified)
legion_index_space_t legion_index_partition_get_color_space(legion_runtime_t runtime, legion_index_partition_t handle)
legion_machine_t legion_machine_create(void)
void legion_task_launcher_set_mapping_tag(legion_task_launcher_t launcher, legion_mapping_tag_id_t tag)
legion_task_id_t legion_task_get_task_id(legion_task_t task)
legion_task_t legion_mappable_as_task(legion_mappable_t mappable)
void legion_index_launcher_set_mapper(legion_index_launcher_t launcher, legion_mapper_id_t mapper_id)
legion_memory_kind_t legion_memory_kind(legion_memory_t mem)
legion_field_map_t legion_field_map_create(void)
size_t legion_machine_get_all_memories_size(legion_machine_t machine)
void legion_acquire_launcher_add_field(legion_acquire_launcher_t launcher, legion_field_id_t fid)
void legion_map_task_output_chosen_instances_set(legion_map_task_output_t output, size_t idx, legion_physical_instance_t *instances, size_t instances_size)
legion_region_requirement_t legion_region_requirement_create_logical_partition(legion_logical_partition_t handle, legion_projection_id_t proj, legion_privilege_mode_t priv, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t tag, bool verified)
legion_index_space_t legion_index_partition_create_index_space_union_partition(legion_runtime_t runtime, legion_context_t ctx, legion_index_partition_t parent, legion_domain_point_t color, legion_index_partition_t handle)
void legion_index_launcher_set_region_requirement_logical_partition_reduction(legion_index_launcher_t launcher, unsigned idx, legion_logical_partition_t handle, legion_projection_id_t proj, legion_reduction_op_id_t redop, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t tag, bool verified)
legion_region_requirement_t legion_fill_get_requirement(legion_fill_t fill)
void legion_must_epoch_launcher_set_launch_domain(legion_must_epoch_launcher_t launcher, legion_domain_t domain)
legion_index_partition_t legion_index_partition_create_by_restriction(legion_runtime_t runtime, legion_context_t ctx, legion_index_space_t parent, legion_index_space_t color_space, legion_domain_transform_t transform, legion_domain_t extent, legion_partition_kind_t part_kind, legion_color_t color)
#define FROM_RECT(DIM)
Definition: legion_c.h:513
void legion_task_launcher_add_future(legion_task_launcher_t launcher, legion_future_t future)
bool legion_logger_want_error(legion_logger_t handle)
void legion_field_id_retrieve_name(legion_runtime_t runtime, legion_field_space_t handle, legion_field_id_t id, const char **result)
void legion_copy_launcher_set_point(legion_copy_launcher_t launcher, legion_domain_point_t point)
void legion_copy_launcher_add_arrival_barrier(legion_copy_launcher_t launcher, legion_phase_barrier_t bar)
legion_address_space_t legion_memory_address_space(legion_memory_t mem)
void legion_inline_launcher_set_provenance(legion_inline_launcher_t launcher, const char *provenance)
void legion_index_space_attach_name(legion_runtime_t runtime, legion_index_space_t handle, const char *name, bool is_mutable)
struct legion_index_partition_t legion_index_partition_t
legion_privilege_mode_t legion_region_requirement_get_privilege(legion_region_requirement_t handle)
void legion_logger_info(legion_logger_t handle, const char *msg)
void legion_task_set_args(legion_task_mut_t task, void *args)
void legion_memory_query_only_kind(legion_memory_query_t query, legion_memory_kind_t kind)
void legion_processor_query_same_address_space_as_memory(legion_processor_query_t query, legion_memory_t mem)
void legion_runtime_initialize(int *argc, char ***argv, bool filter)
legion_index_partition_t legion_index_partition_create_by_weights_future_map(legion_runtime_t runtime, legion_context_t ctx, legion_index_space_t parent, legion_future_map_t future_map, legion_index_space_t color_space, size_t granularity, legion_color_t color)
legion_logical_region_t legion_region_requirement_get_region(legion_region_requirement_t handle)
legion_mapping_tag_id_t legion_task_get_tag(legion_task_t task)
unsigned legion_copy_launcher_add_src_region_requirement_logical_region(legion_copy_launcher_t launcher, legion_logical_region_t handle, legion_privilege_mode_t priv, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t tag, bool verified)
void legion_map_task_output_task_priority_set(legion_map_task_output_t output, legion_task_priority_t priority)
struct legion_memory_t legion_memory_t
legion_release_launcher_t legion_release_launcher_create(legion_logical_region_t logical_region, legion_logical_region_t parent_region, legion_predicate_t pred, legion_mapper_id_t id, legion_mapping_tag_id_t tag)
void legion_argument_map_set_future(legion_argument_map_t map, legion_domain_point_t dp, legion_future_t future, bool replace)
bool legion_index_space_retrieve_semantic_information(legion_runtime_t runtime, legion_index_space_t handle, legion_semantic_tag_t tag, const void **result, size_t *size, bool can_fail, bool wait_until_ready)
const void * legion_future_get_metadata(legion_future_t handle, size_t *size)
legion_index_partition_t legion_index_space_get_parent_index_partition(legion_runtime_t runtime, legion_index_space_t handle)
legion_index_partition_t legion_index_partition_create_by_difference(legion_runtime_t runtime, legion_context_t ctx, legion_index_space_t parent, legion_index_partition_t handle1, legion_index_partition_t handle2, legion_index_space_t color_space, legion_partition_kind_t part_kind, legion_color_t color)
void legion_index_copy_launcher_set_possible_src_indirect_out_of_range(legion_index_copy_launcher_t launcher, bool flag)
void legion_task_launcher_set_sharding_space(legion_task_launcher_t launcher, legion_index_space_t is)
void legion_runtime_print_once_fd(legion_runtime_t runtime, legion_context_t ctx, int fd, const char *mode, const char *message)
void legion_acquire_launcher_set_sharding_space(legion_acquire_launcher_t launcher, legion_index_space_t space)
void legion_dynamic_collective_destroy(legion_runtime_t runtime, legion_context_t ctx, legion_dynamic_collective_t handle)
legion_physical_region_t legion_get_physical_region_by_id(legion_physical_region_t *regionptr, int id, int num_regions)
void legion_index_space_destroy(legion_runtime_t runtime, legion_context_t ctx, legion_index_space_t handle)
legion_field_space_t legion_field_space_create(legion_runtime_t runtime, legion_context_t ctx)
void legion_execution_constraint_set_destroy(legion_execution_constraint_set_t handle)
void legion_processor_query_best_affinity_to_memory(legion_processor_query_t query, legion_memory_t mem, int bandwidth_weight, int latency_weight)
bool legion_mapper_runtime_acquire_instance(legion_mapper_runtime_t runtime, legion_mapper_context_t ctx, legion_physical_instance_t instance)
legion_index_space_t legion_index_partition_get_index_subspace_domain_point(legion_runtime_t runtime, legion_index_partition_t handle, legion_domain_point_t color)
size_t legion_machine_get_all_processors_size(legion_machine_t machine)
bool legion_index_partition_is_complete(legion_runtime_t runtime, legion_index_partition_t handle)
void legion_task_launcher_set_elide_future_return(legion_task_launcher_t launcher, bool elide_future_return)
legion_index_partition_t legion_index_partition_create_by_preimage(legion_runtime_t runtime, legion_context_t ctx, legion_index_partition_t projection, legion_logical_region_t handle, legion_logical_region_t parent, legion_field_id_t fid, legion_index_space_t color_space, legion_partition_kind_t part_kind, legion_color_t color, legion_mapper_id_t id, legion_mapping_tag_id_t tag, legion_untyped_buffer_t map_arg)
void legion_runtime_fill_field_future(legion_runtime_t runtime, legion_context_t ctx, legion_logical_region_t handle, legion_logical_region_t parent, legion_field_id_t fid, legion_future_t f, legion_predicate_t pred)
unsigned legion_index_copy_launcher_add_src_region_requirement_logical_region(legion_index_copy_launcher_t launcher, legion_logical_region_t handle, legion_projection_id_t proj, legion_privilege_mode_t priv, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t tag, bool verified)
void legion_logger_error(legion_logger_t handle, const char *msg)
void legion_field_space_attach_name(legion_runtime_t runtime, legion_field_space_t handle, const char *name, bool is_mutable)
void legion_map_task_output_target_procs_clear(legion_map_task_output_t output)
void legion_must_epoch_launcher_set_launch_space(legion_must_epoch_launcher_t launcher, legion_index_space_t is)
void legion_processor_query_destroy(legion_processor_query_t handle)
void legion_index_fill_launcher_set_provenance(legion_index_fill_launcher_t launcher, const char *provenance)
legion_future_t legion_future_map_reduce(legion_runtime_t runtime, legion_context_t ctx, legion_future_map_t handle, legion_reduction_op_id_t redop, bool deterministic, legion_mapper_id_t map_id, legion_mapping_tag_id_t tag)
bool legion_logger_want_fatal(legion_logger_t handle)
bool legion_physical_region_is_valid(legion_physical_region_t handle)
bool legion_mapper_runtime_find_or_create_physical_instance_layout_constraint_id(legion_mapper_runtime_t runtime, legion_mapper_context_t ctx, legion_memory_t target_memory, legion_layout_constraint_id_t layout_id, const legion_logical_region_t *regions, size_t regions_size, legion_physical_instance_t *result, bool *created, bool acquire, legion_garbage_collection_priority_t priority, bool tight_region_bounds)
void legion_task_launcher_add_flags(legion_task_launcher_t launcher, unsigned idx, enum legion_region_flags_t flags)
legion_logical_partition_t legion_output_requirement_get_partition(legion_output_requirement_t handle)
void legion_multi_domain_point_coloring_destroy(legion_multi_domain_point_coloring_t handle)
bool legion_logical_region_retrieve_semantic_information(legion_runtime_t runtime, legion_logical_region_t handle, legion_semantic_tag_t tag, const void **result, size_t *size, bool can_fail, bool wait_until_ready)
legion_future_t legion_runtime_select_tunable_value(legion_runtime_t runtime, legion_context_t ctx, legion_tunable_id_t tid, legion_mapper_id_t mapper, legion_mapping_tag_id_t tag)
unsigned legion_task_get_regions_size(legion_task_t task)
bool legion_task_id_retrieve_semantic_information(legion_runtime_t runtime, legion_task_id_t task_id, legion_semantic_tag_t tag, const void **result, size_t *size, bool can_fail, bool wait_until_ready)
void legion_must_epoch_launcher_destroy(legion_must_epoch_launcher_t handle)
void legion_physical_region_wait_until_valid(legion_physical_region_t handle)
void legion_attach_launcher_destroy(legion_attach_launcher_t handle)
legion_index_launcher_t legion_index_launcher_create(legion_task_id_t tid, legion_domain_t domain, legion_untyped_buffer_t global_arg, legion_argument_map_t map, legion_predicate_t pred, bool must, legion_mapper_id_t id, legion_mapping_tag_id_t tag)
legion_argument_map_t legion_argument_map_create(void)
legion_shard_id_t legion_runtime_local_shard(legion_runtime_t runtime, legion_context_t ctx)
#define FROM_POINT(DIM)
Definition: legion_c.h:588
void legion_task_launcher_destroy(legion_task_launcher_t handle)
void legion_execution_constraint_set_add_launch_constraint(legion_execution_constraint_set_t handle, legion_launch_constraint_t kind, size_t value)
legion_dynamic_collective_t legion_dynamic_collective_advance(legion_runtime_t runtime, legion_context_t ctx, legion_dynamic_collective_t handle)
legion_domain_point_t legion_domain_point_safe_cast(legion_runtime_t runtime, legion_context_t ctx, legion_domain_point_t point, legion_logical_region_t region)
size_t legion_processor_query_count(legion_processor_query_t query)
#define ACCESSOR_ARRAY(DIM)
Definition: legion_c.h:5193
struct legion_task_slice_t legion_task_slice_t
bool legion_mapper_runtime_find_physical_instance_layout_constraint(legion_mapper_runtime_t runtime, legion_mapper_context_t ctx, legion_memory_t target_memory, legion_layout_constraint_set_t constraints, const legion_logical_region_t *regions, size_t regions_size, legion_physical_instance_t *result, bool acquire, bool tight_region_bounds)
bool legion_mapper_runtime_find_physical_instance_layout_constraint_id(legion_mapper_runtime_t runtime, legion_mapper_context_t ctx, legion_memory_t target_memory, legion_layout_constraint_id_t layout_id, const legion_logical_region_t *regions, size_t regions_size, legion_physical_instance_t *result, bool acquire, bool tight_region_bounds)
legion_runtime_t legion_runtime_get_runtime(void)
void legion_physical_region_destroy(legion_physical_region_t handle)
void legion_runtime_index_fill_field(legion_runtime_t runtime, legion_context_t ctx, legion_logical_partition_t handle, legion_logical_region_t parent, legion_field_id_t fid, const void *value, size_t value_size, legion_projection_id_t proj, legion_predicate_t pred, legion_mapper_id_t id, legion_mapping_tag_id_t launcher_tag)
void legion_layout_constraint_set_add_alignment_constraint(legion_layout_constraint_set_t handle, legion_field_id_t field, legion_equality_kind_t eq, size_t byte_boundary)
legion_index_partition_t legion_index_partition_create_by_field(legion_runtime_t runtime, legion_context_t ctx, legion_logical_region_t handle, legion_logical_region_t parent, legion_field_id_t fid, legion_index_space_t color_space, legion_color_t color, legion_mapper_id_t id, legion_mapping_tag_id_t tag, legion_partition_kind_t part_kind, legion_untyped_buffer_t map_arg)
void legion_future_map_wait_all_results(legion_future_map_t handle)
legion_domain_t legion_domain_empty(unsigned dim)
void legion_index_launcher_set_elide_future_return(legion_index_launcher_t launcher, bool elide_future_return)
void legion_memory_query_best_affinity_to_processor(legion_memory_query_t query, legion_processor_t proc, int bandwidth_weight, int latency_weight)
void legion_index_launcher_set_region_requirement_logical_region_reduction(legion_index_launcher_t launcher, unsigned idx, legion_logical_region_t handle, legion_projection_id_t proj, legion_reduction_op_id_t redop, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t tag, bool verified)
void legion_execution_constraint_set_add_colocation_constraint(legion_execution_constraint_set_t handle, const unsigned *indexes, size_t num_indexes, const legion_field_id_t *fields, size_t num_fields)
void legion_multi_domain_point_coloring_color_domain(legion_multi_domain_point_coloring_t handle, legion_domain_point_t color, legion_domain_t domain)
unsigned legion_index_copy_launcher_add_dst_indirect_region_requirement_logical_partition(legion_index_copy_launcher_t launcher, legion_logical_partition_t handle, legion_projection_id_t proj, legion_field_id_t fid, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t tag, bool is_range_indirection, bool verified)
void legion_logical_region_retrieve_name(legion_runtime_t runtime, legion_logical_region_t handle, const char **result)
legion_future_t legion_issue_timing_op_seconds(legion_runtime_t runtime, legion_context_t ctx)
void legion_index_copy_launcher_set_mapper_arg(legion_index_copy_launcher_t launcher, legion_untyped_buffer_t arg)
void legion_release_launcher_add_arrival_barrier(legion_release_launcher_t launcher, legion_phase_barrier_t bar)
void legion_copy_launcher_add_wait_barrier(legion_copy_launcher_t launcher, legion_phase_barrier_t bar)
void legion_task_launcher_set_mapper_arg(legion_task_launcher_t launcher, legion_untyped_buffer_t arg)
legion_logical_region_t legion_output_requirement_get_parent(legion_output_requirement_t handle)
void legion_future_destroy(legion_future_t handle)
void legion_task_launcher_add_arrival_barrier(legion_task_launcher_t launcher, legion_phase_barrier_t bar)
void legion_runtime_register_projection_functor_mappable(legion_runtime_t runtime, legion_projection_id_t id, bool exclusive, unsigned depth, legion_projection_functor_logical_region_mappable_t region_functor, legion_projection_functor_logical_partition_mappable_t partition_functor)
legion_logical_region_t legion_output_requirement_get_region(legion_output_requirement_t handle)
void legion_runtime_register_projection_functor_args(legion_runtime_t runtime, legion_projection_id_t id, bool exclusive, unsigned depth, legion_projection_functor_logical_region_t region_functor, legion_projection_functor_logical_partition_t partition_functor)
legion_future_t legion_index_launcher_execute_reduction_and_outputs(legion_runtime_t runtime, legion_context_t ctx, legion_index_launcher_t launcher, legion_reduction_op_id_t redop, bool deterministic, legion_output_requirement_t *reqs, size_t reqs_size)
void legion_task_launcher_set_region_requirement_logical_region_reduction(legion_task_launcher_t launcher, unsigned idx, legion_logical_region_t handle, legion_reduction_op_id_t redop, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t tag, bool verified)
legion_processor_t legion_runtime_get_executing_processor(legion_runtime_t runtime, legion_context_t ctx)
void legion_index_launcher_add_flags(legion_index_launcher_t launcher, unsigned idx, enum legion_region_flags_t flags)
legion_task_layout_constraint_set_t legion_task_layout_constraint_set_create(void)
legion_logical_partition_t legion_logical_partition_create(legion_runtime_t runtime, legion_logical_region_t parent, legion_index_partition_t handle)
struct legion_domain_t legion_domain_t
void legion_reset_equivalence_sets(legion_runtime_t runtime, legion_context_t ctx, legion_logical_region_t parent, legion_logical_region_t region, int num_fields, legion_field_id_t *fields)
legion_processor_query_t legion_processor_query_create_copy(legion_processor_query_t query)
bool legion_mapper_runtime_acquire_instances(legion_mapper_runtime_t runtime, legion_mapper_context_t ctx, legion_physical_instance_t *instances, size_t instances_size)
void legion_index_space_retrieve_name(legion_runtime_t runtime, legion_index_space_t handle, const char **result)
void legion_layout_constraint_set_release(legion_runtime_t runtime, legion_layout_constraint_id_t handle)
legion_physical_region_t legion_runtime_attach_hdf5(legion_runtime_t runtime, legion_context_t ctx, const char *filename, legion_logical_region_t handle, legion_logical_region_t parent, legion_field_map_t field_map, legion_file_mode_t mode)
void legion_acquire_launcher_add_wait_barrier(legion_acquire_launcher_t launcher, legion_phase_barrier_t bar)
legion_unique_id_t legion_context_get_unique_id(legion_context_t ctx)
legion_index_attach_launcher_t legion_index_attach_launcher_create(legion_logical_region_t parent_region, legion_external_resource_t resource, bool restricted)
struct legion_domain_point_t legion_domain_point_t
bool legion_domain_point_is_null(legion_domain_point_t point)
const legion_predicate_t legion_predicate_true(void)
legion_context_t legion_runtime_get_context(void)
void legion_index_launcher_set_projection_args(legion_index_launcher_t launcher_, unsigned idx, const void *args, size_t size, bool own)
bool legion_field_id_retrieve_semantic_information(legion_runtime_t runtime, legion_field_space_t handle, legion_field_id_t id, legion_semantic_tag_t tag, const void **result, size_t *size, bool can_fail, bool wait_until_ready)
legion_index_fill_launcher_t legion_index_fill_launcher_create_from_future_with_space(legion_index_space_t space, legion_logical_partition_t handle, legion_logical_region_t parent, legion_field_id_t fid, legion_future_t future, legion_projection_id_t proj, legion_predicate_t pred, legion_mapper_id_t id, legion_mapping_tag_id_t launcher_tag)
legion_index_space_t legion_index_partition_get_parent_index_space(legion_runtime_t runtime, legion_index_partition_t handle)
legion_multi_domain_point_coloring_t legion_multi_domain_point_coloring_create(void)
legion_memory_query_t legion_memory_query_create_copy(legion_memory_query_t query)
legion_color_t legion_index_partition_get_color(legion_runtime_t runtime, legion_index_partition_t handle)
void legion_field_allocator_free_field_unordered(legion_field_allocator_t allocator, legion_field_id_t fid, bool unordered)
legion_domain_point_iterator_t legion_domain_point_iterator_create(legion_domain_t handle)
void legion_release_launcher_set_mapper_arg(legion_release_launcher_t launcher, legion_untyped_buffer_t arg)
legion_memory_t legion_memory_query_first(legion_memory_query_t query)
void legion_coloring_destroy(legion_coloring_t handle)
void legion_logical_partition_attach_name(legion_runtime_t runtime, legion_logical_partition_t handle, const char *name, bool is_mutable)
void legion_index_space_attach_semantic_information(legion_runtime_t runtime, legion_index_space_t handle, legion_semantic_tag_t tag, const void *buffer, size_t size, bool is_mutable)
void legion_logical_partition_retrieve_name(legion_runtime_t runtime, legion_logical_partition_t handle, const char **result)
void legion_point_coloring_add_point(legion_point_coloring_t handle, legion_domain_point_t color, legion_ptr_t point)
void legion_index_attach_launcher_attach_array_aos(legion_index_attach_launcher_t handle, legion_logical_region_t region, void *base_ptr, bool column_major, const legion_field_id_t *fields, size_t num_fields, legion_memory_t memory)
void legion_runtime_preregister_projection_functor(legion_projection_id_t id, bool exclusive, unsigned depth, legion_projection_functor_logical_region_t region_functor, legion_projection_functor_logical_partition_t partition_functor)
bool legion_future_is_ready(legion_future_t handle)
unsigned long long legion_get_current_time_in_nanos(void)
void legion_release_launcher_set_sharding_space(legion_release_launcher_t launcher, legion_index_space_t space)
legion_index_partition_t legion_index_partition_create_by_domain_future_map(legion_runtime_t runtime, legion_context_t ctx, legion_index_space_t parent, legion_future_map_t future_map, legion_index_space_t color_space, bool perform_intersections, legion_partition_kind_t part_kind, legion_color_t color)
size_t legion_physical_region_get_memory_count(legion_physical_region_t handle)
void legion_task_destroy(legion_task_mut_t handle)
legion_inline_t legion_mappable_as_inline_mapping(legion_mappable_t mappable)
void legion_task_launcher_set_local_function_task(legion_task_launcher_t launcher, bool local_function_task)
void legion_predicate_destroy(legion_predicate_t handle)
void legion_index_launcher_add_wait_barrier(legion_index_launcher_t launcher, legion_phase_barrier_t bar)
legion_future_t legion_issue_timing_op_nanoseconds(legion_runtime_t runtime, legion_context_t ctx)
void legion_coloring_ensure_color(legion_coloring_t handle, legion_color_t color)
legion_reduction_op_id_t legion_region_requirement_get_redop(legion_region_requirement_t handle)
bool legion_runtime_has_runtime(void)
legion_processor_kind_t legion_processor_kind(legion_processor_t proc)
void legion_attach_launcher_attach_hdf5(legion_attach_launcher_t handle, const char *filename, legion_field_map_t field_map, legion_file_mode_t mode)
void legion_map_task_output_chosen_instances_clear_each(legion_map_task_output_t output, size_t idx)
void legion_fill_launcher_set_mapper_arg(legion_fill_launcher_t launcher, legion_untyped_buffer_t arg)
void legion_copy_launcher_execute(legion_runtime_t runtime, legion_context_t ctx, legion_copy_launcher_t launcher)
void legion_discard_launcher_set_provenance(legion_discard_launcher_t launcher, const char *provenance)
void legion_execution_constraint_set_add_isa_constraint(legion_execution_constraint_set_t handle, uint64_t prop)
unsigned legion_index_copy_launcher_add_dst_region_requirement_logical_region(legion_index_copy_launcher_t launcher, legion_logical_region_t handle, legion_projection_id_t proj, legion_privilege_mode_t priv, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t tag, bool verified)
legion_future_t legion_unordered_detach_external_resource(legion_runtime_t runtime, legion_context_t ctx, legion_physical_region_t handle, bool flush, bool unordered)
bool legion_logical_partition_retrieve_semantic_information(legion_runtime_t runtime, legion_logical_partition_t handle, legion_semantic_tag_t tag, const void **result, size_t *size, bool can_fail, bool wait_until_ready)
legion_index_partition_t legion_index_partition_create_pending_partition(legion_runtime_t runtime, legion_context_t ctx, legion_index_space_t parent, legion_index_space_t color_space, legion_partition_kind_t part_kind, legion_color_t color)
bool legion_runtime_has_context(void)
void legion_region_requirement_destroy(legion_region_requirement_t handle)
bool legion_domain_point_iterator_has_next(legion_domain_point_iterator_t handle)
legion_index_space_t legion_index_space_union(legion_runtime_t runtime, legion_context_t ctx, const legion_index_space_t *spaces, size_t num_spaces)
legion_logical_region_t legion_logical_partition_get_logical_subregion(legion_runtime_t runtime, legion_logical_partition_t parent, legion_index_space_t handle)
legion_future_t legion_index_launcher_execute_reduction(legion_runtime_t runtime, legion_context_t ctx, legion_index_launcher_t launcher, legion_reduction_op_id_t redop)
bool legion_logger_want_warning(legion_logger_t handle)
void legion_task_id_attach_name(legion_runtime_t runtime, legion_task_id_t task_id, const char *name, bool is_mutable)
legion_logical_region_t legion_logical_partition_get_parent_logical_region(legion_runtime_t runtime, legion_logical_partition_t handle)
void legion_inline_launcher_add_field(legion_inline_launcher_t launcher, legion_field_id_t fid, bool inst)
legion_physical_region_t legion_inline_launcher_execute(legion_runtime_t runtime, legion_context_t ctx, legion_inline_launcher_t launcher)
void legion_copy_launcher_set_possible_dst_indirect_out_of_range(legion_copy_launcher_t launcher, bool flag)
legion_physical_region_t legion_physical_region_copy(legion_physical_region_t handle)
legion_reduction_op_id_t legion_runtime_generate_library_reduction_ids(legion_runtime_t runtime, const char *library_name, size_t count)
void(* legion_registration_callback_pointer_t)(legion_machine_t, legion_runtime_t, const legion_processor_t *, unsigned)
Definition: legion_c.h:390
void legion_runtime_unmap_region(legion_runtime_t runtime, legion_context_t ctx, legion_physical_region_t region)
void legion_task_launcher_set_predicate_false_result(legion_task_launcher_t launcher, legion_untyped_buffer_t arg)
void legion_layout_constraint_set_add_ordering_constraint(legion_layout_constraint_set_t handle, const legion_dimension_kind_t *dims, size_t num_dims, bool contiguous)
void legion_discard_launcher_destroy(legion_discard_launcher_t handle)
legion_processor_t legion_processor_query_next(legion_processor_query_t query, legion_processor_t after)
void legion_logical_region_create_shared_ownership(legion_runtime_t runtime, legion_context_t ctx, legion_logical_region_t handle)
size_t legion_task_get_local_arglen(legion_task_t task)
legion_index_copy_launcher_t legion_index_copy_launcher_create(legion_domain_t domain, legion_predicate_t pred, legion_mapper_id_t id, legion_mapping_tag_id_t launcher_tag)
bool legion_logger_want_debug(legion_logger_t handle)
legion_region_requirement_t legion_region_requirement_create_logical_region_projection(legion_logical_region_t handle, legion_projection_id_t proj, legion_privilege_mode_t priv, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t tag, bool verified)
void legion_index_launcher_set_sharding_space(legion_index_launcher_t launcher, legion_index_space_t is)
legion_task_launcher_t legion_task_launcher_create(legion_task_id_t tid, legion_untyped_buffer_t arg, legion_predicate_t pred, legion_mapper_id_t id, legion_mapping_tag_id_t tag)
void legion_phase_barrier_arrive(legion_runtime_t runtime, legion_context_t ctx, legion_phase_barrier_t handle, unsigned count)
#define CREATE_BLOCKIFY(DIM)
Definition: legion_c.h:1177
legion_projection_id_t legion_runtime_generate_static_projection_id()
struct legion_index_space_t legion_index_space_t
void legion_copy_launcher_set_sharding_space(legion_copy_launcher_t launcher, legion_index_space_t space)
void legion_phase_barrier_destroy(legion_runtime_t runtime, legion_context_t ctx, legion_phase_barrier_t handle)
void legion_coloring_add_point(legion_coloring_t handle, legion_color_t color, legion_ptr_t point)
void legion_field_map_destroy(legion_field_map_t handle)
void legion_acquire_launcher_set_provenance(legion_acquire_launcher_t launcher, const char *provenance)
legion_future_t legion_task_get_future(legion_task_t task, unsigned idx)
void legion_point_coloring_destroy(legion_point_coloring_t handle)
void legion_logger_print(legion_logger_t handle, const char *msg)
unsigned legion_index_launcher_add_region_requirement_logical_region(legion_index_launcher_t launcher, legion_logical_region_t handle, legion_projection_id_t proj, legion_privilege_mode_t priv, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t tag, bool verified)
legion_field_space_t legion_field_space_create_with_fields(legion_runtime_t runtime, legion_context_t ctx, size_t *field_sizes, legion_field_id_t *field_ids, size_t num_fields, legion_custom_serdez_id_t serdez)
legion_future_t legion_issue_timing_op_microseconds(legion_runtime_t runtime, legion_context_t ctx)
unsigned legion_copy_launcher_add_dst_indirect_region_requirement_logical_region(legion_copy_launcher_t launcher, legion_logical_region_t handle, legion_field_id_t fid, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t tag, bool is_range_indirection, bool verified)
unsigned legion_index_copy_launcher_add_src_indirect_region_requirement_logical_region(legion_index_copy_launcher_t launcher, legion_logical_region_t handle, legion_projection_id_t proj, legion_field_id_t fid, legion_coherence_property_t prop, legion_logical_region_t parent, legion_mapping_tag_id_t tag, bool is_range_indirection, bool verified)
legion_future_map_t legion_future_map_construct_from_futures(legion_runtime_t runtime, legion_context_t ctx, legion_domain_t domain, legion_domain_point_t *points, legion_future_t *futures, size_t num_futures, bool collective, legion_sharding_id_t sid, bool implicit_sharding)
void legion_index_fill_launcher_execute(legion_runtime_t runtime, legion_context_t ctx, legion_index_fill_launcher_t launcher)
legion_future_t legion_task_launcher_execute(legion_runtime_t runtime, legion_context_t ctx, legion_task_launcher_t launcher)
void legion_coloring_add_range(legion_coloring_t handle, legion_color_t color, legion_ptr_t start, legion_ptr_t end)
void legion_index_partition_create_shared_ownership(legion_runtime_t runtime, legion_context_t ctx, legion_index_partition_t handle)
void legion_field_allocator_destroy(legion_field_allocator_t handle)
void legion_runtime_set_return_code(int return_code)
legion_future_t legion_index_launcher_execute_deterministic_reduction(legion_runtime_t runtime, legion_context_t ctx, legion_index_launcher_t launcher, legion_reduction_op_id_t redop, bool deterministic)
void legion_memory_query_local_address_space(legion_memory_query_t query)
void legion_argument_map_set_point(legion_argument_map_t map, legion_domain_point_t dp, legion_untyped_buffer_t arg, bool replace)
void legion_task_launcher_add_field(legion_task_launcher_t launcher, unsigned idx, legion_field_id_t fid, bool inst)
struct legion_dynamic_collective_t legion_dynamic_collective_t
Definition: legion_c.h:299
Definition: legion_c.h:240
Definition: legion_c.h:195
Definition: legion_c.h:156
Definition: legion_c.h:203
Definition: legion_c.h:358
Definition: legion_c.h:266
Definition: legion_c.h:257
Definition: legion_c.h:248
Definition: legion_c.h:282
Definition: legion_c.h:273
Definition: legion_c.h:331
Definition: legion_c.h:348
Definition: legion_c.h:324
Definition: legion_c.h:122
Definition: legion_c.h:314
Definition: legion_c.h:371
Definition: legion_c.h:338
Definition: legion_c.h:291