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 NEW_OPAQUE_TYPE(legion_task_variant_registrar_t);
118 #undef NEW_OPAQUE_TYPE
127 typedef legion_coord_t coord_t;
129 #define NEW_POINT_TYPE(DIM) typedef struct legion_point_##DIM##d_t { coord_t x[DIM]; } legion_point_##DIM##d_t;
130 LEGION_FOREACH_N(NEW_POINT_TYPE)
131 #undef NEW_POINT_TYPE
133 #define NEW_RECT_TYPE(DIM) typedef struct legion_rect_##DIM##d_t { legion_point_##DIM##d_t lo, hi; } legion_rect_##DIM##d_t;
134 LEGION_FOREACH_N(NEW_RECT_TYPE)
137 #define NEW_BLOCKIFY_TYPE(DIM) \
138 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;
139 LEGION_FOREACH_N(NEW_BLOCKIFY_TYPE)
140 #undef NEW_BLOCKIFY_TYPE
142 #define NEW_TRANSFORM_TYPE(D1,D2) \
143 typedef struct legion_transform_##D1##x##D2##_t { coord_t trans[D1][D2]; } legion_transform_##D1##x##D2##_t;
144 LEGION_FOREACH_NN(NEW_TRANSFORM_TYPE)
145 #undef NEW_TRANSFORM_TYPE
147 #define NEW_AFFINE_TRANSFORM_TYPE(D1,D2) \
148 typedef struct legion_affine_transform_##D1##x##D2##_t { \
149 legion_transform_##D1##x##D2##_t transform; legion_point_##D1##d_t offset; } \
150 legion_affine_transform_##D1##x##D2##_t;
151 LEGION_FOREACH_NN(NEW_AFFINE_TRANSFORM_TYPE)
152 #undef NEW_AFFINE_TRANSFORM_TYPE
159 legion_type_tag_t is_type;
165 #if LEGION_MAX_DIM == 1
166 #define MAX_DOMAIN_DIM 2
167 #elif LEGION_MAX_DIM == 2
168 #define MAX_DOMAIN_DIM 4
169 #elif LEGION_MAX_DIM == 3
170 #define MAX_DOMAIN_DIM 6
171 #elif LEGION_MAX_DIM == 4
172 #define MAX_DOMAIN_DIM 8
173 #elif LEGION_MAX_DIM == 5
174 #define MAX_DOMAIN_DIM 10
175 #elif LEGION_MAX_DIM == 6
176 #define MAX_DOMAIN_DIM 12
177 #elif LEGION_MAX_DIM == 7
178 #define MAX_DOMAIN_DIM 14
179 #elif LEGION_MAX_DIM == 8
180 #define MAX_DOMAIN_DIM 16
181 #elif LEGION_MAX_DIM == 9
182 #define MAX_DOMAIN_DIM 18
184 #error "Illegal value of LEGION_MAX_DIM"
186 #if MAX_DOMAIN_DIM != 2 * LEGION_MAX_RECT_DIM
187 #error Mismatch in MAX_DOMAIN_DIM
189 coord_t rect_data[MAX_DOMAIN_DIM];
190 #undef MAX_DOMAIN_DIM
198 coord_t point_data[LEGION_MAX_DIM];
210 #if LEGION_MAX_DIM == 1
211 #define MAX_MATRIX_DIM 1
212 #elif LEGION_MAX_DIM == 2
213 #define MAX_MATRIX_DIM 4
214 #elif LEGION_MAX_DIM == 3
215 #define MAX_MATRIX_DIM 9
216 #elif LEGION_MAX_DIM == 4
217 #define MAX_MATRIX_DIM 16
218 #elif LEGION_MAX_DIM == 5
219 #define MAX_MATRIX_DIM 25
220 #elif LEGION_MAX_DIM == 6
221 #define MAX_MATRIX_DIM 36
222 #elif LEGION_MAX_DIM == 7
223 #define MAX_MATRIX_DIM 49
224 #elif LEGION_MAX_DIM == 8
225 #define MAX_MATRIX_DIM 64
226 #elif LEGION_MAX_DIM == 9
227 #define MAX_MATRIX_DIM 81
229 #error "Illegal value of LEGION_MAX_DIM"
231 #if MAX_MATRIX_DIM != LEGION_MAX_POINT_DIM * LEGION_MAX_POINT_DIM
232 #error Mismatch in MAX_MATRIX_DIM
234 coord_t matrix[MAX_MATRIX_DIM];
235 #undef MAX_MATRIX_DIM
250 legion_index_space_id_t id;
251 legion_index_tree_id_t tid;
252 legion_type_tag_t type_tag;
259 legion_index_partition_id_t id;
260 legion_index_tree_id_t tid;
261 legion_type_tag_t type_tag;
268 legion_field_space_id_t id;
275 legion_region_tree_id_t tree_id;
284 legion_region_tree_id_t tree_id;
353 realm_barrier_timestamp_t timestamp;
364 realm_barrier_timestamp_t timestamp;
366 legion_reduction_op_id_t redop;
377 bool valid_instances;
380 legion_task_priority_t parent_priority;
497 legion_context_t ctx,
514 #define FROM_RECT(DIM) \
516 legion_domain_from_rect_##DIM##d(legion_rect_##DIM##d_t r);
530 #define GET_RECT(DIM) \
531 legion_rect_##DIM##d_t \
532 legion_domain_get_rect_##DIM##d(legion_domain_t d);
542 #define GET_BOUNDS(DIM) \
543 legion_rect_##DIM##d_t \
544 legion_domain_get_bounds_##DIM##d(legion_domain_t d);
545 LEGION_FOREACH_N(GET_BOUNDS)
565 legion_domain_transform_identity(
unsigned m,
unsigned n);
567 #define FROM_TRANSFORM(D1,D2) \
568 legion_domain_transform_t \
569 legion_domain_transform_from_##D1##x##D2(legion_transform_##D1##x##D2##_t t);
570 LEGION_FOREACH_NN(FROM_TRANSFORM)
571 #undef FROM_TRANSFORM
574 legion_domain_affine_transform_identity(
unsigned m,
unsigned n);
576 #define FROM_AFFINE(D1,D2) \
577 legion_domain_affine_transform_t \
578 legion_domain_affine_transform_from_##D1##x##D2(legion_affine_transform_##D1##x##D2##_t t);
579 LEGION_FOREACH_NN(FROM_AFFINE)
589 #define FROM_POINT(DIM) \
590 legion_domain_point_t \
591 legion_domain_point_from_point_##DIM##d(legion_point_##DIM##d_t p);
598 #define GET_POINT(DIM) \
599 legion_point_##DIM##d_t \
600 legion_domain_point_get_point_##DIM##d(legion_domain_point_t p);
605 legion_domain_point_origin(
unsigned dim);
625 legion_context_t ctx,
638 legion_domain_point_iterator_t
670 #define ITERATOR_CREATE(DIM) \
671 legion_rect_in_domain_iterator_##DIM##d_t \
672 legion_rect_in_domain_iterator_create_##DIM##d(legion_domain_t handle);
674 #undef ITERATOR_CREATE
681 #define ITERATOR_DESTROY(DIM) \
682 void legion_rect_in_domain_iterator_destroy_##DIM##d( \
683 legion_rect_in_domain_iterator_##DIM##d_t handle);
685 #undef ITERATOR_DESTROY
690 #define ITERATOR_VALID(DIM) \
691 bool legion_rect_in_domain_iterator_valid_##DIM##d( \
692 legion_rect_in_domain_iterator_##DIM##d_t handle);
694 #undef ITERATOR_VALID
699 #define ITERATOR_STEP(DIM) \
700 bool legion_rect_in_domain_iterator_step_##DIM##d( \
701 legion_rect_in_domain_iterator_##DIM##d_t handle);
708 #define ITERATOR_OP(DIM) \
709 legion_rect_##DIM##d_t \
710 legion_rect_in_domain_iterator_get_rect_##DIM##d( \
711 legion_rect_in_domain_iterator_##DIM##d_t handle);
740 legion_color_t color);
747 legion_color_t color,
755 legion_color_t color,
763 legion_color_t color,
771 legion_color_t color,
784 legion_domain_coloring_t
800 legion_color_t color,
818 legion_point_coloring_t
828 legion_point_coloring_t handle);
856 legion_domain_point_coloring_t
866 legion_domain_point_coloring_t handle);
873 legion_domain_point_coloring_t handle,
886 legion_multi_domain_point_coloring_t
896 legion_multi_domain_point_coloring_t handle);
903 legion_multi_domain_point_coloring_t handle,
918 legion_context_t ctx,
919 size_t max_num_elmts);
928 legion_context_t ctx,
938 legion_context_t ctx,
940 legion_future_t future,
941 legion_type_tag_t type_tag);
950 legion_context_t ctx,
961 legion_context_t ctx,
972 legion_context_t ctx,
1016 legion_context_t ctx,
1026 legion_context_t ctx,
1036 legion_context_t ctx,
1046 legion_semantic_tag_t tag,
1056 legion_runtime_t runtime,
1058 legion_semantic_tag_t tag,
1059 const void **result,
1062 bool wait_until_ready );
1079 const char **result);
1101 legion_runtime_t runtime,
1102 legion_context_t ctx,
1104 legion_coloring_t coloring,
1106 legion_color_t part_color );
1116 legion_runtime_t runtime,
1117 legion_context_t ctx,
1120 legion_domain_coloring_t coloring,
1122 legion_color_t part_color );
1132 legion_runtime_t runtime,
1133 legion_context_t ctx,
1136 legion_point_coloring_t coloring,
1137 legion_partition_kind_t part_kind ,
1138 legion_color_t color );
1148 legion_runtime_t runtime,
1149 legion_context_t ctx,
1152 legion_domain_point_coloring_t coloring,
1153 legion_partition_kind_t part_kind ,
1154 legion_color_t color );
1164 legion_runtime_t runtime,
1165 legion_context_t ctx,
1168 legion_multi_domain_point_coloring_t coloring,
1169 legion_partition_kind_t part_kind ,
1170 legion_color_t color );
1178 #define CREATE_BLOCKIFY(DIM) \
1179 legion_index_partition_t \
1180 legion_index_partition_create_blockify_##DIM##d( \
1181 legion_runtime_t runtime, \
1182 legion_context_t ctx, \
1183 legion_index_space_t parent, \
1184 legion_blockify_##DIM##d_t blockify, \
1185 legion_color_t part_color );
1187 #undef CREATE_BLOCKIFY
1196 legion_context_t ctx,
1200 legion_color_t color );
1209 legion_runtime_t runtime,
1210 legion_context_t ctx,
1216 size_t granularity ,
1217 legion_color_t color );
1226 legion_runtime_t runtime,
1227 legion_context_t ctx,
1229 legion_future_map_t future_map,
1231 size_t granularity ,
1232 legion_color_t color );
1241 legion_runtime_t runtime,
1242 legion_context_t ctx,
1247 legion_partition_kind_t part_kind ,
1248 legion_color_t color );
1257 legion_runtime_t runtime,
1258 legion_context_t ctx,
1263 legion_partition_kind_t part_kind ,
1264 legion_color_t color );
1273 legion_runtime_t runtime,
1274 legion_context_t ctx,
1277 legion_partition_kind_t part_kind ,
1278 legion_color_t color ,
1288 legion_runtime_t runtime,
1289 legion_context_t ctx,
1294 legion_partition_kind_t part_kind ,
1295 legion_color_t color );
1304 legion_runtime_t runtime,
1305 legion_context_t ctx,
1309 size_t num_color_domains,
1311 bool perform_intersections ,
1312 legion_partition_kind_t part_kind ,
1313 legion_color_t color );
1322 legion_runtime_t runtime,
1323 legion_context_t ctx,
1325 legion_future_map_t future_map,
1327 bool perform_intersections ,
1328 legion_partition_kind_t part_kind ,
1329 legion_color_t color );
1338 legion_context_t ctx,
1341 legion_field_id_t fid,
1343 legion_color_t color ,
1344 legion_mapper_id_t
id ,
1345 legion_mapping_tag_id_t tag ,
1346 legion_partition_kind_t part_kind ,
1356 legion_runtime_t runtime,
1357 legion_context_t ctx,
1361 legion_field_id_t fid,
1363 legion_partition_kind_t part_kind ,
1364 legion_color_t color ,
1365 legion_mapper_id_t
id ,
1366 legion_mapping_tag_id_t tag ,
1376 legion_runtime_t runtime,
1377 legion_context_t ctx,
1381 legion_field_id_t fid,
1383 legion_partition_kind_t part_kind ,
1384 legion_color_t color ,
1385 legion_mapper_id_t
id ,
1386 legion_mapping_tag_id_t tag ,
1396 legion_runtime_t runtime,
1397 legion_context_t ctx,
1401 legion_field_id_t fid,
1403 legion_partition_kind_t part_kind ,
1404 legion_color_t color ,
1405 legion_mapper_id_t
id ,
1406 legion_mapping_tag_id_t tag ,
1416 legion_runtime_t runtime,
1417 legion_context_t ctx,
1421 legion_field_id_t fid,
1423 legion_partition_kind_t part_kind ,
1424 legion_color_t color ,
1425 legion_mapper_id_t
id ,
1426 legion_mapping_tag_id_t tag ,
1436 legion_runtime_t runtime,
1437 legion_context_t ctx,
1442 legion_partition_kind_t part_kind ,
1443 legion_color_t color );
1452 legion_runtime_t runtime,
1453 legion_context_t ctx,
1456 legion_partition_kind_t part_kind ,
1457 legion_color_t color );
1464 legion_runtime_t runtime,
1465 legion_context_t ctx,
1476 legion_runtime_t runtime,
1477 legion_context_t ctx,
1487 legion_runtime_t runtime,
1488 legion_context_t ctx,
1499 legion_runtime_t runtime,
1500 legion_context_t ctx,
1510 legion_runtime_t runtime,
1511 legion_context_t ctx,
1540 legion_color_t color);
1549 legion_runtime_t runtime,
1558 legion_runtime_t runtime,
1592 legion_context_t ctx,
1602 legion_context_t ctx,
1612 legion_context_t ctx,
1622 legion_runtime_t runtime,
1624 legion_semantic_tag_t tag,
1634 legion_runtime_t runtime,
1636 legion_semantic_tag_t tag,
1637 const void **result,
1640 bool wait_until_ready );
1657 const char **result);
1670 legion_context_t ctx);
1679 legion_context_t ctx,
1680 size_t *field_sizes,
1681 legion_field_id_t *field_ids,
1683 legion_custom_serdez_id_t serdez);
1692 legion_context_t ctx,
1693 legion_future_t *field_sizes,
1694 legion_field_id_t *field_ids,
1696 legion_custom_serdez_id_t serdez);
1711 legion_context_t ctx,
1721 legion_context_t ctx,
1731 legion_context_t ctx,
1740 legion_runtime_t runtime,
1742 legion_semantic_tag_t tag,
1752 legion_runtime_t runtime,
1754 legion_semantic_tag_t tag,
1755 const void **result,
1758 bool wait_until_ready );
1767 legion_context_t ctx,
1778 legion_context_t ctx,
1780 const legion_field_id_t *fields,
1781 size_t fields_size);
1789 legion_field_id_t
id,
1790 legion_semantic_tag_t tag,
1800 legion_runtime_t runtime,
1802 legion_field_id_t
id,
1803 legion_semantic_tag_t tag,
1804 const void **result,
1807 bool wait_until_ready );
1824 const char **result);
1832 legion_field_id_t
id,
1842 legion_field_id_t
id,
1843 const char **result);
1850 legion_context_t ctx,
1852 legion_field_id_t
id);
1865 legion_context_t ctx,
1877 legion_context_t ctx,
1887 legion_context_t ctx,
1897 legion_context_t ctx,
1920 legion_runtime_t runtime,
1928 legion_runtime_t runtime,
1936 legion_runtime_t runtime,
1938 legion_semantic_tag_t tag,
1948 legion_runtime_t runtime,
1950 legion_semantic_tag_t tag,
1951 const void **result,
1954 bool wait_until_ready );
1971 const char **result);
2000 legion_context_t ctx,
2003 legion_region_tree_id_t tid);
2012 legion_context_t ctx,
2022 legion_context_t ctx,
2033 legion_runtime_t runtime,
2044 legion_runtime_t runtime,
2055 legion_runtime_t runtime,
2064 legion_runtime_t runtime,
2075 legion_runtime_t runtime,
2078 legion_region_tree_id_t tid);
2085 legion_runtime_t runtime,
2093 legion_runtime_t runtime,
2095 legion_semantic_tag_t tag,
2105 legion_runtime_t runtime,
2107 legion_semantic_tag_t tag,
2108 const void **result,
2111 bool wait_until_ready );
2128 const char **result);
2137 legion_context_t ctx,
2141 legion_field_id_t* fields);
2150 legion_region_requirement_t
2153 legion_privilege_mode_t priv,
2154 legion_coherence_property_t prop,
2156 legion_mapping_tag_id_t tag ,
2162 legion_region_requirement_t
2165 legion_projection_id_t proj ,
2166 legion_privilege_mode_t priv,
2167 legion_coherence_property_t prop,
2169 legion_mapping_tag_id_t tag ,
2175 legion_region_requirement_t
2178 legion_projection_id_t proj ,
2179 legion_privilege_mode_t priv,
2180 legion_coherence_property_t prop,
2182 legion_mapping_tag_id_t tag ,
2196 legion_field_id_t field,
2197 bool instance_field);
2204 legion_region_flags_t flags);
2229 legion_region_requirement_t handle);
2244 legion_region_requirement_t handle,
2245 legion_field_id_t* fields,
2246 unsigned fields_size);
2257 legion_region_requirement_t handle,
2265 legion_region_requirement_t handle);
2280 legion_region_requirement_t handle,
2281 legion_field_id_t* fields,
2282 unsigned fields_size);
2291 legion_region_requirement_t handle,
2297 legion_privilege_mode_t
2303 legion_coherence_property_t
2309 legion_reduction_op_id_t
2315 legion_mapping_tag_id_t
2321 legion_handle_type_t
2327 legion_projection_id_t
2337 legion_output_requirement_t
2339 legion_field_id_t *fields,
2342 bool global_indexing);
2347 legion_output_requirement_t
2349 legion_region_requirement_t handle);
2362 legion_field_id_t field,
2392 legion_field_allocator_t
2394 legion_context_t ctx,
2416 legion_field_allocator_t allocator,
2418 legion_field_id_t desired_fieldid );
2425 legion_field_allocator_t allocator,
2426 legion_future_t field_size,
2427 legion_field_id_t desired_fieldid );
2434 legion_field_id_t fid);
2441 legion_field_id_t fid,
2449 legion_field_allocator_t allocator,
2451 legion_field_id_t desired_fieldid );
2458 legion_argument_map_t
2466 legion_argument_map_t
2484 legion_future_t future,
2506 legion_context_t ctx,
2522 const legion_predicate_t
2530 const legion_predicate_t
2544 legion_context_t ctx,
2554 legion_context_t ctx,
2562 legion_context_t ctx,
2571 legion_context_t ctx,
2580 legion_context_t ctx,
2590 legion_context_t ctx,
2604 legion_context_t ctx,
2606 legion_reduction_op_id_t redop,
2607 const void *init_value,
2617 legion_context_t ctx,
2625 legion_runtime_t runtime,
2626 legion_context_t ctx,
2635 legion_context_t ctx,
2646 legion_context_t ctx,
2658 legion_context_t ctx,
2668 legion_context_t ctx,
2694 bool take_ownership,
2695 const char *provenance,
2725 bool silence_warnings ,
2726 const char *warning_string );
2813 legion_context_t ctx,
2814 legion_future_map_t handle,
2815 legion_reduction_op_id_t redop,
2817 legion_mapper_id_t map_id,
2818 legion_mapping_tag_id_t tag);
2827 legion_context_t ctx,
2828 legion_future_map_t handle,
2829 legion_reduction_op_id_t redop,
2831 legion_mapper_id_t map_id,
2832 legion_mapping_tag_id_t tag,
2833 const char *provenance,
2834 legion_future_t initial_value);
2843 legion_context_t ctx,
2849 legion_sharding_id_t sid,
2850 bool implicit_sharding);
2859 legion_context_t ctx,
2862 legion_future_t *futures,
2865 legion_sharding_id_t sid,
2866 bool implicit_sharding);
2875 legion_context_t ctx,
2876 legion_future_map_t fm,
2878 legion_point_transform_functor_t functor,
2879 bool take_ownership);
2890 #define BUFFER_CREATE(DIM) \
2891 legion_deferred_buffer_char_##DIM##d_t \
2892 legion_deferred_buffer_char_##DIM##d_create( \
2893 legion_rect_##DIM##d_t bounds, \
2894 legion_memory_kind_t kind, \
2895 char *initial_value);
2897 #undef BUFFER_CREATE
2902 #define BUFFER_PTR(DIM) \
2904 legion_deferred_buffer_char_##DIM##d_ptr( \
2905 legion_deferred_buffer_char_##DIM##d_t buffer, \
2906 legion_point_##DIM##d_t p);
2907 LEGION_FOREACH_N(BUFFER_PTR)
2913 #define BUFFER_DESTROY(DIM) \
2915 legion_deferred_buffer_char_##DIM##d_destroy( \
2916 legion_deferred_buffer_char_##DIM##d_t buffer);
2917 LEGION_FOREACH_N(BUFFER_DESTROY)
2918 #undef BUFFER_DESTROY
2929 legion_task_launcher_t
2931 legion_task_id_t tid,
2933 legion_predicate_t pred ,
2934 legion_mapper_id_t
id ,
2935 legion_mapping_tag_id_t tag );
2942 legion_task_launcher_t
2944 legion_task_id_t tid,
2947 legion_predicate_t pred ,
2948 legion_mapper_id_t
id ,
2949 legion_mapping_tag_id_t tag );
2966 legion_context_t ctx,
2967 legion_task_launcher_t launcher);
2976 legion_context_t ctx,
2977 legion_task_launcher_t launcher,
2978 legion_output_requirement_t *reqs,
2986 legion_task_launcher_t launcher,
2988 legion_privilege_mode_t priv,
2989 legion_coherence_property_t prop,
2991 legion_mapping_tag_id_t tag ,
2999 legion_task_launcher_t launcher,
3001 legion_reduction_op_id_t redop,
3002 legion_coherence_property_t prop,
3004 legion_mapping_tag_id_t tag ,
3012 legion_task_launcher_t launcher,
3015 legion_privilege_mode_t priv,
3016 legion_coherence_property_t prop,
3018 legion_mapping_tag_id_t tag ,
3026 legion_task_launcher_t launcher,
3029 legion_reduction_op_id_t redop,
3030 legion_coherence_property_t prop,
3032 legion_mapping_tag_id_t tag ,
3041 legion_field_id_t fid,
3067 enum legion_region_flags_t flags);
3075 enum legion_region_flags_t flags);
3082 legion_task_launcher_t launcher,
3084 legion_allocate_mode_t priv,
3093 legion_future_t future);
3149 legion_mapper_id_t mapper_id);
3156 legion_mapping_tag_id_t tag);
3170 bool enable_inlining);
3177 bool local_function_task);
3184 bool elide_future_return);
3191 const char *provenance);
3198 legion_index_launcher_t
3200 legion_task_id_t tid,
3203 legion_argument_map_t map,
3204 legion_predicate_t pred ,
3206 legion_mapper_id_t
id ,
3207 legion_mapping_tag_id_t tag );
3214 legion_index_launcher_t
3216 legion_task_id_t tid,
3220 legion_argument_map_t map,
3221 legion_predicate_t pred ,
3223 legion_mapper_id_t
id ,
3224 legion_mapping_tag_id_t tag );
3241 legion_context_t ctx,
3242 legion_index_launcher_t launcher);
3251 legion_context_t ctx,
3252 legion_index_launcher_t launcher,
3253 legion_reduction_op_id_t redop);
3262 legion_context_t ctx,
3263 legion_index_launcher_t launcher,
3264 legion_output_requirement_t *reqs,
3274 legion_context_t ctx,
3275 legion_index_launcher_t launcher,
3276 legion_reduction_op_id_t redop,
3277 bool deterministic);
3286 legion_context_t ctx,
3287 legion_index_launcher_t launcher,
3288 legion_reduction_op_id_t redop,
3290 legion_output_requirement_t *reqs,
3298 legion_index_launcher_t launcher,
3300 legion_projection_id_t proj ,
3301 legion_privilege_mode_t priv,
3302 legion_coherence_property_t prop,
3304 legion_mapping_tag_id_t tag ,
3312 legion_index_launcher_t launcher,
3314 legion_projection_id_t proj ,
3315 legion_privilege_mode_t priv,
3316 legion_coherence_property_t prop,
3318 legion_mapping_tag_id_t tag ,
3326 legion_index_launcher_t launcher,
3328 legion_projection_id_t proj ,
3329 legion_reduction_op_id_t redop,
3330 legion_coherence_property_t prop,
3332 legion_mapping_tag_id_t tag ,
3340 legion_index_launcher_t launcher,
3342 legion_projection_id_t proj ,
3343 legion_reduction_op_id_t redop,
3344 legion_coherence_property_t prop,
3346 legion_mapping_tag_id_t tag ,
3354 legion_index_launcher_t launcher,
3357 legion_projection_id_t proj ,
3358 legion_privilege_mode_t priv,
3359 legion_coherence_property_t prop,
3361 legion_mapping_tag_id_t tag ,
3369 legion_index_launcher_t launcher,
3372 legion_projection_id_t proj ,
3373 legion_privilege_mode_t priv,
3374 legion_coherence_property_t prop,
3376 legion_mapping_tag_id_t tag ,
3384 legion_index_launcher_t launcher,
3387 legion_projection_id_t proj ,
3388 legion_reduction_op_id_t redop,
3389 legion_coherence_property_t prop,
3391 legion_mapping_tag_id_t tag ,
3399 legion_index_launcher_t launcher,
3402 legion_projection_id_t proj ,
3403 legion_reduction_op_id_t redop,
3404 legion_coherence_property_t prop,
3406 legion_mapping_tag_id_t tag ,
3415 legion_field_id_t fid,
3424 enum legion_region_flags_t flags);
3432 enum legion_region_flags_t flags);
3439 legion_index_launcher_t launcher,
3441 legion_allocate_mode_t priv,
3450 legion_future_t future);
3471 legion_argument_map_t map);
3492 legion_mapper_id_t mapper_id);
3499 legion_mapping_tag_id_t tag);
3513 bool elide_future_return);
3520 const char *provenance);
3534 legion_future_t initial_value);
3545 legion_inline_launcher_t
3548 legion_privilege_mode_t priv,
3549 legion_coherence_property_t prop,
3551 legion_mapping_tag_id_t region_tag ,
3553 legion_mapper_id_t
id ,
3554 legion_mapping_tag_id_t launcher_tag );
3569 legion_physical_region_t
3571 legion_context_t ctx,
3572 legion_inline_launcher_t launcher);
3579 legion_field_id_t fid,
3594 const char *provenance);
3601 legion_context_t ctx,
3602 legion_physical_region_t region);
3609 legion_context_t ctx,
3610 legion_physical_region_t region);
3617 legion_context_t ctx);
3628 legion_runtime_t runtime,
3629 legion_context_t ctx,
3632 legion_field_id_t fid,
3635 legion_predicate_t pred );
3642 legion_runtime_t runtime,
3643 legion_context_t ctx,
3646 legion_field_id_t fid,
3648 legion_predicate_t pred );
3655 legion_fill_launcher_t
3659 legion_field_id_t fid,
3662 legion_predicate_t pred ,
3663 legion_mapper_id_t
id ,
3664 legion_mapping_tag_id_t tag );
3671 legion_fill_launcher_t
3675 legion_field_id_t fid,
3677 legion_predicate_t pred ,
3678 legion_mapper_id_t
id ,
3679 legion_mapping_tag_id_t tag );
3694 legion_field_id_t fid);
3701 legion_context_t ctx,
3702 legion_fill_launcher_t launcher);
3729 const char *provenance);
3741 legion_runtime_t runtime,
3742 legion_context_t ctx,
3745 legion_field_id_t fid,
3748 legion_projection_id_t proj ,
3749 legion_predicate_t pred ,
3750 legion_mapper_id_t
id ,
3751 legion_mapping_tag_id_t launcher_tag );
3759 legion_runtime_t runtime,
3760 legion_context_t ctx,
3764 legion_field_id_t fid,
3767 legion_projection_id_t proj ,
3768 legion_predicate_t pred ,
3769 legion_mapper_id_t
id ,
3770 legion_mapping_tag_id_t launcher_tag );
3778 legion_runtime_t runtime,
3779 legion_context_t ctx,
3783 legion_field_id_t fid,
3786 legion_projection_id_t proj ,
3787 legion_predicate_t pred ,
3788 legion_mapper_id_t
id ,
3789 legion_mapping_tag_id_t launcher_tag );
3797 legion_runtime_t runtime,
3798 legion_context_t ctx,
3801 legion_field_id_t fid,
3803 legion_projection_id_t proj ,
3804 legion_predicate_t pred ,
3805 legion_mapper_id_t
id ,
3806 legion_mapping_tag_id_t launcher_tag );
3814 legion_runtime_t runtime,
3815 legion_context_t ctx,
3819 legion_field_id_t fid,
3821 legion_projection_id_t proj ,
3822 legion_predicate_t pred ,
3823 legion_mapper_id_t
id ,
3824 legion_mapping_tag_id_t launcher_tag );
3832 legion_runtime_t runtime,
3833 legion_context_t ctx,
3837 legion_field_id_t fid,
3839 legion_projection_id_t proj ,
3840 legion_predicate_t pred ,
3841 legion_mapper_id_t
id ,
3842 legion_mapping_tag_id_t launcher_tag );
3849 legion_index_fill_launcher_t
3854 legion_field_id_t fid,
3857 legion_projection_id_t proj ,
3858 legion_predicate_t pred ,
3859 legion_mapper_id_t
id ,
3860 legion_mapping_tag_id_t launcher_tag );
3867 legion_index_fill_launcher_t
3872 legion_field_id_t fid,
3875 legion_projection_id_t proj ,
3876 legion_predicate_t pred ,
3877 legion_mapper_id_t
id ,
3878 legion_mapping_tag_id_t launcher_tag );
3885 legion_index_fill_launcher_t
3890 legion_field_id_t fid,
3891 legion_future_t future,
3892 legion_projection_id_t proj ,
3893 legion_predicate_t pred ,
3894 legion_mapper_id_t
id ,
3895 legion_mapping_tag_id_t launcher_tag );
3902 legion_index_fill_launcher_t
3907 legion_field_id_t fid,
3908 legion_future_t future,
3909 legion_projection_id_t proj ,
3910 legion_predicate_t pred ,
3911 legion_mapper_id_t
id ,
3912 legion_mapping_tag_id_t launcher_tag );
3927 legion_field_id_t fid);
3934 legion_context_t ctx,
3935 legion_index_fill_launcher_t launcher);
3955 const char *provenance);
3962 legion_region_requirement_t
3974 legion_discard_launcher_t
3992 legion_field_id_t fid);
3999 legion_context_t ctx,
4000 legion_discard_launcher_t launcher);
4007 const char *provenance);
4026 legion_field_map_insert(legion_field_map_t handle,
4027 legion_field_id_t key,
4035 legion_physical_region_t
4037 legion_runtime_t runtime,
4038 legion_context_t ctx,
4039 const char *filename,
4042 legion_field_map_t field_map,
4043 legion_file_mode_t mode);
4050 legion_runtime_t runtime,
4051 legion_context_t ctx,
4052 legion_physical_region_t region);
4063 legion_copy_launcher_t
4065 legion_predicate_t pred ,
4066 legion_mapper_id_t
id ,
4067 legion_mapping_tag_id_t launcher_tag );
4084 legion_context_t ctx,
4085 legion_copy_launcher_t launcher);
4092 legion_copy_launcher_t launcher,
4094 legion_privilege_mode_t priv,
4095 legion_coherence_property_t prop,
4097 legion_mapping_tag_id_t tag ,
4105 legion_copy_launcher_t launcher,
4107 legion_privilege_mode_t priv,
4108 legion_coherence_property_t prop,
4110 legion_mapping_tag_id_t tag ,
4118 legion_copy_launcher_t launcher,
4120 legion_reduction_op_id_t redop,
4121 legion_coherence_property_t prop,
4123 legion_mapping_tag_id_t tag ,
4131 legion_copy_launcher_t launcher,
4133 legion_field_id_t fid,
4134 legion_coherence_property_t prop,
4136 legion_mapping_tag_id_t tag ,
4137 bool is_range_indirection ,
4145 legion_copy_launcher_t launcher,
4147 legion_field_id_t fid,
4148 legion_coherence_property_t prop,
4150 legion_mapping_tag_id_t tag ,
4151 bool is_range_indirection ,
4160 legion_field_id_t fid,
4169 legion_field_id_t fid,
4191 legion_copy_launcher_t launcher,
bool flag);
4198 legion_copy_launcher_t launcher,
bool flag);
4225 const char *provenance);
4235 legion_region_requirement_t
4247 legion_index_copy_launcher_t
4250 legion_predicate_t pred ,
4251 legion_mapper_id_t
id ,
4252 legion_mapping_tag_id_t launcher_tag );
4269 legion_context_t ctx,
4270 legion_index_copy_launcher_t launcher);
4277 legion_index_copy_launcher_t launcher,
4279 legion_projection_id_t proj ,
4280 legion_privilege_mode_t priv,
4281 legion_coherence_property_t prop,
4283 legion_mapping_tag_id_t tag ,
4291 legion_index_copy_launcher_t launcher,
4293 legion_projection_id_t proj ,
4294 legion_privilege_mode_t priv,
4295 legion_coherence_property_t prop,
4297 legion_mapping_tag_id_t tag ,
4305 legion_index_copy_launcher_t launcher,
4307 legion_projection_id_t proj ,
4308 legion_privilege_mode_t priv,
4309 legion_coherence_property_t prop,
4311 legion_mapping_tag_id_t tag ,
4319 legion_index_copy_launcher_t launcher,
4321 legion_projection_id_t proj ,
4322 legion_privilege_mode_t priv,
4323 legion_coherence_property_t prop,
4325 legion_mapping_tag_id_t tag ,
4333 legion_index_copy_launcher_t launcher,
4335 legion_projection_id_t proj ,
4336 legion_reduction_op_id_t redop,
4337 legion_coherence_property_t prop,
4339 legion_mapping_tag_id_t tag ,
4347 legion_index_copy_launcher_t launcher,
4349 legion_projection_id_t proj ,
4350 legion_reduction_op_id_t redop,
4351 legion_coherence_property_t prop,
4353 legion_mapping_tag_id_t tag ,
4361 legion_index_copy_launcher_t launcher,
4363 legion_projection_id_t proj ,
4364 legion_field_id_t fid,
4365 legion_coherence_property_t prop,
4367 legion_mapping_tag_id_t tag ,
4368 bool is_range_indirection ,
4376 legion_index_copy_launcher_t launcher,
4378 legion_projection_id_t proj ,
4379 legion_field_id_t fid,
4380 legion_coherence_property_t prop,
4382 legion_mapping_tag_id_t tag ,
4383 bool is_range_indirection ,
4391 legion_index_copy_launcher_t launcher,
4393 legion_projection_id_t proj ,
4394 legion_field_id_t fid,
4395 legion_coherence_property_t prop,
4397 legion_mapping_tag_id_t tag ,
4398 bool is_range_indirection ,
4406 legion_index_copy_launcher_t launcher,
4408 legion_projection_id_t proj ,
4409 legion_field_id_t fid,
4410 legion_coherence_property_t prop,
4412 legion_mapping_tag_id_t tag ,
4413 bool is_range_indirection ,
4422 legion_field_id_t fid,
4431 legion_field_id_t fid,
4453 legion_index_copy_launcher_t launcher,
bool flag);
4460 legion_index_copy_launcher_t launcher,
bool flag);
4481 const char *provenance);
4492 legion_acquire_launcher_t
4496 legion_predicate_t pred ,
4497 legion_mapper_id_t
id ,
4498 legion_mapping_tag_id_t tag );
4515 legion_context_t ctx,
4516 legion_acquire_launcher_t launcher);
4523 legion_field_id_t fid);
4537 legion_acquire_launcher_t launcher,
4559 const char *provenance);
4570 legion_release_launcher_t
4574 legion_predicate_t pred ,
4575 legion_mapper_id_t
id ,
4576 legion_mapping_tag_id_t tag );
4593 legion_context_t ctx,
4594 legion_release_launcher_t launcher);
4601 legion_field_id_t fid);
4615 legion_release_launcher_t launcher,
4637 const char *provenance);
4648 legion_attach_launcher_t
4652 legion_external_resource_t resource);
4659 const char *filename,
4660 legion_field_map_t field_map,
4661 legion_file_mode_t mode);
4682 const char *provenance);
4697 legion_physical_region_t
4699 legion_context_t ctx,
4700 legion_attach_launcher_t launcher);
4707 legion_field_id_t fid,
4718 legion_context_t ctx,
4719 legion_physical_region_t handle);
4728 legion_context_t ctx,
4729 legion_physical_region_t handle,
4739 legion_context_t ctx,
4740 legion_physical_region_t handle,
4749 legion_context_t ctx);
4760 legion_index_attach_launcher_t
4763 legion_external_resource_t resource,
4771 legion_index_attach_launcher_t handle,
bool restricted);
4778 legion_index_attach_launcher_t handle,
const char *provenance);
4785 legion_index_attach_launcher_t handle,
bool deduplicate);
4793 const char *filename,
4794 const legion_field_id_t *fields,
4796 legion_file_mode_t mode);
4804 const char *filename,
4805 legion_field_map_t field_map,
4806 legion_file_mode_t mode);
4814 void *base_ptr,
bool column_major,
4815 const legion_field_id_t *fields,
4825 void *base_ptr,
bool column_major,
4826 const legion_field_id_t *fields,
4843 legion_external_resources_t
4845 legion_context_t ctx,
4846 legion_index_attach_launcher_t launcher);
4855 legion_context_t ctx,
4856 legion_external_resources_t,
4857 bool flush,
bool unordered);
4868 legion_must_epoch_launcher_t
4870 legion_mapper_id_t
id ,
4871 legion_mapping_tag_id_t launcher_tag );
4888 legion_context_t ctx,
4889 legion_must_epoch_launcher_t launcher);
4898 legion_must_epoch_launcher_t launcher,
4900 legion_task_launcher_t handle);
4909 legion_must_epoch_launcher_t launcher,
4910 legion_index_launcher_t handle);
4917 legion_must_epoch_launcher_t launcher,
4925 legion_must_epoch_launcher_t launcher,
4933 legion_must_epoch_launcher_t launcher,
const char *provenance);
4944 legion_context_t ctx);
4951 legion_context_t ctx);
4962 legion_context_t ctx,
4963 legion_trace_id_t tid,
4971 legion_context_t ctx,
4972 legion_trace_id_t tid);
4979 legion_runtime_complete_frame(legion_runtime_t runtime,
4980 legion_context_t ctx);
4993 legion_context_t ctx,
4994 legion_tunable_id_t tid,
4995 legion_mapper_id_t mapper ,
4996 legion_mapping_tag_id_t tag );
5041 legion_context_t ctx);
5056 legion_runtime_local_shard_without_context(
void);
5073 size_t total_shards);
5091 legion_shard_id_t shard,
5094 size_t total_shards,
5096 size_t *points_size);
5099 legion_runtime_enable_scheduler_lock(
void);
5102 legion_runtime_disable_scheduler_lock(
void);
5109 legion_context_t ctx,
5111 const char *message);
5117 legion_context_t ctx,
5118 int fd,
const char *mode,
5119 const char *message);
5138 legion_physical_region_t
5171 legion_physical_region_get_field_id(legion_physical_region_t handle,
size_t index);
5179 legion_physical_region_get_memory(legion_physical_region_t handle,
size_t index);
5186 #define ACCESSOR_ARRAY(DIM) \
5187 legion_accessor_array_##DIM##d_t \
5188 legion_physical_region_get_field_accessor_array_##DIM##d( \
5189 legion_physical_region_t handle, \
5190 legion_field_id_t fid);
5192 #undef ACCESSOR_ARRAY
5194 #define ACCESSOR_ARRAY(DIM) \
5195 legion_accessor_array_##DIM##d_t \
5196 legion_physical_region_get_field_accessor_array_##DIM##d_with_transform( \
5197 legion_physical_region_t handle, \
5198 legion_field_id_t fid, \
5199 legion_domain_affine_transform_t transform);
5201 #undef ACCESSOR_ARRAY
5203 #define RAW_PTR(DIM) \
5205 legion_accessor_array_##DIM##d_raw_rect_ptr(legion_accessor_array_##DIM##d_t handle, \
5206 legion_rect_##DIM##d_t rect, \
5207 legion_rect_##DIM##d_t *subrect, \
5208 legion_byte_offset_t *offsets);
5209 LEGION_FOREACH_N(RAW_PTR)
5214 legion_accessor_array_1d_read(legion_accessor_array_1d_t handle,
5216 void *dst,
size_t bytes);
5218 #define READ_ARRAY(DIM) \
5220 legion_accessor_array_##DIM##d_read_point(legion_accessor_array_##DIM##d_t handle, \
5221 legion_point_##DIM##d_t point, \
5222 void *dst, size_t bytes);
5223 LEGION_FOREACH_N(READ_ARRAY)
5228 legion_accessor_array_1d_write(legion_accessor_array_1d_t handle,
5230 const void *src,
size_t bytes);
5232 #define WRITE_ARRAY(DIM) \
5234 legion_accessor_array_##DIM##d_write_point(legion_accessor_array_##DIM##d_t handle, \
5235 legion_point_##DIM##d_t point, \
5236 const void *src, size_t bytes);
5237 LEGION_FOREACH_N(WRITE_ARRAY)
5242 legion_accessor_array_1d_ref(legion_accessor_array_1d_t handle,
5245 #define REF_ARRAY(DIM) \
5247 legion_accessor_array_##DIM##d_ref_point(legion_accessor_array_##DIM##d_t handle, \
5248 legion_point_##DIM##d_t point);
5249 LEGION_FOREACH_N(REF_ARRAY)
5255 #define DESTROY_ARRAY(DIM) \
5257 legion_accessor_array_##DIM##d_destroy(legion_accessor_array_##DIM##d_t handle);
5259 #undef DESTROY_ARRAY
5282 legion_physical_region_t
5293 enum legion_mappable_type_id_t
5381 legion_mapping_tag_id_t
5389 legion_task_id_t task_id,
5390 legion_semantic_tag_t tag,
5400 legion_runtime_t runtime,
5401 legion_task_id_t task_id,
5402 legion_semantic_tag_t tag,
5403 const void **result,
5406 bool wait_until_ready );
5413 legion_task_id_t task_id,
5422 legion_task_id_t task_id,
5423 const char **result);
5490 legion_region_requirement_t
5538 legion_region_requirement_t
5550 legion_execution_constraint_set_t
5560 legion_execution_constraint_set_t handle);
5567 legion_execution_constraint_set_t handle,
5576 legion_execution_constraint_set_t handle,
5577 legion_processor_kind_t proc_kind);
5585 legion_execution_constraint_set_t handle,
5586 legion_resource_constraint_t resource,
5587 legion_equality_kind_t eq,
5596 legion_execution_constraint_set_t handle,
5597 legion_launch_constraint_t kind,
5606 legion_execution_constraint_set_t handle,
5607 legion_launch_constraint_t kind,
5608 const size_t *values,
5617 legion_execution_constraint_set_t handle,
5618 const unsigned *indexes,
5620 const legion_field_id_t *fields,
5632 legion_layout_constraint_set_t
5648 legion_layout_constraint_id_t
5650 legion_runtime_t runtime,
5652 legion_layout_constraint_set_t handle,
5653 const char *layout_name );
5660 legion_layout_constraint_id_t
5662 legion_layout_constraint_set_t handle,
5663 const char *layout_name );
5672 legion_layout_constraint_id_t handle);
5680 legion_layout_constraint_set_t handle,
5681 legion_specialized_constraint_t specialized,
5682 legion_reduction_op_id_t redop);
5690 legion_layout_constraint_set_t handle,
5691 legion_memory_kind_t kind);
5699 legion_layout_constraint_set_t handle,
5700 const legion_field_id_t *fields,
5711 legion_layout_constraint_set_t handle,
5712 const legion_dimension_kind_t *dims,
5722 legion_layout_constraint_set_t handle,
5723 legion_dimension_kind_t dim,
5724 size_t value,
bool tiles);
5732 legion_layout_constraint_set_t handle,
5733 legion_dimension_kind_t dim,
5734 legion_equality_kind_t eq,
5743 legion_layout_constraint_set_t handle,
5744 legion_field_id_t field,
5745 legion_equality_kind_t eq,
5746 size_t byte_boundary);
5754 legion_layout_constraint_set_t handle,
5755 legion_field_id_t field,
5764 legion_layout_constraint_set_t handle,
5777 legion_task_layout_constraint_set_t
5787 legion_task_layout_constraint_set_t handle);
5794 legion_task_layout_constraint_set_t handle,
5796 legion_layout_constraint_id_t layout);
5860 legion_runtime_t runtime,
5861 const char *library_name,
5869 legion_runtime_t runtime,
5870 legion_mapper_t mapper,
5876 legion_projection_id_t
5882 legion_projection_id_t
5884 legion_runtime_t runtime,
5885 const char *library_name,
5891 legion_sharding_id_t
5893 legion_runtime_t runtime,
5894 const char *library_name,
5900 legion_reduction_op_id_t
5902 legion_runtime_t runtime,
5903 const char *library_name,
5911 legion_projection_id_t
id,
5922 legion_runtime_t runtime,
5923 legion_projection_id_t
id,
5934 legion_projection_id_t
id,
5945 legion_runtime_t runtime,
5946 legion_projection_id_t
id,
5957 legion_projection_id_t
id,
5968 legion_runtime_t runtime,
5969 legion_projection_id_t
id,
5980 legion_runtime_t runtime,
5981 const char *library_name,
5989 legion_task_variant_registrar_t
5991 legion_task_id_t tid,
5993 const char *variant_name);
6002 legion_task_variant_registrar_t registrar);
6009 legion_task_variant_registrar_t registrar,
6010 legion_execution_constraint_set_t constraints);
6017 legion_task_variant_registrar_t registrar,
6018 legion_task_layout_constraint_set_t constraints);
6029 legion_task_variant_registrar_t registrar,
6037 legion_task_variant_registrar_t registrar,
6038 legion_memory_kind_t kind,
6040 unsigned alignment);
6047 legion_runtime_t runtime,
6048 legion_task_variant_registrar_t registrar,
6050 legion_variant_id_t variant_id,
6051 const void *userdata,
6053 size_t return_type_size,
6054 bool has_return_type_size);
6062 legion_task_variant_registrar_t registrar,
6064 legion_variant_id_t variant_id,
6065 const char *task_name,
6066 const void *userdata,
6068 size_t return_type_size,
6069 bool has_return_type_size);
6076 legion_runtime_t runtime,
6077 legion_task_id_t
id ,
6078 const char *task_name ,
6079 const char *variant_name ,
6081 legion_execution_constraint_set_t execution_constraints,
6082 legion_task_layout_constraint_set_t layout_constraints,
6085 const void *userdata,
6093 legion_task_id_t
id ,
6094 legion_variant_id_t variant_id ,
6095 const char *task_name ,
6096 const char *variant_name ,
6097 legion_execution_constraint_set_t execution_constraints,
6098 legion_task_layout_constraint_set_t layout_constraints,
6101 const void *userdata,
6104 #ifdef REALM_USE_LLVM
6109 legion_runtime_register_task_variant_llvmir(
6110 legion_runtime_t runtime,
6111 legion_task_id_t
id ,
6112 const char *task_name ,
6114 legion_execution_constraint_set_t execution_constraints,
6115 legion_task_layout_constraint_set_t layout_constraints,
6118 const char *entry_symbol,
6119 const void *userdata,
6126 legion_runtime_preregister_task_variant_llvmir(
6127 legion_task_id_t
id ,
6128 legion_variant_id_t variant_id ,
6129 const char *task_name ,
6130 legion_execution_constraint_set_t execution_constraints,
6131 legion_task_layout_constraint_set_t layout_constraints,
6134 const char *entry_symbol,
6135 const void *userdata,
6139 #ifdef REALM_USE_PYTHON
6144 legion_runtime_register_task_variant_python_source(
6145 legion_runtime_t runtime,
6146 legion_task_id_t
id ,
6147 const char *task_name ,
6149 legion_execution_constraint_set_t execution_constraints,
6150 legion_task_layout_constraint_set_t layout_constraints,
6152 const char *module_name,
6153 const char *function_name,
6154 const void *userdata,
6161 legion_runtime_register_task_variant_python_source_qualname(
6162 legion_runtime_t runtime,
6163 legion_task_id_t
id ,
6164 const char *task_name ,
6166 legion_execution_constraint_set_t execution_constraints,
6167 legion_task_layout_constraint_set_t layout_constraints,
6169 const char *module_name,
6170 const char **function_qualname,
6171 size_t function_qualname_len,
6172 const void *userdata,
6184 legion_task_t *taskptr,
6185 const legion_physical_region_t **regionptr,
6186 unsigned * num_regions_ptr,
6187 legion_context_t * ctxptr,
6188 legion_runtime_t * runtimeptr);
6195 legion_runtime_t runtime,
6196 legion_context_t ctx,
6221 legion_context_t ctx);
6228 legion_context_t ctx);
6235 legion_context_t ctx);
6366 legion_machine_t machine,
6368 size_t processors_size);
6381 legion_machine_t machine,
6383 size_t memories_size);
6398 legion_processor_kind_t
6404 legion_address_space_t
6414 legion_memory_kind_t
6420 legion_address_space_t
6432 legion_processor_query_t
6440 legion_processor_query_t
6458 legion_processor_kind_t kind);
6494 unsigned min_bandwidth ,
6495 unsigned max_latency );
6505 int bandwidth_weight ,
6506 int latency_weight );
6542 legion_memory_query_t
6550 legion_memory_query_t
6568 legion_memory_kind_t kind);
6604 unsigned min_bandwidth ,
6605 unsigned max_latency );
6615 unsigned min_bandwidth ,
6616 unsigned max_latency );
6626 int bandwidth_weight ,
6627 int latency_weight );
6637 int bandwidth_weight ,
6638 int latency_weight );
6675 legion_physical_instance_destroy(legion_physical_instance_t instance);
6686 legion_slice_task_output_t output,
6694 legion_slice_task_output_t output,
6695 bool verify_correctness);
6706 legion_map_task_output_t output);
6713 legion_map_task_output_t output,
6721 legion_map_task_output_t output,
6722 legion_physical_instance_t *instances,
6723 size_t instances_size);
6730 legion_map_task_output_t output,
6732 legion_physical_instance_t *instances,
6733 size_t instances_size);
6740 legion_map_task_output_t output);
6747 legion_map_task_output_t output,
6755 legion_map_task_output_t output,
6763 legion_map_task_output_t output,
6764 legion_task_priority_t priority);
6777 legion_mapper_runtime_t runtime,
6778 legion_mapper_context_t ctx,
6780 legion_layout_constraint_set_t constraints,
6782 size_t regions_size,
6783 legion_physical_instance_t *result,
6785 legion_garbage_collection_priority_t priority);
6794 legion_mapper_runtime_t runtime,
6795 legion_mapper_context_t ctx,
6797 legion_layout_constraint_id_t layout_id,
6799 size_t regions_size,
6800 legion_physical_instance_t *result,
6802 legion_garbage_collection_priority_t priority);
6811 legion_mapper_runtime_t runtime,
6812 legion_mapper_context_t ctx,
6814 legion_layout_constraint_set_t constraints,
6816 size_t regions_size,
6817 legion_physical_instance_t *result,
6820 legion_garbage_collection_priority_t priority,
6821 bool tight_region_bounds);
6830 legion_mapper_runtime_t runtime,
6831 legion_mapper_context_t ctx,
6833 legion_layout_constraint_id_t layout_id,
6835 size_t regions_size,
6836 legion_physical_instance_t *result,
6839 legion_garbage_collection_priority_t priority,
6840 bool tight_region_bounds);
6849 legion_mapper_runtime_t runtime,
6850 legion_mapper_context_t ctx,
6852 legion_layout_constraint_set_t constraints,
6854 size_t regions_size,
6855 legion_physical_instance_t *result,
6857 bool tight_region_bounds);
6866 legion_mapper_runtime_t runtime,
6867 legion_mapper_context_t ctx,
6869 legion_layout_constraint_id_t layout_id,
6871 size_t regions_size,
6872 legion_physical_instance_t *result,
6874 bool tight_region_bounds);
6884 legion_mapper_runtime_t runtime,
6885 legion_mapper_context_t ctx,
6886 legion_physical_instance_t instance);
6895 legion_mapper_runtime_t runtime,
6896 legion_mapper_context_t ctx,
6897 legion_physical_instance_t *instances,
6898 size_t instances_size);
6903 legion_context_get_shard_id(legion_runtime_t ,
6908 legion_context_get_num_shards(legion_runtime_t ,
6916 legion_context_consensus_match(legion_runtime_t ,
6926 legion_physical_region_t
6928 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)
legion_variant_id_t legion_runtime_preregister_task_variant_fnptr_with_registrar(legion_task_variant_registrar_t registrar, legion_task_pointer_wrapped_t wrapped_task_pointer, legion_variant_id_t variant_id, const char *task_name, const void *userdata, size_t userlen, size_t return_type_size, bool has_return_type_size)
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:456
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_task_variant_registrar_destroy(legion_task_variant_registrar_t registrar)
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:5255
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:419
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:408
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:443
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:681
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_task_variant_registrar_set_leaf_memory_pool_bounds(legion_task_variant_registrar_t registrar, legion_memory_kind_t kind, size_t size, unsigned alignment)
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:598
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)
legion_task_variant_registrar_t legion_task_variant_registrar_create(legion_task_id_t tid, bool global, const char *variant_name)
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:699
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)
void legion_task_variant_registrar_set_layout_constraints(legion_task_variant_registrar_t registrar, legion_task_layout_constraint_set_t constraints)
realm_task_pointer_t legion_task_pointer_wrapped_t
Definition: legion_c.h:401
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:468
legion_layout_constraint_id_t legion_layout_constraint_set_preregister(legion_layout_constraint_set_t handle, const char *layout_name)
legion_variant_id_t legion_runtime_register_task_variant_fnptr_with_registrar(legion_runtime_t runtime, legion_task_variant_registrar_t registrar, legion_task_pointer_wrapped_t wrapped_task_pointer, legion_variant_id_t variant_id, const void *userdata, size_t userlen, size_t return_type_size, bool has_return_type_size)
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:2890
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:430
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:670
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:530
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:708
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:690
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:514
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
void legion_task_variant_registrar_set_execution_constraints(legion_task_variant_registrar_t registrar, legion_execution_constraint_set_t constraints)
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:589
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:5194
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_task_variant_registrar_set_options(legion_task_variant_registrar_t registrar, legion_task_config_options_t options)
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:391
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:1178
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:300
Definition: legion_c.h:241
Definition: legion_c.h:196
Definition: legion_c.h:157
Definition: legion_c.h:204
Definition: legion_c.h:359
Definition: legion_c.h:267
Definition: legion_c.h:258
Definition: legion_c.h:249
Definition: legion_c.h:283
Definition: legion_c.h:274
Definition: legion_c.h:332
Definition: legion_c.h:349
Definition: legion_c.h:325
Definition: legion_c.h:123
Definition: legion_c.h:315
Definition: legion_c.h:372
Definition: legion_c.h:339
Definition: legion_c.h:292