17 #ifndef __LEGION_C_H__
18 #define __LEGION_C_H__
34 #ifndef LEGION_USE_PYTHON_CFFI
38 #endif // 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_acquire_launcher_t);
80 NEW_OPAQUE_TYPE(legion_release_launcher_t);
81 NEW_OPAQUE_TYPE(legion_attach_launcher_t);
82 NEW_OPAQUE_TYPE(legion_index_attach_launcher_t);
83 NEW_OPAQUE_TYPE(legion_must_epoch_launcher_t);
84 NEW_OPAQUE_TYPE(legion_physical_region_t);
85 NEW_OPAQUE_TYPE(legion_external_resources_t);
86 #define NEW_ACCESSOR_ARRAY_TYPE(DIM) \
87 NEW_OPAQUE_TYPE(legion_accessor_array_##DIM##d_t);
88 LEGION_FOREACH_N(NEW_ACCESSOR_ARRAY_TYPE)
89 #undef NEW_ACCESSOR_ARRAY_TYPE
90 NEW_OPAQUE_TYPE(legion_task_t);
91 NEW_OPAQUE_TYPE(legion_task_mut_t);
92 NEW_OPAQUE_TYPE(legion_copy_t);
93 NEW_OPAQUE_TYPE(legion_fill_t);
94 NEW_OPAQUE_TYPE(legion_inline_t);
95 NEW_OPAQUE_TYPE(legion_mappable_t);
96 NEW_OPAQUE_TYPE(legion_region_requirement_t);
97 NEW_OPAQUE_TYPE(legion_machine_t);
98 NEW_OPAQUE_TYPE(legion_mapper_t);
99 NEW_OPAQUE_TYPE(legion_default_mapper_t);
100 NEW_OPAQUE_TYPE(legion_processor_query_t);
101 NEW_OPAQUE_TYPE(legion_memory_query_t);
102 NEW_OPAQUE_TYPE(legion_machine_query_interface_t);
103 NEW_OPAQUE_TYPE(legion_execution_constraint_set_t);
104 NEW_OPAQUE_TYPE(legion_layout_constraint_set_t);
105 NEW_OPAQUE_TYPE(legion_task_layout_constraint_set_t);
106 NEW_OPAQUE_TYPE(legion_slice_task_output_t);
107 NEW_OPAQUE_TYPE(legion_map_task_input_t);
108 NEW_OPAQUE_TYPE(legion_map_task_output_t);
109 NEW_OPAQUE_TYPE(legion_physical_instance_t);
110 NEW_OPAQUE_TYPE(legion_mapper_runtime_t);
111 NEW_OPAQUE_TYPE(legion_mapper_context_t);
112 NEW_OPAQUE_TYPE(legion_field_map_t);
113 #undef NEW_OPAQUE_TYPE
122 typedef legion_coord_t coord_t;
124 #define NEW_POINT_TYPE(DIM) typedef struct legion_point_##DIM##d_t { coord_t x[DIM]; } legion_point_##DIM##d_t;
125 LEGION_FOREACH_N(NEW_POINT_TYPE)
126 #undef NEW_POINT_TYPE
128 #define NEW_RECT_TYPE(DIM) typedef struct legion_rect_##DIM##d_t { legion_point_##DIM##d_t lo, hi; } legion_rect_##DIM##d_t;
129 LEGION_FOREACH_N(NEW_RECT_TYPE)
132 #define NEW_BLOCKIFY_TYPE(DIM) \
133 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;
134 LEGION_FOREACH_N(NEW_BLOCKIFY_TYPE)
135 #undef NEW_BLOCKIFY_TYPE
137 #define NEW_TRANSFORM_TYPE(D1,D2) \
138 typedef struct legion_transform_##D1##x##D2##_t { coord_t trans[D1][D2]; } legion_transform_##D1##x##D2##_t;
139 LEGION_FOREACH_NN(NEW_TRANSFORM_TYPE)
140 #undef NEW_TRANSFORM_TYPE
142 #define NEW_AFFINE_TRANSFORM_TYPE(D1,D2) \
143 typedef struct legion_affine_transform_##D1##x##D2##_t { \
144 legion_transform_##D1##x##D2##_t transform; legion_point_##D1##d_t offset; } \
145 legion_affine_transform_##D1##x##D2##_t;
146 LEGION_FOREACH_NN(NEW_AFFINE_TRANSFORM_TYPE)
147 #undef NEW_AFFINE_TRANSFORM_TYPE
154 legion_type_tag_t is_type;
160 #if LEGION_MAX_DIM == 1
161 #define MAX_DOMAIN_DIM 2 // 2 * LEGION_MAX_RECT_DIM
162 #elif LEGION_MAX_DIM == 2
163 #define MAX_DOMAIN_DIM 4 // 2 * LEGION_MAX_RECT_DIM
164 #elif LEGION_MAX_DIM == 3
165 #define MAX_DOMAIN_DIM 6 // 2 * LEGION_MAX_RECT_DIM
166 #elif LEGION_MAX_DIM == 4
167 #define MAX_DOMAIN_DIM 8 // 2 * LEGION_MAX_RECT_DIM
168 #elif LEGION_MAX_DIM == 5
169 #define MAX_DOMAIN_DIM 10 // 2 * LEGION_MAX_RECT_DIM
170 #elif LEGION_MAX_DIM == 6
171 #define MAX_DOMAIN_DIM 12 // 2 * LEGION_MAX_RECT_DIM
172 #elif LEGION_MAX_DIM == 7
173 #define MAX_DOMAIN_DIM 14 // 2 * LEGION_MAX_RECT_DIM
174 #elif LEGION_MAX_DIM == 8
175 #define MAX_DOMAIN_DIM 16 // 2 * LEGION_MAX_RECT_DIM
176 #elif LEGION_MAX_DIM == 9
177 #define MAX_DOMAIN_DIM 18 // 2 * LEGION_MAX_RECT_DIM
179 #error "Illegal value of LEGION_MAX_DIM"
181 #if MAX_DOMAIN_DIM != 2 * LEGION_MAX_RECT_DIM // sanity check value
182 #error Mismatch in MAX_DOMAIN_DIM
184 coord_t rect_data[MAX_DOMAIN_DIM];
185 #undef MAX_DOMAIN_DIM
193 coord_t point_data[LEGION_MAX_DIM];
205 #if LEGION_MAX_DIM == 1
206 #define MAX_MATRIX_DIM 1
207 #elif LEGION_MAX_DIM == 2
208 #define MAX_MATRIX_DIM 4
209 #elif LEGION_MAX_DIM == 3
210 #define MAX_MATRIX_DIM 9
211 #elif LEGION_MAX_DIM == 4
212 #define MAX_MATRIX_DIM 16
213 #elif LEGION_MAX_DIM == 5
214 #define MAX_MATRIX_DIM 25
215 #elif LEGION_MAX_DIM == 6
216 #define MAX_MATRIX_DIM 36
217 #elif LEGION_MAX_DIM == 7
218 #define MAX_MATRIX_DIM 49
219 #elif LEGION_MAX_DIM == 8
220 #define MAX_MATRIX_DIM 64
221 #elif LEGION_MAX_DIM == 9
222 #define MAX_MATRIX_DIM 81
224 #error "Illegal value of LEGION_MAX_DIM"
226 #if MAX_MATRIX_DIM != LEGION_MAX_POINT_DIM * LEGION_MAX_POINT_DIM // sanity check
227 #error Mismatch in MAX_MATRIX_DIM
229 coord_t matrix[MAX_MATRIX_DIM];
230 #undef MAX_MATRIX_DIM
245 legion_index_space_id_t id;
246 legion_index_tree_id_t tid;
247 legion_type_tag_t type_tag;
254 legion_index_partition_id_t id;
255 legion_index_tree_id_t tid;
256 legion_type_tag_t type_tag;
263 legion_field_space_id_t id;
270 legion_region_tree_id_t tree_id;
279 legion_region_tree_id_t tree_id;
348 realm_barrier_timestamp_t timestamp;
359 realm_barrier_timestamp_t timestamp;
361 legion_reduction_op_id_t redop;
372 bool valid_instances;
375 legion_task_priority_t parent_priority;
417 legion_domain_point_t ,
429 legion_logical_region_t ,
430 legion_domain_point_t );
441 legion_logical_partition_t ,
442 legion_domain_point_t );
466 legion_context_t ctx,
468 legion_logical_region_t region);
483 #define FROM_RECT(DIM) \
485 legion_domain_from_rect_##DIM##d(legion_rect_##DIM##d_t r);
499 #define GET_RECT(DIM) \
500 legion_rect_##DIM##d_t \
501 legion_domain_get_rect_##DIM##d(legion_domain_t d);
511 #define GET_BOUNDS(DIM) \
512 legion_rect_##DIM##d_t \
513 legion_domain_get_bounds_##DIM##d(legion_domain_t d);
514 LEGION_FOREACH_N(GET_BOUNDS)
534 legion_domain_transform_identity(
unsigned m,
unsigned n);
536 #define FROM_TRANSFORM(D1,D2) \
537 legion_domain_transform_t \
538 legion_domain_transform_from_##D1##x##D2(legion_transform_##D1##x##D2##_t t);
539 LEGION_FOREACH_NN(FROM_TRANSFORM)
540 #undef FROM_TRANSFORM
543 legion_domain_affine_transform_identity(
unsigned m,
unsigned n);
545 #define FROM_AFFINE(D1,D2) \
546 legion_domain_affine_transform_t \
547 legion_domain_affine_transform_from_##D1##x##D2(legion_affine_transform_##D1##x##D2##_t t);
548 LEGION_FOREACH_NN(FROM_AFFINE)
558 #define FROM_POINT(DIM) \
559 legion_domain_point_t \
560 legion_domain_point_from_point_##DIM##d(legion_point_##DIM##d_t p);
567 #define GET_POINT(DIM) \
568 legion_point_##DIM##d_t \
569 legion_domain_point_get_point_##DIM##d(legion_domain_point_t p);
573 legion_domain_point_t
574 legion_domain_point_origin(
unsigned dim);
579 legion_domain_point_t
592 legion_domain_point_t
594 legion_context_t ctx,
595 legion_domain_point_t point,
596 legion_logical_region_t region);
607 legion_domain_point_iterator_t
627 legion_domain_point_t
639 #define ITERATOR_CREATE(DIM) \
640 legion_rect_in_domain_iterator_##DIM##d_t \
641 legion_rect_in_domain_iterator_create_##DIM##d(legion_domain_t handle);
643 #undef ITERATOR_CREATE
650 #define ITERATOR_DESTROY(DIM) \
651 void legion_rect_in_domain_iterator_destroy_##DIM##d( \
652 legion_rect_in_domain_iterator_##DIM##d_t handle);
654 #undef ITERATOR_DESTROY
659 #define ITERATOR_VALID(DIM) \
660 bool legion_rect_in_domain_iterator_valid_##DIM##d( \
661 legion_rect_in_domain_iterator_##DIM##d_t handle);
663 #undef ITERATOR_VALID
668 #define ITERATOR_STEP(DIM) \
669 bool legion_rect_in_domain_iterator_step_##DIM##d( \
670 legion_rect_in_domain_iterator_##DIM##d_t handle);
677 #define ITERATOR_OP(DIM) \
678 legion_rect_##DIM##d_t \
679 legion_rect_in_domain_iterator_get_rect_##DIM##d( \
680 legion_rect_in_domain_iterator_##DIM##d_t handle);
709 legion_color_t color);
716 legion_color_t color,
724 legion_color_t color,
732 legion_color_t color,
740 legion_color_t color,
753 legion_domain_coloring_t
769 legion_color_t color,
787 legion_point_coloring_t
797 legion_point_coloring_t handle);
804 legion_domain_point_t color,
812 legion_domain_point_t color,
825 legion_domain_point_coloring_t
835 legion_domain_point_coloring_t handle);
842 legion_domain_point_coloring_t handle,
843 legion_domain_point_t color,
855 legion_multi_domain_point_coloring_t
865 legion_multi_domain_point_coloring_t handle);
872 legion_multi_domain_point_coloring_t handle,
873 legion_domain_point_t color,
887 legion_context_t ctx,
888 size_t max_num_elmts);
897 legion_context_t ctx,
907 legion_context_t ctx,
909 legion_future_t future,
910 legion_type_tag_t type_tag);
919 legion_context_t ctx,
930 legion_context_t ctx,
941 legion_context_t ctx,
985 legion_context_t ctx,
995 legion_context_t ctx,
1005 legion_context_t ctx,
1015 legion_semantic_tag_t tag,
1025 legion_runtime_t runtime,
1027 legion_semantic_tag_t tag,
1028 const void **result,
1031 bool wait_until_ready );
1048 const char **result);
1070 legion_runtime_t runtime,
1071 legion_context_t ctx,
1073 legion_coloring_t coloring,
1075 legion_color_t part_color );
1085 legion_runtime_t runtime,
1086 legion_context_t ctx,
1089 legion_domain_coloring_t coloring,
1091 legion_color_t part_color );
1101 legion_runtime_t runtime,
1102 legion_context_t ctx,
1105 legion_point_coloring_t coloring,
1106 legion_partition_kind_t part_kind ,
1107 legion_color_t color );
1117 legion_runtime_t runtime,
1118 legion_context_t ctx,
1121 legion_domain_point_coloring_t coloring,
1122 legion_partition_kind_t part_kind ,
1123 legion_color_t color );
1133 legion_runtime_t runtime,
1134 legion_context_t ctx,
1137 legion_multi_domain_point_coloring_t coloring,
1138 legion_partition_kind_t part_kind ,
1139 legion_color_t color );
1147 #define CREATE_BLOCKIFY(DIM) \
1148 legion_index_partition_t \
1149 legion_index_partition_create_blockify_##DIM##d( \
1150 legion_runtime_t runtime, \
1151 legion_context_t ctx, \
1152 legion_index_space_t parent, \
1153 legion_blockify_##DIM##d_t blockify, \
1154 legion_color_t part_color );
1156 #undef CREATE_BLOCKIFY
1165 legion_context_t ctx,
1169 legion_color_t color );
1178 legion_runtime_t runtime,
1179 legion_context_t ctx,
1181 legion_domain_point_t *colors,
1185 size_t granularity ,
1186 legion_color_t color );
1195 legion_runtime_t runtime,
1196 legion_context_t ctx,
1198 legion_future_map_t future_map,
1200 size_t granularity ,
1201 legion_color_t color );
1210 legion_runtime_t runtime,
1211 legion_context_t ctx,
1216 legion_partition_kind_t part_kind ,
1217 legion_color_t color );
1226 legion_runtime_t runtime,
1227 legion_context_t ctx,
1232 legion_partition_kind_t part_kind ,
1233 legion_color_t color );
1242 legion_runtime_t runtime,
1243 legion_context_t ctx,
1246 legion_partition_kind_t part_kind ,
1247 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,
1276 legion_domain_point_t *colors,
1278 size_t num_color_domains,
1280 bool perform_intersections ,
1281 legion_partition_kind_t part_kind ,
1282 legion_color_t color );
1291 legion_runtime_t runtime,
1292 legion_context_t ctx,
1294 legion_future_map_t future_map,
1296 bool perform_intersections ,
1297 legion_partition_kind_t part_kind ,
1298 legion_color_t color );
1307 legion_context_t ctx,
1308 legion_logical_region_t handle,
1309 legion_logical_region_t parent,
1310 legion_field_id_t fid,
1312 legion_color_t color ,
1313 legion_mapper_id_t
id ,
1314 legion_mapping_tag_id_t tag ,
1315 legion_partition_kind_t part_kind ,
1325 legion_runtime_t runtime,
1326 legion_context_t ctx,
1328 legion_logical_partition_t projection,
1329 legion_logical_region_t parent,
1330 legion_field_id_t fid,
1332 legion_partition_kind_t part_kind ,
1333 legion_color_t color ,
1334 legion_mapper_id_t
id ,
1335 legion_mapping_tag_id_t tag ,
1345 legion_runtime_t runtime,
1346 legion_context_t ctx,
1348 legion_logical_region_t handle,
1349 legion_logical_region_t parent,
1350 legion_field_id_t fid,
1352 legion_partition_kind_t part_kind ,
1353 legion_color_t color ,
1354 legion_mapper_id_t
id ,
1355 legion_mapping_tag_id_t tag ,
1365 legion_runtime_t runtime,
1366 legion_context_t ctx,
1368 legion_logical_partition_t projection,
1369 legion_logical_region_t parent,
1370 legion_field_id_t fid,
1372 legion_partition_kind_t part_kind ,
1373 legion_color_t color ,
1374 legion_mapper_id_t
id ,
1375 legion_mapping_tag_id_t tag ,
1385 legion_runtime_t runtime,
1386 legion_context_t ctx,
1388 legion_logical_region_t handle,
1389 legion_logical_region_t parent,
1390 legion_field_id_t fid,
1392 legion_partition_kind_t part_kind ,
1393 legion_color_t color ,
1394 legion_mapper_id_t
id ,
1395 legion_mapping_tag_id_t tag ,
1405 legion_runtime_t runtime,
1406 legion_context_t ctx,
1411 legion_partition_kind_t part_kind ,
1412 legion_color_t color );
1421 legion_runtime_t runtime,
1422 legion_context_t ctx,
1425 legion_partition_kind_t part_kind ,
1426 legion_color_t color );
1433 legion_runtime_t runtime,
1434 legion_context_t ctx,
1436 legion_domain_point_t color,
1445 legion_runtime_t runtime,
1446 legion_context_t ctx,
1448 legion_domain_point_t color,
1456 legion_runtime_t runtime,
1457 legion_context_t ctx,
1459 legion_domain_point_t color,
1468 legion_runtime_t runtime,
1469 legion_context_t ctx,
1471 legion_domain_point_t color,
1479 legion_runtime_t runtime,
1480 legion_context_t ctx,
1482 legion_domain_point_t color,
1509 legion_color_t color);
1518 legion_runtime_t runtime,
1520 legion_domain_point_t color);
1527 legion_runtime_t runtime,
1529 legion_domain_point_t color);
1561 legion_context_t ctx,
1571 legion_context_t ctx,
1581 legion_context_t ctx,
1591 legion_runtime_t runtime,
1593 legion_semantic_tag_t tag,
1603 legion_runtime_t runtime,
1605 legion_semantic_tag_t tag,
1606 const void **result,
1609 bool wait_until_ready );
1626 const char **result);
1639 legion_context_t ctx);
1648 legion_context_t ctx,
1649 size_t *field_sizes,
1650 legion_field_id_t *field_ids,
1652 legion_custom_serdez_id_t serdez);
1661 legion_context_t ctx,
1662 legion_future_t *field_sizes,
1663 legion_field_id_t *field_ids,
1665 legion_custom_serdez_id_t serdez);
1680 legion_context_t ctx,
1690 legion_context_t ctx,
1700 legion_context_t ctx,
1709 legion_runtime_t runtime,
1711 legion_semantic_tag_t tag,
1721 legion_runtime_t runtime,
1723 legion_semantic_tag_t tag,
1724 const void **result,
1727 bool wait_until_ready );
1736 legion_context_t ctx,
1747 legion_context_t ctx,
1749 const legion_field_id_t *fields,
1750 size_t fields_size);
1758 legion_field_id_t
id,
1759 legion_semantic_tag_t tag,
1769 legion_runtime_t runtime,
1771 legion_field_id_t
id,
1772 legion_semantic_tag_t tag,
1773 const void **result,
1776 bool wait_until_ready );
1793 const char **result);
1801 legion_field_id_t
id,
1811 legion_field_id_t
id,
1812 const char **result);
1819 legion_context_t ctx,
1821 legion_field_id_t
id);
1832 legion_logical_region_t
1834 legion_context_t ctx,
1846 legion_context_t ctx,
1847 legion_logical_region_t handle);
1856 legion_context_t ctx,
1857 legion_logical_region_t handle);
1866 legion_context_t ctx,
1867 legion_logical_region_t handle,
1875 legion_logical_region_t handle);
1880 legion_domain_point_t
1882 legion_logical_region_t handle_);
1889 legion_runtime_t runtime,
1890 legion_logical_region_t handle);
1895 legion_logical_partition_t
1897 legion_runtime_t runtime,
1898 legion_logical_region_t handle);
1905 legion_runtime_t runtime,
1906 legion_logical_region_t handle,
1907 legion_semantic_tag_t tag,
1917 legion_runtime_t runtime,
1918 legion_logical_region_t handle,
1919 legion_semantic_tag_t tag,
1920 const void **result,
1923 bool wait_until_ready );
1930 legion_logical_region_t handle,
1939 legion_logical_region_t handle,
1940 const char **result);
1957 legion_logical_partition_t
1959 legion_logical_region_t parent,
1967 legion_logical_partition_t
1969 legion_context_t ctx,
1972 legion_region_tree_id_t tid);
1981 legion_context_t ctx,
1982 legion_logical_partition_t handle);
1991 legion_context_t ctx,
1992 legion_logical_partition_t handle,
2000 legion_logical_region_t
2002 legion_runtime_t runtime,
2003 legion_logical_partition_t parent,
2011 legion_logical_region_t
2013 legion_runtime_t runtime,
2014 legion_logical_partition_t parent,
2022 legion_logical_region_t
2024 legion_runtime_t runtime,
2025 legion_logical_partition_t parent,
2026 legion_domain_point_t c);
2033 legion_runtime_t runtime,
2034 legion_logical_partition_t parent,
2035 legion_domain_point_t c);
2042 legion_logical_region_t
2044 legion_runtime_t runtime,
2047 legion_region_tree_id_t tid);
2052 legion_logical_region_t
2054 legion_runtime_t runtime,
2055 legion_logical_partition_t handle);
2062 legion_runtime_t runtime,
2063 legion_logical_partition_t handle,
2064 legion_semantic_tag_t tag,
2074 legion_runtime_t runtime,
2075 legion_logical_partition_t handle,
2076 legion_semantic_tag_t tag,
2077 const void **result,
2080 bool wait_until_ready );
2087 legion_logical_partition_t handle,
2096 legion_logical_partition_t handle,
2097 const char **result);
2106 legion_region_requirement_t
2108 legion_logical_region_t handle,
2109 legion_privilege_mode_t priv,
2110 legion_coherence_property_t prop,
2111 legion_logical_region_t parent,
2112 legion_mapping_tag_id_t tag ,
2118 legion_region_requirement_t
2120 legion_logical_region_t handle,
2121 legion_projection_id_t proj ,
2122 legion_privilege_mode_t priv,
2123 legion_coherence_property_t prop,
2124 legion_logical_region_t parent,
2125 legion_mapping_tag_id_t tag ,
2131 legion_region_requirement_t
2133 legion_logical_partition_t handle,
2134 legion_projection_id_t proj ,
2135 legion_privilege_mode_t priv,
2136 legion_coherence_property_t prop,
2137 legion_logical_region_t parent,
2138 legion_mapping_tag_id_t tag ,
2152 legion_field_id_t field,
2153 bool instance_field);
2160 legion_region_flags_t flags);
2165 legion_logical_region_t
2171 legion_logical_region_t
2177 legion_logical_partition_t
2185 legion_region_requirement_t handle);
2200 legion_region_requirement_t handle,
2201 legion_field_id_t* fields,
2202 unsigned fields_size);
2213 legion_region_requirement_t handle,
2221 legion_region_requirement_t handle);
2236 legion_region_requirement_t handle,
2237 legion_field_id_t* fields,
2238 unsigned fields_size);
2247 legion_region_requirement_t handle,
2253 legion_privilege_mode_t
2259 legion_coherence_property_t
2265 legion_reduction_op_id_t
2271 legion_mapping_tag_id_t
2277 legion_handle_type_t
2283 legion_projection_id_t
2295 legion_field_allocator_t
2297 legion_context_t ctx,
2319 legion_field_allocator_t allocator,
2321 legion_field_id_t desired_fieldid );
2328 legion_field_allocator_t allocator,
2329 legion_future_t field_size,
2330 legion_field_id_t desired_fieldid );
2337 legion_field_id_t fid);
2344 legion_field_id_t fid,
2352 legion_field_allocator_t allocator,
2354 legion_field_id_t desired_fieldid );
2361 legion_argument_map_t
2369 legion_argument_map_t
2377 legion_domain_point_t dp,
2386 legion_domain_point_t dp,
2387 legion_future_t future,
2409 legion_context_t ctx,
2425 const legion_predicate_t
2433 const legion_predicate_t
2447 legion_context_t ctx,
2457 legion_context_t ctx,
2465 legion_context_t ctx,
2474 legion_context_t ctx,
2483 legion_context_t ctx,
2493 legion_context_t ctx,
2507 legion_context_t ctx,
2509 legion_reduction_op_id_t redop,
2510 const void *init_value,
2520 legion_context_t ctx,
2528 legion_runtime_t runtime,
2529 legion_context_t ctx,
2538 legion_context_t ctx,
2549 legion_context_t ctx,
2561 legion_context_t ctx,
2571 legion_context_t ctx,
2615 bool silence_warnings ,
2616 const char *warning_string );
2682 legion_domain_point_t point);
2691 legion_context_t ctx,
2692 legion_future_map_t handle,
2693 legion_reduction_op_id_t redop,
2694 bool deterministic);
2703 legion_context_t ctx,
2705 legion_domain_point_t *points,
2709 legion_sharding_id_t sid,
2710 bool implicit_sharding);
2719 legion_context_t ctx,
2721 legion_domain_point_t *points,
2722 legion_future_t *futures,
2725 legion_sharding_id_t sid,
2726 bool implicit_sharding);
2737 #define BUFFER_CREATE(DIM) \
2738 legion_deferred_buffer_char_##DIM##d_t \
2739 legion_deferred_buffer_char_##DIM##d_create( \
2740 legion_rect_##DIM##d_t bounds, \
2741 legion_memory_kind_t kind, \
2742 char *initial_value);
2744 #undef BUFFER_CREATE
2749 #define BUFFER_PTR(DIM) \
2751 legion_deferred_buffer_char_##DIM##d_ptr( \
2752 legion_deferred_buffer_char_##DIM##d_t buffer, \
2753 legion_point_##DIM##d_t p);
2754 LEGION_FOREACH_N(BUFFER_PTR)
2760 #define BUFFER_DESTROY(DIM) \
2762 legion_deferred_buffer_char_##DIM##d_destroy( \
2763 legion_deferred_buffer_char_##DIM##d_t buffer);
2764 LEGION_FOREACH_N(BUFFER_DESTROY)
2765 #undef BUFFER_DESTROY
2776 legion_task_launcher_t
2778 legion_task_id_t tid,
2780 legion_predicate_t pred ,
2781 legion_mapper_id_t
id ,
2782 legion_mapping_tag_id_t tag );
2789 legion_task_launcher_t
2791 legion_task_id_t tid,
2794 legion_predicate_t pred ,
2795 legion_mapper_id_t
id ,
2796 legion_mapping_tag_id_t tag );
2813 legion_context_t ctx,
2814 legion_task_launcher_t launcher);
2821 legion_task_launcher_t launcher,
2822 legion_logical_region_t handle,
2823 legion_privilege_mode_t priv,
2824 legion_coherence_property_t prop,
2825 legion_logical_region_t parent,
2826 legion_mapping_tag_id_t tag ,
2834 legion_task_launcher_t launcher,
2835 legion_logical_region_t handle,
2836 legion_reduction_op_id_t redop,
2837 legion_coherence_property_t prop,
2838 legion_logical_region_t parent,
2839 legion_mapping_tag_id_t tag ,
2847 legion_task_launcher_t launcher,
2849 legion_logical_region_t handle,
2850 legion_privilege_mode_t priv,
2851 legion_coherence_property_t prop,
2852 legion_logical_region_t parent,
2853 legion_mapping_tag_id_t tag ,
2861 legion_task_launcher_t launcher,
2863 legion_logical_region_t handle,
2864 legion_reduction_op_id_t redop,
2865 legion_coherence_property_t prop,
2866 legion_logical_region_t parent,
2867 legion_mapping_tag_id_t tag ,
2876 legion_field_id_t fid,
2902 enum legion_region_flags_t flags);
2910 enum legion_region_flags_t flags);
2917 legion_task_launcher_t launcher,
2919 legion_allocate_mode_t priv,
2928 legion_future_t future);
2956 legion_domain_point_t point);
2984 legion_mapper_id_t mapper_id);
2991 legion_mapping_tag_id_t tag);
3005 bool enable_inlining);
3012 bool local_function_task);
3019 bool elide_future_return);
3026 const char *provenance);
3033 legion_index_launcher_t
3035 legion_task_id_t tid,
3038 legion_argument_map_t map,
3039 legion_predicate_t pred ,
3041 legion_mapper_id_t
id ,
3042 legion_mapping_tag_id_t tag );
3049 legion_index_launcher_t
3051 legion_task_id_t tid,
3055 legion_argument_map_t map,
3056 legion_predicate_t pred ,
3058 legion_mapper_id_t
id ,
3059 legion_mapping_tag_id_t tag );
3076 legion_context_t ctx,
3077 legion_index_launcher_t launcher);
3086 legion_context_t ctx,
3087 legion_index_launcher_t launcher,
3088 legion_reduction_op_id_t redop);
3097 legion_context_t ctx,
3098 legion_index_launcher_t launcher,
3099 legion_reduction_op_id_t redop,
3100 bool deterministic);
3107 legion_index_launcher_t launcher,
3108 legion_logical_region_t handle,
3109 legion_projection_id_t proj ,
3110 legion_privilege_mode_t priv,
3111 legion_coherence_property_t prop,
3112 legion_logical_region_t parent,
3113 legion_mapping_tag_id_t tag ,
3121 legion_index_launcher_t launcher,
3122 legion_logical_partition_t handle,
3123 legion_projection_id_t proj ,
3124 legion_privilege_mode_t priv,
3125 legion_coherence_property_t prop,
3126 legion_logical_region_t parent,
3127 legion_mapping_tag_id_t tag ,
3135 legion_index_launcher_t launcher,
3136 legion_logical_region_t handle,
3137 legion_projection_id_t proj ,
3138 legion_reduction_op_id_t redop,
3139 legion_coherence_property_t prop,
3140 legion_logical_region_t parent,
3141 legion_mapping_tag_id_t tag ,
3149 legion_index_launcher_t launcher,
3150 legion_logical_partition_t handle,
3151 legion_projection_id_t proj ,
3152 legion_reduction_op_id_t redop,
3153 legion_coherence_property_t prop,
3154 legion_logical_region_t parent,
3155 legion_mapping_tag_id_t tag ,
3163 legion_index_launcher_t launcher,
3165 legion_logical_region_t handle,
3166 legion_projection_id_t proj ,
3167 legion_privilege_mode_t priv,
3168 legion_coherence_property_t prop,
3169 legion_logical_region_t parent,
3170 legion_mapping_tag_id_t tag ,
3178 legion_index_launcher_t launcher,
3180 legion_logical_partition_t handle,
3181 legion_projection_id_t proj ,
3182 legion_privilege_mode_t priv,
3183 legion_coherence_property_t prop,
3184 legion_logical_region_t parent,
3185 legion_mapping_tag_id_t tag ,
3193 legion_index_launcher_t launcher,
3195 legion_logical_region_t handle,
3196 legion_projection_id_t proj ,
3197 legion_reduction_op_id_t redop,
3198 legion_coherence_property_t prop,
3199 legion_logical_region_t parent,
3200 legion_mapping_tag_id_t tag ,
3208 legion_index_launcher_t launcher,
3210 legion_logical_partition_t handle,
3211 legion_projection_id_t proj ,
3212 legion_reduction_op_id_t redop,
3213 legion_coherence_property_t prop,
3214 legion_logical_region_t parent,
3215 legion_mapping_tag_id_t tag ,
3224 legion_field_id_t fid,
3233 enum legion_region_flags_t flags);
3241 enum legion_region_flags_t flags);
3248 legion_index_launcher_t launcher,
3250 legion_allocate_mode_t priv,
3259 legion_future_t future);
3280 legion_argument_map_t map);
3301 legion_mapper_id_t mapper_id);
3308 legion_mapping_tag_id_t tag);
3322 bool elide_future_return);
3329 const char *provenance);
3340 legion_inline_launcher_t
3342 legion_logical_region_t handle,
3343 legion_privilege_mode_t priv,
3344 legion_coherence_property_t prop,
3345 legion_logical_region_t parent,
3346 legion_mapping_tag_id_t region_tag ,
3348 legion_mapper_id_t
id ,
3349 legion_mapping_tag_id_t launcher_tag );
3364 legion_physical_region_t
3366 legion_context_t ctx,
3367 legion_inline_launcher_t launcher);
3374 legion_field_id_t fid,
3389 const char *provenance);
3396 legion_context_t ctx,
3397 legion_physical_region_t region);
3404 legion_context_t ctx,
3405 legion_physical_region_t region);
3412 legion_context_t ctx);
3423 legion_runtime_t runtime,
3424 legion_context_t ctx,
3425 legion_logical_region_t handle,
3426 legion_logical_region_t parent,
3427 legion_field_id_t fid,
3430 legion_predicate_t pred );
3437 legion_runtime_t runtime,
3438 legion_context_t ctx,
3439 legion_logical_region_t handle,
3440 legion_logical_region_t parent,
3441 legion_field_id_t fid,
3443 legion_predicate_t pred );
3450 legion_fill_launcher_t
3452 legion_logical_region_t handle,
3453 legion_logical_region_t parent,
3454 legion_field_id_t fid,
3457 legion_predicate_t pred ,
3458 legion_mapper_id_t
id ,
3459 legion_mapping_tag_id_t tag );
3466 legion_fill_launcher_t
3468 legion_logical_region_t handle,
3469 legion_logical_region_t parent,
3470 legion_field_id_t fid,
3472 legion_predicate_t pred ,
3473 legion_mapper_id_t
id ,
3474 legion_mapping_tag_id_t tag );
3489 legion_field_id_t fid);
3496 legion_context_t ctx,
3497 legion_fill_launcher_t launcher);
3504 legion_domain_point_t point);
3524 const char *provenance);
3536 legion_runtime_t runtime,
3537 legion_context_t ctx,
3538 legion_logical_partition_t handle,
3539 legion_logical_region_t parent,
3540 legion_field_id_t fid,
3543 legion_projection_id_t proj ,
3544 legion_predicate_t pred ,
3545 legion_mapper_id_t
id ,
3546 legion_mapping_tag_id_t launcher_tag );
3554 legion_runtime_t runtime,
3555 legion_context_t ctx,
3557 legion_logical_partition_t handle,
3558 legion_logical_region_t parent,
3559 legion_field_id_t fid,
3562 legion_projection_id_t proj ,
3563 legion_predicate_t pred ,
3564 legion_mapper_id_t
id ,
3565 legion_mapping_tag_id_t launcher_tag );
3573 legion_runtime_t runtime,
3574 legion_context_t ctx,
3576 legion_logical_partition_t handle,
3577 legion_logical_region_t parent,
3578 legion_field_id_t fid,
3581 legion_projection_id_t proj ,
3582 legion_predicate_t pred ,
3583 legion_mapper_id_t
id ,
3584 legion_mapping_tag_id_t launcher_tag );
3592 legion_runtime_t runtime,
3593 legion_context_t ctx,
3594 legion_logical_partition_t handle,
3595 legion_logical_region_t parent,
3596 legion_field_id_t fid,
3598 legion_projection_id_t proj ,
3599 legion_predicate_t pred ,
3600 legion_mapper_id_t
id ,
3601 legion_mapping_tag_id_t launcher_tag );
3609 legion_runtime_t runtime,
3610 legion_context_t ctx,
3612 legion_logical_partition_t handle,
3613 legion_logical_region_t parent,
3614 legion_field_id_t fid,
3616 legion_projection_id_t proj ,
3617 legion_predicate_t pred ,
3618 legion_mapper_id_t
id ,
3619 legion_mapping_tag_id_t launcher_tag );
3627 legion_runtime_t runtime,
3628 legion_context_t ctx,
3630 legion_logical_partition_t handle,
3631 legion_logical_region_t parent,
3632 legion_field_id_t fid,
3634 legion_projection_id_t proj ,
3635 legion_predicate_t pred ,
3636 legion_mapper_id_t
id ,
3637 legion_mapping_tag_id_t launcher_tag );
3644 legion_index_fill_launcher_t
3647 legion_logical_partition_t handle,
3648 legion_logical_region_t parent,
3649 legion_field_id_t fid,
3652 legion_projection_id_t proj ,
3653 legion_predicate_t pred ,
3654 legion_mapper_id_t
id ,
3655 legion_mapping_tag_id_t launcher_tag );
3662 legion_index_fill_launcher_t
3665 legion_logical_partition_t handle,
3666 legion_logical_region_t parent,
3667 legion_field_id_t fid,
3670 legion_projection_id_t proj ,
3671 legion_predicate_t pred ,
3672 legion_mapper_id_t
id ,
3673 legion_mapping_tag_id_t launcher_tag );
3680 legion_index_fill_launcher_t
3683 legion_logical_partition_t handle,
3684 legion_logical_region_t parent,
3685 legion_field_id_t fid,
3686 legion_future_t future,
3687 legion_projection_id_t proj ,
3688 legion_predicate_t pred ,
3689 legion_mapper_id_t
id ,
3690 legion_mapping_tag_id_t launcher_tag );
3697 legion_index_fill_launcher_t
3700 legion_logical_partition_t handle,
3701 legion_logical_region_t parent,
3702 legion_field_id_t fid,
3703 legion_future_t future,
3704 legion_projection_id_t proj ,
3705 legion_predicate_t pred ,
3706 legion_mapper_id_t
id ,
3707 legion_mapping_tag_id_t launcher_tag );
3722 legion_field_id_t fid);
3729 legion_context_t ctx,
3730 legion_index_fill_launcher_t launcher);
3750 const char *provenance);
3757 legion_region_requirement_t
3777 legion_field_map_insert(legion_field_map_t handle,
3778 legion_field_id_t key,
3786 legion_physical_region_t
3788 legion_runtime_t runtime,
3789 legion_context_t ctx,
3790 const char *filename,
3791 legion_logical_region_t handle,
3792 legion_logical_region_t parent,
3793 legion_field_map_t field_map,
3794 legion_file_mode_t mode);
3801 legion_runtime_t runtime,
3802 legion_context_t ctx,
3803 legion_physical_region_t region);
3814 legion_copy_launcher_t
3816 legion_predicate_t pred ,
3817 legion_mapper_id_t
id ,
3818 legion_mapping_tag_id_t launcher_tag );
3835 legion_context_t ctx,
3836 legion_copy_launcher_t launcher);
3843 legion_copy_launcher_t launcher,
3844 legion_logical_region_t handle,
3845 legion_privilege_mode_t priv,
3846 legion_coherence_property_t prop,
3847 legion_logical_region_t parent,
3848 legion_mapping_tag_id_t tag ,
3856 legion_copy_launcher_t launcher,
3857 legion_logical_region_t handle,
3858 legion_privilege_mode_t priv,
3859 legion_coherence_property_t prop,
3860 legion_logical_region_t parent,
3861 legion_mapping_tag_id_t tag ,
3869 legion_copy_launcher_t launcher,
3870 legion_logical_region_t handle,
3871 legion_reduction_op_id_t redop,
3872 legion_coherence_property_t prop,
3873 legion_logical_region_t parent,
3874 legion_mapping_tag_id_t tag ,
3882 legion_copy_launcher_t launcher,
3883 legion_logical_region_t handle,
3884 legion_field_id_t fid,
3885 legion_coherence_property_t prop,
3886 legion_logical_region_t parent,
3887 legion_mapping_tag_id_t tag ,
3888 bool is_range_indirection ,
3896 legion_copy_launcher_t launcher,
3897 legion_logical_region_t handle,
3898 legion_field_id_t fid,
3899 legion_coherence_property_t prop,
3900 legion_logical_region_t parent,
3901 legion_mapping_tag_id_t tag ,
3902 bool is_range_indirection ,
3911 legion_field_id_t fid,
3920 legion_field_id_t fid,
3942 legion_copy_launcher_t launcher,
bool flag);
3949 legion_copy_launcher_t launcher,
bool flag);
3956 legion_domain_point_t point);
3976 const char *provenance);
3986 legion_region_requirement_t
3998 legion_index_copy_launcher_t
4001 legion_predicate_t pred ,
4002 legion_mapper_id_t
id ,
4003 legion_mapping_tag_id_t launcher_tag );
4020 legion_context_t ctx,
4021 legion_index_copy_launcher_t launcher);
4028 legion_index_copy_launcher_t launcher,
4029 legion_logical_region_t handle,
4030 legion_projection_id_t proj ,
4031 legion_privilege_mode_t priv,
4032 legion_coherence_property_t prop,
4033 legion_logical_region_t parent,
4034 legion_mapping_tag_id_t tag ,
4042 legion_index_copy_launcher_t launcher,
4043 legion_logical_region_t handle,
4044 legion_projection_id_t proj ,
4045 legion_privilege_mode_t priv,
4046 legion_coherence_property_t prop,
4047 legion_logical_region_t parent,
4048 legion_mapping_tag_id_t tag ,
4056 legion_index_copy_launcher_t launcher,
4057 legion_logical_partition_t handle,
4058 legion_projection_id_t proj ,
4059 legion_privilege_mode_t priv,
4060 legion_coherence_property_t prop,
4061 legion_logical_region_t parent,
4062 legion_mapping_tag_id_t tag ,
4070 legion_index_copy_launcher_t launcher,
4071 legion_logical_partition_t handle,
4072 legion_projection_id_t proj ,
4073 legion_privilege_mode_t priv,
4074 legion_coherence_property_t prop,
4075 legion_logical_region_t parent,
4076 legion_mapping_tag_id_t tag ,
4084 legion_index_copy_launcher_t launcher,
4085 legion_logical_region_t handle,
4086 legion_projection_id_t proj ,
4087 legion_reduction_op_id_t redop,
4088 legion_coherence_property_t prop,
4089 legion_logical_region_t parent,
4090 legion_mapping_tag_id_t tag ,
4098 legion_index_copy_launcher_t launcher,
4099 legion_logical_partition_t handle,
4100 legion_projection_id_t proj ,
4101 legion_reduction_op_id_t redop,
4102 legion_coherence_property_t prop,
4103 legion_logical_region_t parent,
4104 legion_mapping_tag_id_t tag ,
4112 legion_index_copy_launcher_t launcher,
4113 legion_logical_region_t handle,
4114 legion_projection_id_t proj ,
4115 legion_field_id_t fid,
4116 legion_coherence_property_t prop,
4117 legion_logical_region_t parent,
4118 legion_mapping_tag_id_t tag ,
4119 bool is_range_indirection ,
4127 legion_index_copy_launcher_t launcher,
4128 legion_logical_region_t handle,
4129 legion_projection_id_t proj ,
4130 legion_field_id_t fid,
4131 legion_coherence_property_t prop,
4132 legion_logical_region_t parent,
4133 legion_mapping_tag_id_t tag ,
4134 bool is_range_indirection ,
4142 legion_index_copy_launcher_t launcher,
4143 legion_logical_partition_t handle,
4144 legion_projection_id_t proj ,
4145 legion_field_id_t fid,
4146 legion_coherence_property_t prop,
4147 legion_logical_region_t parent,
4148 legion_mapping_tag_id_t tag ,
4149 bool is_range_indirection ,
4157 legion_index_copy_launcher_t launcher,
4158 legion_logical_partition_t handle,
4159 legion_projection_id_t proj ,
4160 legion_field_id_t fid,
4161 legion_coherence_property_t prop,
4162 legion_logical_region_t parent,
4163 legion_mapping_tag_id_t tag ,
4164 bool is_range_indirection ,
4173 legion_field_id_t fid,
4182 legion_field_id_t fid,
4204 legion_index_copy_launcher_t launcher,
bool flag);
4211 legion_index_copy_launcher_t launcher,
bool flag);
4232 const char *provenance);
4243 legion_acquire_launcher_t
4245 legion_logical_region_t logical_region,
4246 legion_logical_region_t parent_region,
4247 legion_predicate_t pred ,
4248 legion_mapper_id_t
id ,
4249 legion_mapping_tag_id_t tag );
4266 legion_context_t ctx,
4267 legion_acquire_launcher_t launcher);
4274 legion_field_id_t fid);
4288 legion_acquire_launcher_t launcher,
4310 const char *provenance);
4321 legion_release_launcher_t
4323 legion_logical_region_t logical_region,
4324 legion_logical_region_t parent_region,
4325 legion_predicate_t pred ,
4326 legion_mapper_id_t
id ,
4327 legion_mapping_tag_id_t tag );
4344 legion_context_t ctx,
4345 legion_release_launcher_t launcher);
4352 legion_field_id_t fid);
4366 legion_release_launcher_t launcher,
4388 const char *provenance);
4399 legion_attach_launcher_t
4401 legion_logical_region_t logical_region,
4402 legion_logical_region_t parent_region,
4403 legion_external_resource_t resource);
4410 const char *filename,
4411 legion_field_map_t field_map,
4412 legion_file_mode_t mode);
4433 const char *provenance);
4448 legion_physical_region_t
4450 legion_context_t ctx,
4451 legion_attach_launcher_t launcher);
4458 legion_field_id_t fid,
4469 legion_context_t ctx,
4470 legion_physical_region_t handle);
4479 legion_context_t ctx,
4480 legion_physical_region_t handle,
4490 legion_context_t ctx,
4491 legion_physical_region_t handle,
4500 legion_context_t ctx);
4511 legion_index_attach_launcher_t
4513 legion_logical_region_t parent_region,
4514 legion_external_resource_t resource,
4522 legion_index_attach_launcher_t handle,
bool restricted);
4529 legion_index_attach_launcher_t handle,
const char *provenance);
4536 legion_index_attach_launcher_t handle,
bool deduplicate);
4543 legion_logical_region_t region,
4544 const char *filename,
4545 const legion_field_id_t *fields,
4547 legion_file_mode_t mode);
4554 legion_logical_region_t region,
4555 const char *filename,
4556 legion_field_map_t field_map,
4557 legion_file_mode_t mode);
4564 legion_logical_region_t region,
4565 void *base_ptr,
bool column_major,
4566 const legion_field_id_t *fields,
4575 legion_logical_region_t region,
4576 void *base_ptr,
bool column_major,
4577 const legion_field_id_t *fields,
4594 legion_external_resources_t
4596 legion_context_t ctx,
4597 legion_index_attach_launcher_t launcher);
4606 legion_context_t ctx,
4607 legion_external_resources_t,
4608 bool flush,
bool unordered);
4619 legion_must_epoch_launcher_t
4621 legion_mapper_id_t
id ,
4622 legion_mapping_tag_id_t launcher_tag );
4639 legion_context_t ctx,
4640 legion_must_epoch_launcher_t launcher);
4649 legion_must_epoch_launcher_t launcher,
4650 legion_domain_point_t point,
4651 legion_task_launcher_t handle);
4660 legion_must_epoch_launcher_t launcher,
4661 legion_index_launcher_t handle);
4668 legion_must_epoch_launcher_t launcher,
4676 legion_must_epoch_launcher_t launcher,
4684 legion_must_epoch_launcher_t launcher,
const char *provenance);
4695 legion_context_t ctx);
4702 legion_context_t ctx);
4713 legion_context_t ctx,
4714 legion_trace_id_t tid,
4722 legion_context_t ctx,
4723 legion_trace_id_t tid);
4730 legion_runtime_complete_frame(legion_runtime_t runtime,
4731 legion_context_t ctx);
4744 legion_context_t ctx,
4745 legion_tunable_id_t tid,
4746 legion_mapper_id_t mapper ,
4747 legion_mapping_tag_id_t tag );
4792 legion_context_t ctx);
4813 legion_runtime_enable_scheduler_lock(
void);
4816 legion_runtime_disable_scheduler_lock(
void);
4823 legion_context_t ctx,
4825 const char *message);
4831 legion_context_t ctx,
4832 int fd,
const char *mode,
4833 const char *message);
4852 legion_physical_region_t
4876 legion_logical_region_t
4885 legion_physical_region_get_field_id(legion_physical_region_t handle,
size_t index);
4893 legion_physical_region_get_memory(legion_physical_region_t handle,
size_t index);
4900 #define ACCESSOR_ARRAY(DIM) \
4901 legion_accessor_array_##DIM##d_t \
4902 legion_physical_region_get_field_accessor_array_##DIM##d( \
4903 legion_physical_region_t handle, \
4904 legion_field_id_t fid);
4906 #undef ACCESSOR_ARRAY
4908 #define ACCESSOR_ARRAY(DIM) \
4909 legion_accessor_array_##DIM##d_t \
4910 legion_physical_region_get_field_accessor_array_##DIM##d_with_transform( \
4911 legion_physical_region_t handle, \
4912 legion_field_id_t fid, \
4913 legion_domain_affine_transform_t transform);
4915 #undef ACCESSOR_ARRAY
4917 #define RAW_PTR(DIM) \
4919 legion_accessor_array_##DIM##d_raw_rect_ptr(legion_accessor_array_##DIM##d_t handle, \
4920 legion_rect_##DIM##d_t rect, \
4921 legion_rect_##DIM##d_t *subrect, \
4922 legion_byte_offset_t *offsets);
4923 LEGION_FOREACH_N(RAW_PTR)
4928 legion_accessor_array_1d_read(legion_accessor_array_1d_t handle,
4930 void *dst,
size_t bytes);
4932 #define READ_ARRAY(DIM) \
4934 legion_accessor_array_##DIM##d_read_point(legion_accessor_array_##DIM##d_t handle, \
4935 legion_point_##DIM##d_t point, \
4936 void *dst, size_t bytes);
4937 LEGION_FOREACH_N(READ_ARRAY)
4942 legion_accessor_array_1d_write(legion_accessor_array_1d_t handle,
4944 const void *src,
size_t bytes);
4946 #define WRITE_ARRAY(DIM) \
4948 legion_accessor_array_##DIM##d_write_point(legion_accessor_array_##DIM##d_t handle, \
4949 legion_point_##DIM##d_t point, \
4950 const void *src, size_t bytes);
4951 LEGION_FOREACH_N(WRITE_ARRAY)
4956 legion_accessor_array_1d_ref(legion_accessor_array_1d_t handle,
4959 #define REF_ARRAY(DIM) \
4961 legion_accessor_array_##DIM##d_ref_point(legion_accessor_array_##DIM##d_t handle, \
4962 legion_point_##DIM##d_t point);
4963 LEGION_FOREACH_N(REF_ARRAY)
4969 #define DESTROY_ARRAY(DIM) \
4971 legion_accessor_array_##DIM##d_destroy(legion_accessor_array_##DIM##d_t handle);
4973 #undef DESTROY_ARRAY
4996 legion_physical_region_t
5007 enum legion_mappable_type_id_t
5095 legion_mapping_tag_id_t
5103 legion_task_id_t task_id,
5104 legion_semantic_tag_t tag,
5114 legion_runtime_t runtime,
5115 legion_task_id_t task_id,
5116 legion_semantic_tag_t tag,
5117 const void **result,
5120 bool wait_until_ready );
5127 legion_task_id_t task_id,
5136 legion_task_id_t task_id,
5137 const char **result);
5172 legion_domain_point_t
5204 legion_region_requirement_t
5252 legion_region_requirement_t
5264 legion_execution_constraint_set_t
5274 legion_execution_constraint_set_t handle);
5281 legion_execution_constraint_set_t handle,
5290 legion_execution_constraint_set_t handle,
5291 legion_processor_kind_t proc_kind);
5299 legion_execution_constraint_set_t handle,
5300 legion_resource_constraint_t resource,
5301 legion_equality_kind_t eq,
5310 legion_execution_constraint_set_t handle,
5311 legion_launch_constraint_t kind,
5320 legion_execution_constraint_set_t handle,
5321 legion_launch_constraint_t kind,
5322 const size_t *values,
5331 legion_execution_constraint_set_t handle,
5332 const unsigned *indexes,
5334 const legion_field_id_t *fields,
5346 legion_layout_constraint_set_t
5362 legion_layout_constraint_id_t
5364 legion_runtime_t runtime,
5366 legion_layout_constraint_set_t handle,
5367 const char *layout_name );
5374 legion_layout_constraint_id_t
5376 legion_layout_constraint_set_t handle,
5377 const char *layout_name );
5386 legion_layout_constraint_id_t handle);
5394 legion_layout_constraint_set_t handle,
5395 legion_specialized_constraint_t specialized,
5396 legion_reduction_op_id_t redop);
5404 legion_layout_constraint_set_t handle,
5405 legion_memory_kind_t kind);
5413 legion_layout_constraint_set_t handle,
5414 const legion_field_id_t *fields,
5425 legion_layout_constraint_set_t handle,
5426 const legion_dimension_kind_t *dims,
5436 legion_layout_constraint_set_t handle,
5437 legion_dimension_kind_t dim);
5445 legion_layout_constraint_set_t handle,
5446 legion_dimension_kind_t dim,
5455 legion_layout_constraint_set_t handle,
5456 legion_dimension_kind_t dim,
5457 legion_equality_kind_t eq,
5466 legion_layout_constraint_set_t handle,
5467 legion_field_id_t field,
5468 legion_equality_kind_t eq,
5469 size_t byte_boundary);
5477 legion_layout_constraint_set_t handle,
5478 legion_field_id_t field,
5487 legion_layout_constraint_set_t handle,
5500 legion_task_layout_constraint_set_t
5510 legion_task_layout_constraint_set_t handle);
5517 legion_task_layout_constraint_set_t handle,
5519 legion_layout_constraint_id_t layout);
5583 legion_runtime_t runtime,
5584 const char *library_name,
5592 legion_runtime_t runtime,
5593 legion_mapper_t mapper,
5594 legion_processor_t proc);
5599 legion_projection_id_t
5605 legion_projection_id_t
5607 legion_runtime_t runtime,
5608 const char *library_name,
5614 legion_sharding_id_t
5616 legion_runtime_t runtime,
5617 const char *library_name,
5623 legion_reduction_op_id_t
5625 legion_runtime_t runtime,
5626 const char *library_name,
5634 legion_projection_id_t
id,
5645 legion_projection_id_t
id,
5656 legion_runtime_t runtime,
5657 legion_projection_id_t
id,
5668 legion_runtime_t runtime,
5669 legion_projection_id_t
id,
5680 legion_runtime_t runtime,
5681 const char *library_name,
5689 legion_runtime_t runtime,
5690 legion_task_id_t
id ,
5691 const char *task_name ,
5692 const char *variant_name ,
5694 legion_execution_constraint_set_t execution_constraints,
5695 legion_task_layout_constraint_set_t layout_constraints,
5697 legion_task_pointer_wrapped_t wrapped_task_pointer,
5698 const void *userdata,
5706 legion_task_id_t
id ,
5707 legion_variant_id_t variant_id ,
5708 const char *task_name ,
5709 const char *variant_name ,
5710 legion_execution_constraint_set_t execution_constraints,
5711 legion_task_layout_constraint_set_t layout_constraints,
5713 legion_task_pointer_wrapped_t wrapped_task_pointer,
5714 const void *userdata,
5717 #ifdef REALM_USE_LLVM
5722 legion_runtime_register_task_variant_llvmir(
5723 legion_runtime_t runtime,
5724 legion_task_id_t
id ,
5725 const char *task_name ,
5727 legion_execution_constraint_set_t execution_constraints,
5728 legion_task_layout_constraint_set_t layout_constraints,
5731 const char *entry_symbol,
5732 const void *userdata,
5739 legion_runtime_preregister_task_variant_llvmir(
5740 legion_task_id_t
id ,
5741 legion_variant_id_t variant_id ,
5742 const char *task_name ,
5743 legion_execution_constraint_set_t execution_constraints,
5744 legion_task_layout_constraint_set_t layout_constraints,
5747 const char *entry_symbol,
5748 const void *userdata,
5752 #ifdef REALM_USE_PYTHON
5757 legion_runtime_register_task_variant_python_source(
5758 legion_runtime_t runtime,
5759 legion_task_id_t
id ,
5760 const char *task_name ,
5762 legion_execution_constraint_set_t execution_constraints,
5763 legion_task_layout_constraint_set_t layout_constraints,
5765 const char *module_name,
5766 const char *function_name,
5767 const void *userdata,
5774 legion_runtime_register_task_variant_python_source_qualname(
5775 legion_runtime_t runtime,
5776 legion_task_id_t
id ,
5777 const char *task_name ,
5779 legion_execution_constraint_set_t execution_constraints,
5780 legion_task_layout_constraint_set_t layout_constraints,
5782 const char *module_name,
5783 const char **function_qualname,
5784 size_t function_qualname_len,
5785 const void *userdata,
5797 legion_task_t *taskptr,
5798 const legion_physical_region_t **regionptr,
5799 unsigned * num_regions_ptr,
5800 legion_context_t * ctxptr,
5801 legion_runtime_t * runtimeptr);
5808 legion_runtime_t runtime,
5809 legion_context_t ctx,
5834 legion_context_t ctx);
5841 legion_context_t ctx);
5848 legion_context_t ctx);
5875 legion_machine_t machine,
5876 legion_processor_t *processors,
5877 size_t processors_size);
5890 legion_machine_t machine,
5892 size_t memories_size);
5907 legion_processor_kind_t
5913 legion_address_space_t
5923 legion_memory_kind_t
5929 legion_address_space_t
5941 legion_processor_query_t
5949 legion_processor_query_t
5967 legion_processor_kind_t kind);
5984 legion_processor_t proc);
6003 unsigned min_bandwidth ,
6004 unsigned max_latency );
6014 int bandwidth_weight ,
6015 int latency_weight );
6034 legion_processor_t after);
6051 legion_memory_query_t
6059 legion_memory_query_t
6077 legion_memory_kind_t kind);
6094 legion_processor_t proc);
6112 legion_processor_t proc,
6113 unsigned min_bandwidth ,
6114 unsigned max_latency );
6124 unsigned min_bandwidth ,
6125 unsigned max_latency );
6134 legion_processor_t proc,
6135 int bandwidth_weight ,
6136 int latency_weight );
6146 int bandwidth_weight ,
6147 int latency_weight );
6184 legion_physical_instance_destroy(legion_physical_instance_t instance);
6195 legion_slice_task_output_t output,
6203 legion_slice_task_output_t output,
6204 bool verify_correctness);
6215 legion_map_task_output_t output);
6222 legion_map_task_output_t output,
6230 legion_map_task_output_t output,
6231 legion_physical_instance_t *instances,
6232 size_t instances_size);
6239 legion_map_task_output_t output,
6241 legion_physical_instance_t *instances,
6242 size_t instances_size);
6249 legion_map_task_output_t output);
6256 legion_map_task_output_t output,
6257 legion_processor_t proc);
6264 legion_map_task_output_t output,
6272 legion_map_task_output_t output,
6273 legion_task_priority_t priority);
6286 legion_mapper_runtime_t runtime,
6287 legion_mapper_context_t ctx,
6289 legion_layout_constraint_set_t constraints,
6290 const legion_logical_region_t *regions,
6291 size_t regions_size,
6292 legion_physical_instance_t *result,
6294 legion_garbage_collection_priority_t priority);
6303 legion_mapper_runtime_t runtime,
6304 legion_mapper_context_t ctx,
6306 legion_layout_constraint_id_t layout_id,
6307 const legion_logical_region_t *regions,
6308 size_t regions_size,
6309 legion_physical_instance_t *result,
6311 legion_garbage_collection_priority_t priority);
6320 legion_mapper_runtime_t runtime,
6321 legion_mapper_context_t ctx,
6323 legion_layout_constraint_set_t constraints,
6324 const legion_logical_region_t *regions,
6325 size_t regions_size,
6326 legion_physical_instance_t *result,
6329 legion_garbage_collection_priority_t priority,
6330 bool tight_region_bounds);
6339 legion_mapper_runtime_t runtime,
6340 legion_mapper_context_t ctx,
6342 legion_layout_constraint_id_t layout_id,
6343 const legion_logical_region_t *regions,
6344 size_t regions_size,
6345 legion_physical_instance_t *result,
6348 legion_garbage_collection_priority_t priority,
6349 bool tight_region_bounds);
6358 legion_mapper_runtime_t runtime,
6359 legion_mapper_context_t ctx,
6361 legion_layout_constraint_set_t constraints,
6362 const legion_logical_region_t *regions,
6363 size_t regions_size,
6364 legion_physical_instance_t *result,
6366 bool tight_region_bounds);
6375 legion_mapper_runtime_t runtime,
6376 legion_mapper_context_t ctx,
6378 legion_layout_constraint_id_t layout_id,
6379 const legion_logical_region_t *regions,
6380 size_t regions_size,
6381 legion_physical_instance_t *result,
6383 bool tight_region_bounds);
6393 legion_mapper_runtime_t runtime,
6394 legion_mapper_context_t ctx,
6395 legion_physical_instance_t instance);
6404 legion_mapper_runtime_t runtime,
6405 legion_mapper_context_t ctx,
6406 legion_physical_instance_t *instances,
6407 size_t instances_size);
6412 legion_context_get_shard_id(legion_runtime_t ,
6417 legion_context_get_num_shards(legion_runtime_t ,
6424 legion_physical_region_t
6426 legion_physical_region_t *regionptr,
6433 #endif // __LEGION_C_H__
bool legion_logical_region_has_parent_logical_partition(legion_runtime_t runtime, legion_logical_region_t handle)
bool legion_future_is_ready(legion_future_t handle)
const void * legion_future_get_untyped_pointer(legion_future_t handle)
void legion_index_fill_launcher_execute(legion_runtime_t runtime, legion_context_t ctx, legion_index_fill_launcher_t launcher)
void legion_field_space_destroy(legion_runtime_t runtime, legion_context_t ctx, legion_field_space_t handle)
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)
legion_projection_id_t legion_region_requirement_get_projection(legion_region_requirement_t handle)
#define ITERATOR_CREATE(DIM)
Definition: legion_c.h:639
void legion_coloring_ensure_color(legion_coloring_t handle, legion_color_t color)
void legion_memory_query_same_address_space_as_processor(legion_memory_query_t query, legion_processor_t proc)
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_coherence_property_t legion_region_requirement_get_prop(legion_region_requirement_t handle)
void legion_context_progress_unordered_operations(legion_runtime_t runtime, legion_context_t ctx)
void legion_copy_launcher_add_wait_barrier(legion_copy_launcher_t launcher, legion_phase_barrier_t bar)
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_index_attach_launcher_set_deduplicate_across_shards(legion_index_attach_launcher_t handle, bool deduplicate)
void legion_index_copy_launcher_set_possible_dst_indirect_out_of_range(legion_index_copy_launcher_t launcher, bool flag)
legion_privilege_mode_t legion_region_requirement_get_privilege(legion_region_requirement_t handle)
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_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)
const char * legion_task_get_name(legion_task_t task)
void legion_release_launcher_add_field(legion_release_launcher_t launcher, legion_field_id_t fid)
legion_region_requirement_t legion_inline_get_requirement(legion_inline_t inline_operation)
void legion_index_space_retrieve_name(legion_runtime_t runtime, legion_index_space_t handle, const char **result)
legion_must_epoch_launcher_t legion_must_epoch_launcher_create(legion_mapper_id_t id, legion_mapping_tag_id_t launcher_tag)
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)
void legion_index_partition_destroy(legion_runtime_t runtime, legion_context_t ctx, legion_index_partition_t handle)
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)
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)
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:403
legion_address_space_t legion_memory_address_space(legion_memory_t mem)
void legion_execution_constraint_set_destroy(legion_execution_constraint_set_t handle)
unsigned legion_task_get_futures_size(legion_task_t task)
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)
void legion_index_copy_launcher_set_mapper_arg(legion_index_copy_launcher_t launcher, legion_untyped_buffer_t arg)
void legion_runtime_print_once(legion_runtime_t runtime, legion_context_t ctx, FILE *f, const char *message)
bool legion_task_get_is_index_space(legion_task_t task)
size_t legion_physical_region_get_field_count(legion_physical_region_t handle)
void legion_fill_launcher_set_point(legion_fill_launcher_t launcher, legion_domain_point_t point)
bool legion_ptr_is_null(legion_ptr_t ptr)
struct legion_domain_transform_t legion_domain_transform_t
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)
#define ITERATOR_OP(DIM)
Definition: legion_c.h:677
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_domain_t legion_domain_coloring_get_color_space(legion_domain_coloring_t handle)
void legion_task_set_arglen(legion_task_mut_t task, size_t arglen)
void legion_layout_constraint_set_add_offset_constraint(legion_layout_constraint_set_t handle, legion_field_id_t field, size_t offset)
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_fill_launcher_execute(legion_runtime_t runtime, legion_context_t ctx, legion_fill_launcher_t launcher)
void legion_index_fill_launcher_set_sharding_space(legion_index_fill_launcher_t launcher, legion_index_space_t space)
void legion_field_map_destroy(legion_field_map_t handle)
#define FROM_POINT(DIM)
Definition: legion_c.h:558
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)
legion_point_coloring_t legion_point_coloring_create(void)
void legion_index_partition_attach_name(legion_runtime_t runtime, legion_index_partition_t handle, const char *name, bool is_mutable)
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)
legion_execution_constraint_set_t legion_execution_constraint_set_create(void)
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)
void legion_logical_region_retrieve_name(legion_runtime_t runtime, legion_logical_region_t handle, const char **result)
void legion_coloring_add_range(legion_coloring_t handle, legion_color_t color, legion_ptr_t start, legion_ptr_t end)
legion_logical_region_t legion_logical_partition_get_parent_logical_region(legion_runtime_t runtime, legion_logical_partition_t handle)
struct legion_field_space_t legion_field_space_t
void legion_copy_launcher_destroy(legion_copy_launcher_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)
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)
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)
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)
const legion_input_args_t legion_runtime_get_input_args(void)
void legion_phase_barrier_destroy(legion_runtime_t runtime, legion_context_t ctx, legion_phase_barrier_t handle)
void legion_runtime_replace_default_mapper(legion_runtime_t runtime, legion_mapper_t mapper, legion_processor_t proc)
Definition: legion_c.h:327
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)
void legion_runtime_detach_hdf5(legion_runtime_t runtime, legion_context_t ctx, legion_physical_region_t region)
int legion_runtime_start(int argc, char **argv, bool background)
legion_logical_partition_t legion_region_requirement_get_partition(legion_region_requirement_t handle)
void legion_index_launcher_set_mapper(legion_index_launcher_t launcher, legion_mapper_id_t mapper_id)
void legion_execution_constraint_set_add_processor_constraint(legion_execution_constraint_set_t handle, legion_processor_kind_t proc_kind)
void legion_field_space_retrieve_name(legion_runtime_t runtime, legion_field_space_t handle, const char **result)
size_t legion_future_get_untyped_size(legion_future_t handle)
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)
legion_future_t legion_runtime_issue_execution_fence(legion_runtime_t runtime, legion_context_t ctx)
void legion_processor_query_local_address_space(legion_processor_query_t query)
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)
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)
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)
unsigned long long legion_get_current_time_in_micros(void)
void legion_fill_launcher_set_provenance(legion_fill_launcher_t launcher, const char *provenance)
bool legion_domain_point_is_null(legion_domain_point_t point)
void legion_task_launcher_add_future(legion_task_launcher_t launcher, legion_future_t future)
void legion_field_allocator_destroy(legion_field_allocator_t handle)
void legion_must_epoch_launcher_add_index_task(legion_must_epoch_launcher_t launcher, legion_index_launcher_t handle)
legion_processor_query_t legion_processor_query_create(legion_machine_t machine)
legion_index_partition_t legion_index_space_get_parent_index_partition(legion_runtime_t runtime, legion_index_space_t handle)
void legion_acquire_launcher_add_arrival_barrier(legion_acquire_launcher_t launcher, legion_phase_barrier_t bar)
int legion_runtime_wait_for_shutdown(void)
legion_domain_coloring_t legion_domain_coloring_create(void)
legion_inline_t legion_mappable_as_inline_mapping(legion_mappable_t mappable)
void legion_release_launcher_set_sharding_space(legion_release_launcher_t launcher, legion_index_space_t space)
void legion_field_id_retrieve_name(legion_runtime_t runtime, legion_field_space_t handle, legion_field_id_t id, const char **result)
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_index_launcher_set_projection_args(legion_index_launcher_t launcher_, unsigned idx, const void *args, size_t size, bool own)
void legion_copy_launcher_set_mapper_arg(legion_copy_launcher_t launcher, legion_untyped_buffer_t arg)
legion_future_map_t legion_future_map_copy(legion_future_map_t handle)
legion_external_resources_t legion_attach_external_resources(legion_runtime_t runtime, legion_context_t ctx, legion_index_attach_launcher_t launcher)
struct legion_task_options_t legion_task_options_t
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_index_launcher_add_future(legion_index_launcher_t launcher, legion_future_t future)
struct legion_input_args_t legion_input_args_t
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)
void legion_copy_launcher_add_src_field(legion_copy_launcher_t launcher, unsigned idx, legion_field_id_t fid, bool inst)
void legion_task_destroy(legion_task_mut_t handle)
void legion_attach_launcher_set_mapped(legion_attach_launcher_t handle, bool mapped)
#define ITERATOR_VALID(DIM)
Definition: legion_c.h:659
legion_field_id_t legion_field_allocator_allocate_field(legion_field_allocator_t allocator, size_t field_size, legion_field_id_t desired_fieldid)
legion_layout_constraint_set_t legion_layout_constraint_set_create(void)
legion_domain_point_coloring_t legion_domain_point_coloring_create(void)
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:425
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)
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)
void legion_task_set_args(legion_task_mut_t task, void *args)
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)
void legion_map_task_output_target_procs_clear(legion_map_task_output_t output)
legion_processor_t legion_map_task_output_target_procs_get(legion_map_task_output_t output, size_t idx)
void legion_logical_partition_retrieve_name(legion_runtime_t runtime, legion_logical_partition_t handle, const char **result)
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)
void legion_acquire_launcher_destroy(legion_acquire_launcher_t handle)
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_logical_partition_attach_name(legion_runtime_t runtime, legion_logical_partition_t handle, const char *name, bool is_mutable)
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_field_id_t legion_auto_generate_id(void)
void legion_coloring_delete_point(legion_coloring_t handle, legion_color_t color, legion_ptr_t point)
void legion_task_launcher_destroy(legion_task_launcher_t handle)
legion_processor_query_t legion_processor_query_create_copy(legion_processor_query_t query)
void legion_layout_constraint_set_destroy(legion_layout_constraint_set_t handle)
legion_processor_t legion_processor_query_first(legion_processor_query_t query)
void legion_map_task_output_chosen_instances_clear_all(legion_map_task_output_t output)
legion_index_space_t legion_index_partition_get_parent_index_space(legion_runtime_t runtime, legion_index_partition_t handle)
void legion_runtime_initialize(int *argc, char ***argv, bool filter)
#define GET_RECT(DIM)
Definition: legion_c.h:499
void legion_index_launcher_add_arrival_barrier(legion_index_launcher_t launcher, legion_phase_barrier_t bar)
void legion_release_launcher_set_mapper_arg(legion_release_launcher_t launcher, legion_untyped_buffer_t arg)
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)
legion_coloring_t legion_coloring_create(void)
void legion_index_launcher_set_sharding_space(legion_index_launcher_t launcher, legion_index_space_t is)
legion_predicate_t legion_predicate_create(legion_runtime_t runtime, legion_context_t ctx, legion_future_t f)
legion_memory_t legion_memory_query_random(legion_memory_query_t query)
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)
void legion_domain_coloring_destroy(legion_domain_coloring_t handle)
legion_future_t legion_runtime_issue_mapping_fence(legion_runtime_t runtime, legion_context_t ctx)
void legion_index_copy_launcher_execute(legion_runtime_t runtime, legion_context_t ctx, legion_index_copy_launcher_t launcher)
void legion_attach_launcher_destroy(legion_attach_launcher_t handle)
void legion_region_requirement_get_instance_fields(legion_region_requirement_t handle, legion_field_id_t *fields, unsigned fields_size)
void legion_runtime_end_trace(legion_runtime_t runtime, legion_context_t ctx, legion_trace_id_t tid)
void legion_inline_launcher_add_field(legion_inline_launcher_t launcher, legion_field_id_t fid, bool inst)
void legion_task_launcher_set_provenance(legion_task_launcher_t launcher, const char *provenance)
void legion_index_launcher_set_elide_future_return(legion_index_launcher_t launcher, bool elide_future_return)
legion_region_requirement_t legion_task_get_requirement(legion_task_t task, unsigned idx)
void legion_slice_task_output_verify_correctness_set(legion_slice_task_output_t output, bool verify_correctness)
void legion_task_launcher_set_local_function_task(legion_task_launcher_t launcher, bool local_function_task)
legion_machine_t legion_machine_create(void)
void legion_layout_constraint_set_add_memory_constraint(legion_layout_constraint_set_t handle, legion_memory_kind_t kind)
void legion_copy_launcher_set_provenance(legion_copy_launcher_t launcher, const char *provenance)
void legion_task_launcher_add_arrival_barrier(legion_task_launcher_t launcher, legion_phase_barrier_t bar)
void legion_field_allocator_free_field(legion_field_allocator_t allocator, legion_field_id_t fid)
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_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)
struct legion_index_space_t legion_index_space_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)
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_external_resources_destroy(legion_external_resources_t handle)
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_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)
const legion_predicate_t legion_predicate_false(void)
struct legion_task_config_options_t legion_task_config_options_t
void legion_task_id_retrieve_name(legion_runtime_t runtime, legion_task_id_t task_id, const char **result)
legion_logical_region_t legion_physical_region_get_logical_region(legion_physical_region_t handle)
legion_copy_launcher_t legion_copy_launcher_create(legion_predicate_t pred, legion_mapper_id_t id, legion_mapping_tag_id_t launcher_tag)
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_add_field(legion_index_launcher_t launcher, unsigned idx, legion_field_id_t fid, bool inst)
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_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_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)
Definition: legion_c.h:199
void legion_inline_launcher_set_mapper_arg(legion_inline_launcher_t launcher, legion_untyped_buffer_t arg)
void legion_index_launcher_destroy(legion_index_launcher_t handle)
void legion_logical_region_create_shared_ownership(legion_runtime_t runtime, legion_context_t ctx, legion_logical_region_t handle)
struct legion_task_slice_t legion_task_slice_t
void legion_memory_query_best_affinity_to_memory(legion_memory_query_t query, legion_memory_t mem, int bandwidth_weight, int latency_weight)
struct legion_index_partition_t legion_index_partition_t
legion_logical_region_t legion_region_requirement_get_region(legion_region_requirement_t handle)
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)
void legion_release_launcher_add_arrival_barrier(legion_release_launcher_t launcher, legion_phase_barrier_t bar)
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_field_id_t legion_region_requirement_get_instance_field(legion_region_requirement_t handle, unsigned idx)
void legion_index_fill_launcher_set_mapper_arg(legion_index_fill_launcher_t launcher, legion_untyped_buffer_t arg)
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)
void legion_index_copy_launcher_add_dst_field(legion_index_copy_launcher_t launcher, unsigned idx, legion_field_id_t fid, bool inst)
void legion_acquire_launcher_add_field(legion_acquire_launcher_t launcher, legion_field_id_t fid)
legion_processor_t legion_task_get_target_proc(legion_task_t task)
legion_mapping_tag_id_t legion_region_requirement_get_tag(legion_region_requirement_t handle)
legion_domain_t legion_domain_empty(unsigned dim)
legion_domain_point_t legion_logical_region_get_color_domain_point(legion_runtime_t runtime_, legion_logical_region_t handle_)
void legion_processor_query_same_address_space_as_processor(legion_processor_query_t query, legion_processor_t proc)
void legion_must_epoch_launcher_set_provenance(legion_must_epoch_launcher_t launcher, const char *provenance)
bool legion_domain_point_iterator_has_next(legion_domain_point_iterator_t handle)
legion_index_space_t legion_index_partition_get_index_subspace(legion_runtime_t runtime, legion_index_partition_t handle, legion_color_t color)
size_t legion_external_resources_size(legion_external_resources_t handle)
void legion_fill_launcher_add_field(legion_fill_launcher_t handle, legion_field_id_t fid)
void legion_copy_launcher_set_sharding_space(legion_copy_launcher_t launcher, legion_index_space_t space)
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)
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)
void legion_argument_map_destroy(legion_argument_map_t handle)
struct legion_memory_t legion_memory_t
legion_phase_barrier_t legion_phase_barrier_advance(legion_runtime_t runtime, legion_context_t ctx, legion_phase_barrier_t handle)
legion_processor_t legion_runtime_get_executing_processor(legion_runtime_t runtime, legion_context_t ctx)
void legion_index_launcher_set_provenance(legion_index_launcher_t launcher, const char *provenance)
int legion_index_space_get_dim(legion_index_space_t handle)
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)
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)
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)
void legion_task_launcher_add_wait_barrier(legion_task_launcher_t launcher, legion_phase_barrier_t bar)
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)
void legion_map_task_output_task_priority_set(legion_map_task_output_t output, legion_task_priority_t priority)
unsigned legion_task_get_regions_size(legion_task_t task)
Definition: legion_c.h:244
bool legion_mapper_runtime_acquire_instance(legion_mapper_runtime_t runtime, legion_mapper_context_t ctx, legion_physical_instance_t instance)
void legion_index_launcher_add_point_future(legion_index_launcher_t launcher, legion_argument_map_t map)
void legion_task_launcher_add_flags(legion_task_launcher_t launcher, unsigned idx, enum legion_region_flags_t flags)
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_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)
void legion_index_copy_launcher_set_possible_src_indirect_out_of_range(legion_index_copy_launcher_t launcher, bool flag)
void legion_logical_partition_destroy(legion_runtime_t runtime, legion_context_t ctx, legion_logical_partition_t handle)
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)
legion_future_t legion_task_launcher_execute(legion_runtime_t runtime, legion_context_t ctx, legion_task_launcher_t launcher)
struct legion_phase_barrier_t legion_phase_barrier_t
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)
Definition: legion_c.h:334
int legion_task_get_depth(legion_task_t task)
void legion_phase_barrier_wait(legion_runtime_t runtime, legion_context_t ctx, legion_phase_barrier_t handle)
void legion_task_add_future(legion_task_mut_t task, legion_future_t future)
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)
struct legion_dynamic_collective_t legion_dynamic_collective_t
legion_future_map_t legion_must_epoch_launcher_execute(legion_runtime_t runtime, legion_context_t ctx, legion_must_epoch_launcher_t launcher)
legion_argument_map_t legion_argument_map_create(void)
void legion_map_task_output_target_procs_add(legion_map_task_output_t output, legion_processor_t proc)
legion_future_t legion_issue_timing_op_nanoseconds(legion_runtime_t runtime, legion_context_t ctx)
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_machine_destroy(legion_machine_t handle)
size_t legion_memory_query_count(legion_memory_query_t query)
void legion_task_layout_constraint_set_destroy(legion_task_layout_constraint_set_t handle)
legion_task_t legion_mappable_as_task(legion_mappable_t mappable)
void legion_inline_launcher_destroy(legion_inline_launcher_t handle)
bool legion_index_space_has_parent_index_partition(legion_runtime_t runtime, legion_index_space_t handle)
void legion_memory_query_local_address_space(legion_memory_query_t query)
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 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)
unsigned legion_region_requirement_get_instance_fields_size(legion_region_requirement_t handle)
void legion_processor_query_destroy(legion_processor_query_t handle)
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)
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)
bool legion_future_is_ready_subscribe(legion_future_t handle, bool subscribe)
void legion_processor_query_only_kind(legion_processor_query_t query, legion_processor_kind_t kind)
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_physical_region_t legion_attach_launcher_execute(legion_runtime_t runtime, legion_context_t ctx, legion_attach_launcher_t launcher)
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_fill_launcher_set_provenance(legion_index_fill_launcher_t launcher, const char *provenance)
void legion_runtime_register_projection_functor(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)
void legion_must_epoch_launcher_destroy(legion_must_epoch_launcher_t handle)
void legion_task_launcher_add_field(legion_task_launcher_t launcher, unsigned idx, legion_field_id_t fid, bool inst)
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)
void legion_phase_barrier_arrive(legion_runtime_t runtime, legion_context_t ctx, legion_phase_barrier_t handle, unsigned count)
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_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:437
Definition: legion_c.h:287
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_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_address_space_t legion_processor_address_space(legion_processor_t proc)
void legion_future_map_destroy(legion_future_map_t handle)
struct legion_domain_t legion_domain_t
const void * legion_index_launcher_get_projection_args(legion_region_requirement_t requirement, size_t *size)
void legion_region_requirement_get_privilege_fields(legion_region_requirement_t handle, legion_field_id_t *fields, unsigned fields_size)
legion_mapping_tag_id_t legion_task_get_tag(legion_task_t task)
void legion_execution_constraint_set_add_launch_constraint(legion_execution_constraint_set_t handle, legion_launch_constraint_t kind, size_t value)
bool legion_coloring_has_point(legion_coloring_t handle, legion_color_t color, legion_ptr_t point)
struct legion_processor_t legion_processor_t
struct legion_untyped_buffer_t legion_untyped_buffer_t
unsigned legion_region_requirement_get_privilege_fields_size(legion_region_requirement_t handle)
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_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)
legion_argument_map_t legion_argument_map_from_future_map(legion_future_map_t map)
enum legion_mappable_type_id_t legion_mappable_get_type(legion_mappable_t mappable)
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)
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)
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)
void legion_release_launcher_set_provenance(legion_release_launcher_t launcher, const char *provenance)
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)
size_t legion_task_get_arglen(legion_task_t task)
size_t legion_runtime_get_maximum_dimension(void)
legion_phase_barrier_t legion_phase_barrier_create(legion_runtime_t runtime, legion_context_t ctx, unsigned arrivals)
void legion_copy_launcher_set_possible_dst_indirect_out_of_range(legion_copy_launcher_t launcher, bool flag)
void legion_task_launcher_set_enable_inlining(legion_task_launcher_t launcher, bool enable_inlining)
Definition: legion_c.h:278
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)
void legion_task_launcher_set_predicate_false_result(legion_task_launcher_t launcher, legion_untyped_buffer_t arg)
void legion_runtime_unmap_all_regions(legion_runtime_t runtime, legion_context_t ctx)
void legion_field_space_attach_name(legion_runtime_t runtime, legion_field_space_t handle, const char *name, bool is_mutable)
void * legion_task_get_local_args(legion_task_t task)
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_must_epoch_launcher_add_single_task(legion_must_epoch_launcher_t launcher, legion_domain_point_t point, legion_task_launcher_t handle)
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_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)
bool legion_physical_region_is_valid(legion_physical_region_t handle)
void legion_field_space_destroy_unordered(legion_runtime_t runtime, legion_context_t ctx, legion_field_space_t handle, bool unordered)
Definition: legion_c.h:367
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)
void legion_argument_map_set_future(legion_argument_map_t map, legion_domain_point_t dp, legion_future_t future, bool replace)
#define BUFFER_CREATE(DIM)
Definition: legion_c.h:2737
void legion_index_partition_retrieve_name(legion_runtime_t runtime, legion_index_partition_t handle, const char **result)
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_physical_region_get_memory_count(legion_physical_region_t handle)
void legion_region_requirement_destroy(legion_region_requirement_t handle)
void legion_runtime_set_return_code(int return_code)
void legion_layout_constraint_set_add_splitting_constraint(legion_layout_constraint_set_t handle, legion_dimension_kind_t dim)
struct legion_logical_partition_t legion_logical_partition_t
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_logical_region_attach_name(legion_runtime_t runtime, legion_logical_region_t handle, const char *name, bool is_mutable)
legion_task_id_t legion_task_get_task_id(legion_task_t task)
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_sharding_id_t legion_runtime_generate_library_sharding_ids(legion_runtime_t runtime, const char *library_name, size_t count)
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_index_partition_create_shared_ownership(legion_runtime_t runtime, legion_context_t ctx, legion_index_partition_t handle)
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_acquire_launcher_set_mapper_arg(legion_acquire_launcher_t launcher, legion_untyped_buffer_t arg)
void legion_context_destroy(legion_context_t)
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_acquire_launcher_set_sharding_space(legion_acquire_launcher_t launcher, legion_index_space_t space)
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_layout_constraint_set_add_full_splitting_constraint(legion_layout_constraint_set_t handle, legion_dimension_kind_t dim, size_t value)
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_argument_map_set_point(legion_argument_map_t map, legion_domain_point_t dp, legion_untyped_buffer_t arg, bool replace)
legion_physical_region_t legion_get_physical_region_by_id(legion_physical_region_t *regionptr, int id, int num_regions)
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)
Definition: legion_c.h:269
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)
void legion_future_map_wait_all_results(legion_future_map_t handle)
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)
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)
legion_field_allocator_t legion_field_allocator_create(legion_runtime_t runtime, legion_context_t ctx, legion_field_space_t handle)
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)
bool legion_index_space_has_multiple_domains(legion_runtime_t runtime, legion_index_space_t handle)
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)
legion_ptr_t legion_ptr_nil(void)
void legion_index_launcher_intersect_flags(legion_index_launcher_t launcher, unsigned idx, enum legion_region_flags_t flags)
legion_task_t legion_task_mut_as_task(legion_task_mut_t task)
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)
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)
void legion_runtime_print_once_fd(legion_runtime_t runtime, legion_context_t ctx, int fd, const char *mode, const char *message)
struct legion_domain_point_t legion_domain_point_t
void legion_task_launcher_set_elide_future_return(legion_task_launcher_t launcher, bool elide_future_return)
legion_domain_point_iterator_t legion_domain_point_iterator_create(legion_domain_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)
void legion_copy_launcher_set_point(legion_copy_launcher_t launcher, legion_domain_point_t point)
void legion_fill_launcher_destroy(legion_fill_launcher_t handle)
bool legion_index_partition_is_disjoint(legion_runtime_t runtime, legion_index_partition_t handle)
void legion_task_launcher_set_mapper(legion_task_launcher_t launcher, legion_mapper_id_t mapper_id)
void legion_index_attach_launcher_destroy(legion_index_attach_launcher_t handle)
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)
legion_future_t legion_detach_external_resources(legion_runtime_t runtime, legion_context_t ctx, legion_external_resources_t, bool flush, bool unordered)
bool legion_runtime_has_runtime(void)
legion_index_space_t legion_index_space_create(legion_runtime_t runtime, legion_context_t ctx, size_t max_num_elmts)
legion_logical_partition_t legion_logical_partition_create(legion_runtime_t runtime, legion_logical_region_t parent, legion_index_partition_t handle)
void legion_domain_coloring_color_domain(legion_domain_coloring_t handle, legion_color_t color, legion_domain_t domain)
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)
void legion_layout_constraint_set_add_pointer_constraint(legion_layout_constraint_set_t handle, legion_memory_t memory, uintptr_t ptr)
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)
#define GET_POINT(DIM)
Definition: legion_c.h:567
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_logical_region_destroy_unordered(legion_runtime_t runtime, legion_context_t ctx, legion_logical_region_t handle, bool unordered)
#define ACCESSOR_ARRAY(DIM)
Definition: legion_c.h:4908
void legion_task_launcher_set_sharding_space(legion_task_launcher_t launcher, legion_index_space_t is)
void legion_coloring_add_point(legion_coloring_t handle, legion_color_t color, legion_ptr_t point)
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)
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)
void legion_index_space_destroy_unordered(legion_runtime_t runtime, legion_context_t ctx, legion_index_space_t handle, bool unordered)
legion_future_t legion_future_from_untyped_pointer(legion_runtime_t runtime, const void *buffer, size_t size)
legion_dynamic_collective_t legion_dynamic_collective_advance(legion_runtime_t runtime, legion_context_t ctx, legion_dynamic_collective_t handle)
Definition: legion_c.h:152
struct legion_domain_affine_transform_t legion_domain_affine_transform_t
size_t legion_machine_get_all_processors_size(legion_machine_t machine)
void legion_task_launcher_set_point(legion_task_launcher_t launcher, legion_domain_point_t point)
void legion_future_get_void_result(legion_future_t handle)
size_t legion_processor_query_count(legion_processor_query_t query)
void legion_map_task_output_chosen_instances_clear_each(legion_map_task_output_t output, size_t idx)
unsigned long long legion_get_current_time_in_nanos(void)
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)
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)
legion_memory_t legion_memory_query_first(legion_memory_query_t query)
void legion_predicate_destroy(legion_predicate_t handle)
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_runtime_remap_region(legion_runtime_t runtime, legion_context_t ctx, legion_physical_region_t region)
legion_task_layout_constraint_set_t legion_task_layout_constraint_set_create(void)
legion_copy_t legion_mappable_as_copy(legion_mappable_t mappable)
void legion_acquire_launcher_execute(legion_runtime_t runtime, legion_context_t ctx, legion_acquire_launcher_t launcher)
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:414
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)
void legion_runtime_set_top_level_task_id(legion_task_id_t top_id)
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)
void legion_index_copy_launcher_set_sharding_space(legion_index_copy_launcher_t launcher, legion_index_space_t is)
legion_field_map_t legion_field_map_create(void)
void legion_attach_launcher_set_provenance(legion_attach_launcher_t handle, const char *provenance)
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)
void legion_task_postamble(legion_runtime_t runtime, legion_context_t ctx, const void *retval, size_t retsize)
void legion_fill_launcher_set_mapper_arg(legion_fill_launcher_t launcher, legion_untyped_buffer_t arg)
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)
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)
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)
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_logical_partition_destroy_unordered(legion_runtime_t runtime, legion_context_t ctx, legion_logical_partition_t handle, bool unordered)
void legion_task_launcher_set_argument(legion_task_launcher_t launcher, legion_untyped_buffer_t arg)
void legion_future_destroy(legion_future_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)
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)
bool legion_runtime_has_context(void)
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_task_get_args(legion_task_t task)
legion_future_map_t legion_index_launcher_execute(legion_runtime_t runtime, legion_context_t ctx, legion_index_launcher_t launcher)
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)
void legion_index_space_attach_name(legion_runtime_t runtime, legion_index_space_t handle, const char *name, bool is_mutable)
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)
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)
legion_index_space_t legion_index_space_create_domain(legion_runtime_t runtime, legion_context_t ctx, legion_domain_t domain)
legion_task_mut_t legion_task_create_empty()
void legion_region_requirement_add_field(legion_region_requirement_t handle, legion_field_id_t field, bool instance_field)
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_processor_t legion_processor_query_random(legion_processor_query_t query)
legion_physical_region_t legion_physical_region_copy(legion_physical_region_t handle)
void legion_index_fill_launcher_add_field(legion_fill_launcher_t handle, legion_field_id_t fid)
bool legion_index_partition_has_index_subspace_domain_point(legion_runtime_t runtime, legion_index_partition_t handle, legion_domain_point_t color)
size_t legion_machine_get_all_memories_size(legion_machine_t machine)
legion_handle_type_t legion_region_requirement_get_handle_type(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_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)
legion_runtime_t legion_runtime_get_runtime(void)
legion_field_space_t legion_field_space_no_space()
void legion_release_launcher_add_wait_barrier(legion_release_launcher_t launcher, legion_phase_barrier_t bar)
void legion_copy_launcher_add_arrival_barrier(legion_copy_launcher_t launcher, legion_phase_barrier_t bar)
void legion_map_task_output_chosen_instances_add(legion_map_task_output_t output, legion_physical_instance_t *instances, size_t instances_size)
void legion_index_space_destroy(legion_runtime_t runtime, legion_context_t ctx, legion_index_space_t handle)
size_t legion_task_get_local_arglen(legion_task_t task)
void legion_memory_query_destroy(legion_memory_query_t handle)
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)
legion_reduction_op_id_t legion_runtime_generate_library_reduction_ids(legion_runtime_t runtime, const char *library_name, size_t count)
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)
legion_domain_point_t legion_task_get_index_point(legion_task_t task)
legion_fill_t legion_mappable_as_fill(legion_mappable_t mappable)
void legion_task_launcher_set_predicate_false_future(legion_task_launcher_t launcher, legion_future_t f)
void legion_release_launcher_destroy(legion_release_launcher_t handle)
legion_layout_constraint_id_t legion_layout_constraint_set_preregister(legion_layout_constraint_set_t handle, const char *layout_name)
void legion_index_copy_launcher_add_arrival_barrier(legion_index_copy_launcher_t launcher, legion_phase_barrier_t bar)
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)
void legion_memory_query_only_kind(legion_memory_query_t query, legion_memory_kind_t kind)
void(* legion_registration_callback_pointer_t)(legion_machine_t, legion_runtime_t, const legion_processor_t *, unsigned)
Definition: legion_c.h:386
void legion_runtime_add_registration_callback(legion_registration_callback_pointer_t callback)
legion_context_t legion_runtime_get_context(void)
bool legion_index_partition_is_complete(legion_runtime_t runtime, legion_index_partition_t handle)
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)
size_t legion_runtime_total_shards(legion_runtime_t runtime, legion_context_t ctx)
legion_domain_t legion_task_get_index_domain(legion_task_t task)
legion_domain_t legion_index_space_get_domain(legion_runtime_t runtime, legion_index_space_t handle)
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)
legion_field_id_t legion_region_requirement_get_privilege_field(legion_region_requirement_t handle, unsigned idx)
void legion_physical_region_wait_until_valid(legion_physical_region_t handle)
legion_color_t legion_index_partition_get_color(legion_runtime_t runtime, legion_index_partition_t handle)
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)
Definition: legion_c.h:191
legion_unique_id_t legion_task_get_unique_id(legion_task_t task)
#define CREATE_BLOCKIFY(DIM)
Definition: legion_c.h:1147
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_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_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)
void legion_acquire_launcher_set_provenance(legion_acquire_launcher_t launcher, const char *provenance)
Definition: legion_c.h:310
legion_multi_domain_point_coloring_t legion_multi_domain_point_coloring_create(void)
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)
void legion_index_launcher_set_global_arg(legion_index_launcher_t launcher, legion_untyped_buffer_t global_arg)
legion_logical_region_t legion_logical_partition_get_logical_subregion(legion_runtime_t runtime, legion_logical_partition_t parent, legion_index_space_t handle)
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_copy_launcher_execute(legion_runtime_t runtime, legion_context_t ctx, legion_copy_launcher_t launcher)
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)
Definition: legion_c.h:118
realm_task_pointer_t legion_task_pointer_wrapped_t
Definition: legion_c.h:396
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)
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)
legion_memory_t legion_memory_query_next(legion_memory_query_t query, legion_memory_t after)
void legion_domain_point_coloring_destroy(legion_domain_point_coloring_t handle)
void legion_must_epoch_launcher_set_launch_space(legion_must_epoch_launcher_t launcher, legion_index_space_t is)
legion_projection_id_t legion_runtime_generate_static_projection_id()
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)
void legion_execution_constraint_set_add_isa_constraint(legion_execution_constraint_set_t handle, uint64_t prop)
legion_physical_region_t legion_inline_launcher_execute(legion_runtime_t runtime, legion_context_t ctx, legion_inline_launcher_t launcher)
void legion_index_space_create_shared_ownership(legion_runtime_t runtime, legion_context_t ctx, legion_index_space_t handle)
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)
legion_processor_t legion_processor_query_next(legion_processor_query_t query, legion_processor_t after)
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_memory_query_same_address_space_as_memory(legion_memory_query_t query, legion_memory_t mem)
legion_future_t legion_dynamic_collective_get_result(legion_runtime_t runtime, legion_context_t ctx, legion_dynamic_collective_t handle)
void legion_field_space_create_shared_ownership(legion_runtime_t runtime, legion_context_t ctx, legion_field_space_t handle)
void legion_task_id_attach_name(legion_runtime_t runtime, legion_task_id_t task_id, const char *name, bool is_mutable)
void legion_point_coloring_destroy(legion_point_coloring_t handle)
Definition: legion_c.h:236
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_index_launcher_set_mapping_tag(legion_index_launcher_t launcher, legion_mapping_tag_id_t tag)
void legion_fill_launcher_set_sharding_space(legion_fill_launcher_t launcher, legion_index_space_t space)
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_region_requirement_t legion_copy_get_requirement(legion_copy_t copy, unsigned idx)
void legion_index_launcher_add_flags(legion_index_launcher_t launcher, unsigned idx, enum legion_region_flags_t flags)
void legion_point_coloring_add_point(legion_point_coloring_t handle, legion_domain_point_t color, legion_ptr_t point)
legion_future_t legion_issue_timing_op_seconds(legion_runtime_t runtime, legion_context_t ctx)
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)
void legion_index_attach_launcher_set_provenance(legion_index_attach_launcher_t handle, const char *provenance)
void legion_copy_launcher_add_dst_field(legion_copy_launcher_t launcher, unsigned idx, legion_field_id_t fid, bool inst)
void legion_layout_constraint_set_release(legion_runtime_t runtime, legion_layout_constraint_id_t handle)
size_t legion_domain_get_volume(legion_domain_t d)
void legion_dynamic_collective_destroy(legion_runtime_t runtime, legion_context_t ctx, legion_dynamic_collective_t handle)
#define ITERATOR_STEP(DIM)
Definition: legion_c.h:668
void legion_task_launcher_intersect_flags(legion_task_launcher_t launcher, unsigned idx, enum legion_region_flags_t flags)
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)
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)
void legion_region_requirement_add_flags(legion_region_requirement_t handle, legion_region_flags_t flags)
void legion_processor_query_same_address_space_as_memory(legion_processor_query_t query, legion_memory_t mem)
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_task_layout_constraint_set_add_layout_constraint(legion_task_layout_constraint_set_t handle, unsigned idx, legion_layout_constraint_id_t layout)
void legion_index_copy_launcher_add_wait_barrier(legion_index_copy_launcher_t launcher, legion_phase_barrier_t bar)
void legion_index_copy_launcher_destroy(legion_index_copy_launcher_t handle)
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_unique_id_t legion_context_get_unique_id(legion_context_t ctx)
void legion_index_launcher_set_mapper_arg(legion_index_launcher_t launcher, legion_untyped_buffer_t map_arg)
#define FROM_RECT(DIM)
Definition: legion_c.h:483
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_memory_kind_t legion_memory_kind(legion_memory_t mem)
legion_domain_t legion_domain_from_index_space(legion_runtime_t runtime, legion_index_space_t is)
legion_logical_region_t legion_region_requirement_get_parent(legion_region_requirement_t handle)
void legion_logical_region_destroy(legion_runtime_t runtime, legion_context_t ctx, legion_logical_region_t handle)
void legion_domain_point_iterator_destroy(legion_domain_point_iterator_t handle)
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)
legion_memory_query_t legion_memory_query_create_copy(legion_memory_query_t query)
legion_task_id_t legion_runtime_generate_library_task_ids(legion_runtime_t runtime, const char *library_name, size_t count)
legion_processor_kind_t legion_processor_kind(legion_processor_t proc)
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_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)
void legion_copy_launcher_set_possible_src_indirect_out_of_range(legion_copy_launcher_t launcher, bool flag)
void legion_field_allocator_free_field_unordered(legion_field_allocator_t allocator, legion_field_id_t fid, bool unordered)
legion_domain_point_t legion_domain_point_iterator_next(legion_domain_point_iterator_t handle)
void legion_slice_task_output_slices_add(legion_slice_task_output_t output, legion_task_slice_t slice)
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_mapper_id_t legion_task_get_mapper(legion_task_t task)
void legion_multi_domain_point_coloring_destroy(legion_multi_domain_point_coloring_t handle)
void legion_machine_get_all_memories(legion_machine_t machine, legion_memory_t *memories, size_t memories_size)
legion_future_t legion_task_get_future(legion_task_t task, unsigned idx)
bool legion_domain_contains(legion_domain_t d, legion_domain_point_t p)
bool legion_physical_region_is_mapped(legion_physical_region_t handle)
struct legion_logical_region_t legion_logical_region_t
Definition: legion_c.h:344
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)
#define ITERATOR_DESTROY(DIM)
Definition: legion_c.h:650
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)
void legion_index_fill_launcher_destroy(legion_index_fill_launcher_t handle)
legion_region_requirement_t legion_fill_get_requirement(legion_fill_t fill)
legion_index_attach_launcher_t legion_index_attach_launcher_create(legion_logical_region_t parent_region, legion_external_resource_t resource, bool restricted)
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)
Definition: legion_c.h:262
struct legion_ptr_t legion_ptr_t
void legion_inline_launcher_set_provenance(legion_inline_launcher_t launcher, const char *provenance)
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)
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_index_attach_launcher_set_restricted(legion_index_attach_launcher_t handle, bool restricted)
legion_future_t legion_detach_external_resource(legion_runtime_t runtime, legion_context_t ctx, legion_physical_region_t handle)
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)
legion_index_space_t legion_index_partition_get_color_space(legion_runtime_t runtime, legion_index_partition_t handle)
bool legion_future_is_empty(legion_future_t handle, bool block)
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_machine_get_all_processors(legion_machine_t machine, legion_processor_t *processors, size_t processors_size)
#define DESTROY_ARRAY(DIM)
Definition: legion_c.h:4969
legion_color_t legion_logical_region_get_color(legion_runtime_t runtime, legion_logical_region_t handle)
void legion_physical_region_destroy(legion_physical_region_t handle)
void legion_attach_launcher_set_restricted(legion_attach_launcher_t handle, bool restricted)
void legion_acquire_launcher_add_wait_barrier(legion_acquire_launcher_t launcher, legion_phase_barrier_t bar)
legion_index_partition_t legion_index_partition_create_by_image(legion_runtime_t runtime, legion_context_t ctx, legion_index_space_t handle, legion_logical_partition_t projection, legion_logical_region_t parent, legion_field_id_t fid, legion_index_space_t color_space, legion_partition_kind_t part_kind, legion_color_t color, legion_mapper_id_t id, legion_mapping_tag_id_t tag, legion_untyped_buffer_t map_arg)
void legion_index_partition_destroy_unordered(legion_runtime_t runtime, legion_context_t ctx, legion_index_partition_t handle, bool unordered, bool recurse)
legion_field_space_t legion_field_space_create(legion_runtime_t runtime, legion_context_t ctx)
legion_logical_partition_t legion_logical_region_get_parent_logical_partition(legion_runtime_t runtime, legion_logical_region_t handle)
void legion_runtime_unmap_region(legion_runtime_t runtime, legion_context_t ctx, legion_physical_region_t region)
void legion_runtime_begin_trace(legion_runtime_t runtime, legion_context_t ctx, legion_trace_id_t tid, bool logical_only)
void legion_future_wait(legion_future_t handle, bool silence_warnings, const char *warning_string)
void legion_index_launcher_add_wait_barrier(legion_index_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)
const legion_predicate_t legion_predicate_true(void)
Definition: legion_c.h:320
legion_memory_query_t legion_memory_query_create(legion_machine_t machine)
legion_physical_region_t legion_external_resources_get_region(legion_external_resources_t handle, unsigned index)
Definition: legion_c.h:354
Definition: legion_c.h:253
void legion_domain_point_coloring_color_domain(legion_domain_point_coloring_t handle, legion_domain_point_t color, legion_domain_t domain)
legion_domain_point_t legion_domain_point_nil(void)
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)
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)
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)
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_reduction_op_id_t legion_region_requirement_get_redop(legion_region_requirement_t handle)
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_index_space_t legion_logical_region_get_index_space(legion_logical_region_t handle)
void legion_must_epoch_launcher_set_launch_domain(legion_must_epoch_launcher_t launcher, legion_domain_t domain)
void legion_index_copy_launcher_set_provenance(legion_index_copy_launcher_t launcher, const char *provenance)
void legion_processor_query_best_affinity_to_memory(legion_processor_query_t query, legion_memory_t mem, int bandwidth_weight, int latency_weight)
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)
legion_future_t legion_issue_timing_op_microseconds(legion_runtime_t runtime, legion_context_t ctx)
void legion_runtime_yield(legion_runtime_t runtime, legion_context_t ctx)
void legion_task_launcher_set_mapping_tag(legion_task_launcher_t launcher, legion_mapping_tag_id_t tag)
legion_future_t legion_future_map_get_future(legion_future_map_t handle, legion_domain_point_t point)
legion_shard_id_t legion_runtime_local_shard(legion_runtime_t runtime, legion_context_t ctx)
void legion_release_launcher_execute(legion_runtime_t runtime, legion_context_t ctx, legion_release_launcher_t launcher)
legion_future_t legion_future_copy(legion_future_t handle)
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_coloring_destroy(legion_coloring_t handle)
Definition: legion_c.h:295
legion_projection_id_t legion_runtime_generate_library_projection_ids(legion_runtime_t runtime, const char *library_name, size_t count)