78 Predicate pred = Predicate::TRUE_PRED, MapperID
id = 0,
80 const char* provenance =
"");
86 inline void add_field(
unsigned idx, FieldID fid,
bool inst =
true);
88 inline void add_future(
Future f);
89 inline void add_grant(
Grant g);
95 inline void set_predicate_false_future(
Future f);
98 inline void set_independent_requirements(
bool independent);
101 std::vector<IndexSpaceRequirement> index_requirements;
102 std::vector<RegionRequirement> region_requirements;
103 std::vector<Future> futures;
104 std::vector<Grant> grants;
105 std::vector<PhaseBarrier> wait_barriers;
106 std::vector<PhaseBarrier> arrive_barriers;
123 Future predicate_false_future;
127 std::string provenance;
131 const std::vector<StaticDependence>* static_dependences;
141 bool enable_inlining;
151 bool local_function_task;
157 bool independent_requirements;
161 bool elide_future_return;
165 std::optional<size_t> future_return_size;
167 bool silence_warnings;
184 bool must =
false, MapperID
id = 0, MappingTagID tag = 0,
190 bool must =
false, MapperID
id = 0, MappingTagID tag = 0,
197 inline void add_field(
unsigned idx, FieldID fid,
bool inst =
true);
199 inline void add_future(
Future f);
200 inline void add_grant(
Grant g);
206 inline void set_predicate_false_future(
Future f);
209 inline void set_independent_requirements(
bool independent);
217 std::vector<IndexSpaceRequirement> index_requirements;
218 std::vector<RegionRequirement> region_requirements;
219 std::vector<Future> futures;
222 std::vector<ArgumentMap> point_futures;
223 std::vector<Grant> grants;
224 std::vector<PhaseBarrier> wait_barriers;
225 std::vector<PhaseBarrier> arrive_barriers;
237 ConcurrentID concurrent_functor;
241 bool must_parallelism;
251 Future predicate_false_future;
255 std::string provenance;
259 const std::vector<StaticDependence>* static_dependences;
269 bool enable_inlining;
275 bool independent_requirements;
277 bool silence_warnings;
281 bool elide_future_return;
285 std::optional<size_t> future_return_size;
304 LayoutConstraintID layout_id = 0,
307 inline void add_field(FieldID fid,
bool inst =
true);
309 inline void add_grant(
Grant g);
316 std::vector<Grant> grants;
317 std::vector<PhaseBarrier> wait_barriers;
318 std::vector<PhaseBarrier> arrive_barriers;
323 LayoutConstraintID layout_constraint_id;
326 std::string provenance;
330 const std::vector<StaticDependence>* static_dependences;
360 Predicate pred = Predicate::TRUE_PRED, MapperID
id = 0,
362 const char* provenance =
"");
364 inline unsigned add_copy_requirements(
366 inline void add_src_field(
unsigned idx, FieldID fid,
bool inst =
true);
367 inline void add_dst_field(
unsigned idx, FieldID fid,
bool inst =
true);
370 inline void add_src_indirect_field(
372 bool is_range_indirection =
false,
bool inst =
true);
373 inline void add_dst_indirect_field(
375 bool is_range_indirection =
false,
bool inst =
true);
378 bool is_range_indirection =
false);
381 bool is_range_indirection =
false);
383 inline void add_grant(
Grant g);
389 std::vector<RegionRequirement> src_requirements;
390 std::vector<RegionRequirement> dst_requirements;
391 std::vector<RegionRequirement> src_indirect_requirements;
392 std::vector<RegionRequirement> dst_indirect_requirements;
393 std::vector<bool> src_indirect_is_range;
394 std::vector<bool> dst_indirect_is_range;
395 std::vector<Grant> grants;
396 std::vector<PhaseBarrier> wait_barriers;
397 std::vector<PhaseBarrier> arrive_barriers;
409 std::string provenance;
413 const std::vector<StaticDependence>* static_dependences;
417 bool possible_src_indirect_out_of_range;
418 bool possible_dst_indirect_out_of_range;
421 bool possible_dst_indirect_aliasing;
423 bool silence_warnings;
442 const char* provenance =
"");
445 MapperID
id = 0, MappingTagID tag = 0,
448 inline unsigned add_copy_requirements(
450 inline void add_src_field(
unsigned idx, FieldID fid,
bool inst =
true);
451 inline void add_dst_field(
unsigned idx, FieldID fid,
bool inst =
true);
454 inline void add_src_indirect_field(
456 bool is_range_indirection =
false,
bool inst =
true);
457 inline void add_dst_indirect_field(
459 bool is_range_indirection =
false,
bool inst =
true);
462 bool is_range_indirection =
false);
465 bool is_range_indirection =
false);
467 inline void add_grant(
Grant g);
473 std::vector<RegionRequirement> src_requirements;
474 std::vector<RegionRequirement> dst_requirements;
475 std::vector<RegionRequirement> src_indirect_requirements;
476 std::vector<RegionRequirement> dst_indirect_requirements;
477 std::vector<bool> src_indirect_is_range;
478 std::vector<bool> dst_indirect_is_range;
479 std::vector<Grant> grants;
480 std::vector<PhaseBarrier> wait_barriers;
481 std::vector<PhaseBarrier> arrive_barriers;
493 std::string provenance;
497 const std::vector<StaticDependence>* static_dependences;
501 bool possible_src_indirect_out_of_range;
502 bool possible_dst_indirect_out_of_range;
505 bool possible_dst_indirect_aliasing;
510 bool collective_src_indirect_points;
511 bool collective_dst_indirect_points;
513 bool silence_warnings;
527 Predicate pred = Predicate::TRUE_PRED, MapperID
id = 0,
529 const char* provenance =
"");
532 Predicate pred = Predicate::TRUE_PRED, MapperID
id = 0,
534 const char* provenance =
"");
537 inline void set_future(
Future f);
538 inline void add_field(FieldID fid);
539 inline void add_grant(
Grant g);
550 std::set<FieldID> fields;
551 std::vector<Grant> grants;
552 std::vector<PhaseBarrier> wait_barriers;
553 std::vector<PhaseBarrier> arrive_barriers;
564 std::string provenance;
568 const std::vector<StaticDependence>* static_dependences;
570 bool silence_warnings;
589 Predicate pred = Predicate::TRUE_PRED, MapperID
id = 0,
591 const char* provenance =
"");
594 ProjectionID projection = 0,
Predicate pred = Predicate::TRUE_PRED,
595 MapperID
id = 0, MappingTagID tag = 0,
600 Predicate pred = Predicate::TRUE_PRED, MapperID
id = 0,
602 const char* provenance =
"");
605 ProjectionID projection = 0,
Predicate pred = Predicate::TRUE_PRED,
606 MapperID
id = 0, MappingTagID tag = 0,
612 Predicate pred = Predicate::TRUE_PRED, MapperID
id = 0,
614 const char* provenance =
"");
617 ProjectionID projection = 0,
Predicate pred = Predicate::TRUE_PRED,
618 MapperID
id = 0, MappingTagID tag = 0,
623 Predicate pred = Predicate::TRUE_PRED, MapperID
id = 0,
625 const char* provenance =
"");
628 Future f, ProjectionID projection = 0,
629 Predicate pred = Predicate::TRUE_PRED, MapperID
id = 0,
631 const char* provenance =
"");
634 inline void set_future(
Future f);
635 inline void add_field(FieldID fid);
636 inline void add_grant(
Grant g);
650 ProjectionID projection;
654 std::set<FieldID> fields;
655 std::vector<Grant> grants;
656 std::vector<PhaseBarrier> wait_barriers;
657 std::vector<PhaseBarrier> arrive_barriers;
663 std::string provenance;
667 const std::vector<StaticDependence>* static_dependences;
669 bool silence_warnings;
725 const bool restricted =
true,
const bool mapped =
true);
730 inline void initialize_constraints(
731 bool column_major,
bool soa,
const std::vector<FieldID>& fields,
732 const std::map<FieldID, size_t>* alignments =
nullptr);
733 LEGION_DEPRECATED(
"Use Realm::ExternalFileResource instead")
734 inline void attach_file(
735 const char* file_name,
const std::vector<FieldID>& fields,
736 LegionFileMode mode);
737 LEGION_DEPRECATED(
"Use Realm::ExternalHDF5Resource instead")
738 inline void attach_hdf5(
739 const char* file_name,
const std::map<FieldID, const char*>& field_map,
740 LegionFileMode mode);
743 LEGION_DEPRECATED(
"Use Realm::ExternalMemoryResource instead")
744 inline void attach_array_aos(
745 void* base,
bool column_major,
const std::vector<FieldID>& fields,
746 Memory memory = Memory::NO_MEMORY,
747 const std::map<FieldID, size_t>* alignments =
nullptr);
748 LEGION_DEPRECATED(
"Use Realm::ExternalMemoryResource instead")
749 inline void attach_array_soa(
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);
754 ExternalResource resource;
757 std::set<FieldID> privilege_fields;
760 const Realm::ExternalInstanceResource* external_resource;
779 bool deduplicate_across_shards;
782 std::string provenance;
785 LEGION_DEPRECATED(
"file_name is deprecated, use external_resource")
786 const char* file_name;
787 LEGION_DEPRECATED(
"mode is deprecated, use external_resource")
789 LEGION_DEPRECATED(
"file_fields is deprecated, use external_resource")
790 std::vector<FieldID> file_fields;
792 std::map<FieldID,
const char*> field_files;
799 const std::vector<StaticDependence>* static_dependences;
816 const bool restricted =
true);
821 inline void initialize_constraints(
822 bool column_major,
bool soa,
const std::vector<FieldID>& fields,
823 const std::map<FieldID, size_t>* alignments =
nullptr);
824 inline void add_external_resource(
825 LogicalRegion handle,
const Realm::ExternalInstanceResource* resource);
826 LEGION_DEPRECATED(
"Use Realm::ExternalFileResource instead")
827 inline void attach_file(
829 const std::vector<FieldID>& fields, LegionFileMode mode);
830 LEGION_DEPRECATED(
"Use Realm::ExternalHDF5Resource instead")
831 inline void attach_hdf5(
833 const std::map<FieldID, const char*>& field_map, LegionFileMode mode);
836 LEGION_DEPRECATED(
"Use Realm::ExternalMemoryResource instead")
837 inline void attach_array_aos(
839 const std::vector<FieldID>& fields, Memory memory = Memory::NO_MEMORY,
840 const std::map<FieldID, size_t>* alignments =
nullptr);
841 LEGION_DEPRECATED(
"Use Realm::ExternalMemoryResource instead")
842 inline void attach_array_soa(
844 const std::vector<FieldID>& fields, Memory memory = Memory::NO_MEMORY,
845 const std::map<FieldID, size_t>* alignments =
nullptr);
847 ExternalResource resource;
849 std::set<FieldID> privilege_fields;
850 std::vector<LogicalRegion> handles;
854 std::vector<const Realm::ExternalInstanceResource*> external_resources;
863 bool deduplicate_across_shards;
866 std::string provenance;
869 LEGION_DEPRECATED(
"mode is deprecated, use external_resources")
871 LEGION_DEPRECATED(
"file_names is deprecated, use external_resources")
872 std::vector<const char*> file_names;
873 LEGION_DEPRECATED(
"file_fields is deprecated, use external_resources")
874 std::vector<FieldID> file_fields;
876 std::map<FieldID, std::vector<
const char*> >
880 LEGION_DEPRECATED(
"pointers is deprecated, use external_resources")
881 std::vector<PointerConstraint> pointers;
885 std::vector<size_t> footprint;
889 const std::vector<StaticDependence>* static_dependences;
965 Predicate pred = Predicate::TRUE_PRED, MapperID
id = 0,
967 const char* provenance =
"");
969 inline void add_field(FieldID f);
970 inline void add_grant(
Grant g);
978 std::set<FieldID> fields;
983 std::vector<Grant> grants;
984 std::vector<PhaseBarrier> wait_barriers;
985 std::vector<PhaseBarrier> arrive_barriers;
992 std::string provenance;
996 const std::vector<StaticDependence>* static_dependences;
998 bool silence_warnings;
1012 Predicate pred = Predicate::TRUE_PRED, MapperID
id = 0,
1014 const char* provenance =
"");
1016 inline void add_field(FieldID f);
1017 inline void add_grant(
Grant g);
1025 std::set<FieldID> fields;
1030 std::vector<Grant> grants;
1031 std::vector<PhaseBarrier> wait_barriers;
1032 std::vector<PhaseBarrier> arrive_barriers;
1039 std::string provenance;
1043 const std::vector<StaticDependence>* static_dependences;
1045 bool silence_warnings;
Definition geometry.h:154