83 Predicate pred = Predicate::TRUE_PRED, MapperID
id = 0,
85 const char* provenance =
"");
91 inline void add_field(
unsigned idx, FieldID fid,
bool inst =
true);
93 inline void add_future(
Future f);
94 inline void add_grant(
Grant g);
100 inline void set_predicate_false_future(
Future f);
103 inline void set_independent_requirements(
bool independent);
106 std::vector<IndexSpaceRequirement> index_requirements;
107 std::vector<RegionRequirement> region_requirements;
108 std::vector<Future> futures;
109 std::vector<Grant> grants;
110 std::vector<PhaseBarrier> wait_barriers;
111 std::vector<PhaseBarrier> arrive_barriers;
128 Future predicate_false_future;
132 std::string provenance;
136 const std::vector<StaticDependence>* static_dependences;
146 bool enable_inlining;
156 bool local_function_task;
162 bool independent_requirements;
166 bool elide_future_return;
170 std::optional<size_t> future_return_size;
172 bool silence_warnings;
189 bool must =
false, MapperID
id = 0, MappingTagID tag = 0,
195 bool must =
false, MapperID
id = 0, MappingTagID tag = 0,
202 inline void add_field(
unsigned idx, FieldID fid,
bool inst =
true);
204 inline void add_future(
Future f);
205 inline void add_grant(
Grant g);
211 inline void set_predicate_false_future(
Future f);
214 inline void set_independent_requirements(
bool independent);
222 std::vector<IndexSpaceRequirement> index_requirements;
223 std::vector<RegionRequirement> region_requirements;
224 std::vector<Future> futures;
227 std::vector<ArgumentMap> point_futures;
228 std::vector<Grant> grants;
229 std::vector<PhaseBarrier> wait_barriers;
230 std::vector<PhaseBarrier> arrive_barriers;
242 ConcurrentID concurrent_functor;
246 bool must_parallelism;
256 Future predicate_false_future;
260 std::string provenance;
264 const std::vector<StaticDependence>* static_dependences;
274 bool enable_inlining;
280 bool independent_requirements;
282 bool silence_warnings;
286 bool elide_future_return;
290 std::optional<size_t> future_return_size;
309 LayoutConstraintID layout_id = 0,
312 inline void add_field(FieldID fid,
bool inst =
true);
314 inline void add_grant(
Grant g);
321 std::vector<Grant> grants;
322 std::vector<PhaseBarrier> wait_barriers;
323 std::vector<PhaseBarrier> arrive_barriers;
328 LayoutConstraintID layout_constraint_id;
331 std::string provenance;
335 const std::vector<StaticDependence>* static_dependences;
365 Predicate pred = Predicate::TRUE_PRED, MapperID
id = 0,
367 const char* provenance =
"");
369 inline unsigned add_copy_requirements(
371 inline void add_src_field(
unsigned idx, FieldID fid,
bool inst =
true);
372 inline void add_dst_field(
unsigned idx, FieldID fid,
bool inst =
true);
375 inline void add_src_indirect_field(
377 bool is_range_indirection =
false,
bool inst =
true);
378 inline void add_dst_indirect_field(
380 bool is_range_indirection =
false,
bool inst =
true);
383 bool is_range_indirection =
false);
386 bool is_range_indirection =
false);
388 inline void add_grant(
Grant g);
394 std::vector<RegionRequirement> src_requirements;
395 std::vector<RegionRequirement> dst_requirements;
396 std::vector<RegionRequirement> src_indirect_requirements;
397 std::vector<RegionRequirement> dst_indirect_requirements;
398 std::vector<bool> src_indirect_is_range;
399 std::vector<bool> dst_indirect_is_range;
400 std::vector<Grant> grants;
401 std::vector<PhaseBarrier> wait_barriers;
402 std::vector<PhaseBarrier> arrive_barriers;
414 std::string provenance;
418 const std::vector<StaticDependence>* static_dependences;
422 bool possible_src_indirect_out_of_range;
423 bool possible_dst_indirect_out_of_range;
426 bool possible_dst_indirect_aliasing;
428 bool silence_warnings;
447 const char* provenance =
"");
450 MapperID
id = 0, MappingTagID tag = 0,
453 inline unsigned add_copy_requirements(
455 inline void add_src_field(
unsigned idx, FieldID fid,
bool inst =
true);
456 inline void add_dst_field(
unsigned idx, FieldID fid,
bool inst =
true);
459 inline void add_src_indirect_field(
461 bool is_range_indirection =
false,
bool inst =
true);
462 inline void add_dst_indirect_field(
464 bool is_range_indirection =
false,
bool inst =
true);
467 bool is_range_indirection =
false);
470 bool is_range_indirection =
false);
472 inline void add_grant(
Grant g);
478 std::vector<RegionRequirement> src_requirements;
479 std::vector<RegionRequirement> dst_requirements;
480 std::vector<RegionRequirement> src_indirect_requirements;
481 std::vector<RegionRequirement> dst_indirect_requirements;
482 std::vector<bool> src_indirect_is_range;
483 std::vector<bool> dst_indirect_is_range;
484 std::vector<Grant> grants;
485 std::vector<PhaseBarrier> wait_barriers;
486 std::vector<PhaseBarrier> arrive_barriers;
498 std::string provenance;
502 const std::vector<StaticDependence>* static_dependences;
506 bool possible_src_indirect_out_of_range;
507 bool possible_dst_indirect_out_of_range;
510 bool possible_dst_indirect_aliasing;
515 bool collective_src_indirect_points;
516 bool collective_dst_indirect_points;
518 bool silence_warnings;
532 Predicate pred = Predicate::TRUE_PRED, MapperID
id = 0,
534 const char* provenance =
"");
537 Predicate pred = Predicate::TRUE_PRED, MapperID
id = 0,
539 const char* provenance =
"");
542 inline void set_future(
Future f);
543 inline void add_field(FieldID fid);
544 inline void add_grant(
Grant g);
555 std::set<FieldID> fields;
556 std::vector<Grant> grants;
557 std::vector<PhaseBarrier> wait_barriers;
558 std::vector<PhaseBarrier> arrive_barriers;
569 std::string provenance;
573 const std::vector<StaticDependence>* static_dependences;
575 bool silence_warnings;
594 Predicate pred = Predicate::TRUE_PRED, MapperID
id = 0,
596 const char* provenance =
"");
599 ProjectionID projection = 0,
Predicate pred = Predicate::TRUE_PRED,
600 MapperID
id = 0, MappingTagID tag = 0,
605 Predicate pred = Predicate::TRUE_PRED, MapperID
id = 0,
607 const char* provenance =
"");
610 ProjectionID projection = 0,
Predicate pred = Predicate::TRUE_PRED,
611 MapperID
id = 0, MappingTagID tag = 0,
617 Predicate pred = Predicate::TRUE_PRED, MapperID
id = 0,
619 const char* provenance =
"");
622 ProjectionID projection = 0,
Predicate pred = Predicate::TRUE_PRED,
623 MapperID
id = 0, MappingTagID tag = 0,
628 Predicate pred = Predicate::TRUE_PRED, MapperID
id = 0,
630 const char* provenance =
"");
633 Future f, ProjectionID projection = 0,
634 Predicate pred = Predicate::TRUE_PRED, MapperID
id = 0,
636 const char* provenance =
"");
639 inline void set_future(
Future f);
640 inline void add_field(FieldID fid);
641 inline void add_grant(
Grant g);
655 ProjectionID projection;
659 std::set<FieldID> fields;
660 std::vector<Grant> grants;
661 std::vector<PhaseBarrier> wait_barriers;
662 std::vector<PhaseBarrier> arrive_barriers;
668 std::string provenance;
672 const std::vector<StaticDependence>* static_dependences;
674 bool silence_warnings;
730 const bool restricted =
true,
const bool mapped =
true);
735 inline void initialize_constraints(
736 bool column_major,
bool soa,
const std::vector<FieldID>& fields,
737 const std::map<FieldID, size_t>* alignments =
nullptr);
738 LEGION_DEPRECATED(
"Use Realm::ExternalFileResource instead")
739 inline void attach_file(
740 const char* file_name,
const std::vector<FieldID>& fields,
741 LegionFileMode mode);
742 LEGION_DEPRECATED(
"Use Realm::ExternalHDF5Resource instead")
743 inline void attach_hdf5(
744 const char* file_name,
const std::map<FieldID, const char*>& field_map,
745 LegionFileMode mode);
748 LEGION_DEPRECATED(
"Use Realm::ExternalMemoryResource instead")
749 inline void attach_array_aos(
750 void* base,
bool column_major,
const std::vector<FieldID>& fields,
751 Memory memory = Memory::NO_MEMORY,
752 const std::map<FieldID, size_t>* alignments =
nullptr);
753 LEGION_DEPRECATED(
"Use Realm::ExternalMemoryResource instead")
754 inline void attach_array_soa(
755 void* base,
bool column_major,
const std::vector<FieldID>& fields,
756 Memory memory = Memory::NO_MEMORY,
757 const std::map<FieldID, size_t>* alignments =
nullptr);
759 ExternalResource resource;
762 std::set<FieldID> privilege_fields;
765 const Realm::ExternalInstanceResource* external_resource;
784 bool deduplicate_across_shards;
787 std::string provenance;
790 LEGION_DEPRECATED(
"file_name is deprecated, use external_resource")
791 const char* file_name;
792 LEGION_DEPRECATED(
"mode is deprecated, use external_resource")
794 LEGION_DEPRECATED(
"file_fields is deprecated, use external_resource")
795 std::vector<FieldID> file_fields;
797 std::map<FieldID,
const char*> field_files;
804 const std::vector<StaticDependence>* static_dependences;
821 const bool restricted =
true);
826 inline void initialize_constraints(
827 bool column_major,
bool soa,
const std::vector<FieldID>& fields,
828 const std::map<FieldID, size_t>* alignments =
nullptr);
829 inline void add_external_resource(
830 LogicalRegion handle,
const Realm::ExternalInstanceResource* resource);
831 LEGION_DEPRECATED(
"Use Realm::ExternalFileResource instead")
832 inline void attach_file(
834 const std::vector<FieldID>& fields, LegionFileMode mode);
835 LEGION_DEPRECATED(
"Use Realm::ExternalHDF5Resource instead")
836 inline void attach_hdf5(
838 const std::map<FieldID, const char*>& field_map, LegionFileMode mode);
841 LEGION_DEPRECATED(
"Use Realm::ExternalMemoryResource instead")
842 inline void attach_array_aos(
844 const std::vector<FieldID>& fields, Memory memory = Memory::NO_MEMORY,
845 const std::map<FieldID, size_t>* alignments =
nullptr);
846 LEGION_DEPRECATED(
"Use Realm::ExternalMemoryResource instead")
847 inline void attach_array_soa(
849 const std::vector<FieldID>& fields, Memory memory = Memory::NO_MEMORY,
850 const std::map<FieldID, size_t>* alignments =
nullptr);
852 ExternalResource resource;
854 std::set<FieldID> privilege_fields;
855 std::vector<LogicalRegion> handles;
859 std::vector<const Realm::ExternalInstanceResource*> external_resources;
868 bool deduplicate_across_shards;
871 std::string provenance;
874 LEGION_DEPRECATED(
"mode is deprecated, use external_resources")
876 LEGION_DEPRECATED(
"file_names is deprecated, use external_resources")
877 std::vector<const char*> file_names;
878 LEGION_DEPRECATED(
"file_fields is deprecated, use external_resources")
879 std::vector<FieldID> file_fields;
881 std::map<FieldID, std::vector<
const char*> >
885 LEGION_DEPRECATED(
"pointers is deprecated, use external_resources")
886 std::vector<PointerConstraint> pointers;
890 std::vector<size_t> footprint;
894 const std::vector<StaticDependence>* static_dependences;
970 Predicate pred = Predicate::TRUE_PRED, MapperID
id = 0,
972 const char* provenance =
"");
974 inline void add_field(FieldID f);
975 inline void add_grant(
Grant g);
983 std::set<FieldID> fields;
988 std::vector<Grant> grants;
989 std::vector<PhaseBarrier> wait_barriers;
990 std::vector<PhaseBarrier> arrive_barriers;
997 std::string provenance;
1001 const std::vector<StaticDependence>* static_dependences;
1003 bool silence_warnings;
1017 Predicate pred = Predicate::TRUE_PRED, MapperID
id = 0,
1019 const char* provenance =
"");
1021 inline void add_field(FieldID f);
1022 inline void add_grant(
Grant g);
1030 std::set<FieldID> fields;
1035 std::vector<Grant> grants;
1036 std::vector<PhaseBarrier> wait_barriers;
1037 std::vector<PhaseBarrier> arrive_barriers;
1044 std::string provenance;
1048 const std::vector<StaticDependence>* static_dependences;
1050 bool silence_warnings;
Definition geometry.h:159