16#ifndef __LEGION_REQUIREMENTS_H__
17#define __LEGION_REQUIREMENTS_H__
19#include "legion/api/data.h"
46 CoherenceProperty _prop,
LogicalRegion _parent, MappingTagID _tag = 0,
47 bool _verified =
false);
55 CoherenceProperty _prop,
LogicalRegion _parent, MappingTagID _tag = 0,
56 bool _verified =
false);
64 CoherenceProperty _prop,
LogicalRegion _parent, MappingTagID _tag = 0,
65 bool _verified =
false);
73 CoherenceProperty _prop,
LogicalRegion _parent, MappingTagID _tag = 0,
74 bool _verified =
false);
82 CoherenceProperty _prop,
LogicalRegion _parent, MappingTagID _tag = 0,
83 bool _verified =
false);
91 CoherenceProperty _prop,
LogicalRegion _parent, MappingTagID _tag = 0,
92 bool _verified =
false);
96 LogicalRegion _handle, PrivilegeMode _priv, CoherenceProperty _prop,
97 LogicalRegion _parent, MappingTagID _tag = 0,
bool _verified =
false);
100 CoherenceProperty _prop,
LogicalRegion _parent, MappingTagID _tag = 0,
101 bool _verified =
false);
103 LogicalRegion _handle, ProjectionID _proj, PrivilegeMode _priv,
104 CoherenceProperty _prop,
LogicalRegion _parent, MappingTagID _tag = 0,
105 bool _verified =
false);
107 LogicalRegion _handle, ReductionOpID op, CoherenceProperty _prop,
108 LogicalRegion _parent, MappingTagID _tag = 0,
bool _verified =
false);
111 CoherenceProperty _prop,
LogicalRegion _parent, MappingTagID _tag = 0,
112 bool _verified =
false);
115 CoherenceProperty _prop,
LogicalRegion _parent, MappingTagID _tag = 0,
116 bool _verified =
false);
134 const std::vector<FieldID>& fids,
bool instance =
true);
138 inline bool is_verified(
void)
const
140 return (
flags & LEGION_VERIFIED_FLAG);
142 inline bool is_no_access(
void)
const
144 return (
flags & LEGION_NO_ACCESS_FLAG);
146 inline bool is_restricted(
void)
const
148 return (
flags & LEGION_RESTRICTED_FLAG);
150 LEGION_DEPRECATED(
"Premapping regions is no longer supported.")
151 inline
bool must_premap(
void)
const {
return false; }
153 const void* get_projection_args(
size_t* size)
const;
154 void set_projection_args(
const void* args,
size_t size,
bool own =
false);
156 bool has_field_privilege(FieldID fid)
const;
261 template<
int DIM,
typename COORD_T>
287 AllocateMode privilege;
294 bool _verified =
false);
314 AllocateMode privilege;
319 FieldSpace _handle, AllocateMode _priv,
bool _verified =
false);
327#include "legion/api/requirements.inl"
Definition requirements.h:311
Definition requirements.h:284
Definition requirements.h:245
IndexSpace color_space
Definition requirements.h:274
FieldSpace field_space
Definition requirements.h:271
bool bounded_requirement
Definition requirements.h:273
bool global_indexing
Definition requirements.h:272
Definition requirements.h:37
ProjectionType handle_type
Definition requirements.h:170
std::set< FieldID > privilege_fields
Definition requirements.h:161
RegionRequirement(LogicalPartition pid, ProjectionID _proj, const std::set< FieldID > &privilege_fields, const std::vector< FieldID > &instance_fields, PrivilegeMode _priv, CoherenceProperty _prop, LogicalRegion _parent, MappingTagID _tag=0, bool _verified=false)
RegionRequirement(LogicalRegion _handle, ProjectionID _proj, const std::set< FieldID > &privilege_fields, const std::vector< FieldID > &instance_fields, PrivilegeMode _priv, CoherenceProperty _prop, LogicalRegion _parent, MappingTagID _tag=0, bool _verified=false)
ProjectionID projection
Definition requirements.h:171
LogicalRegion parent
Definition requirements.h:165
void * projection_args
Definition requirements.h:173
std::vector< FieldID > instance_fields
Definition requirements.h:162
LogicalPartition partition
Definition requirements.h:160
RegionRequirement & add_field(FieldID fid, bool instance=true)
MappingTagID tag
Definition requirements.h:167
CoherenceProperty prop
Definition requirements.h:164
ReductionOpID redop
Definition requirements.h:166
RegionRequirement(LogicalRegion _handle, const std::set< FieldID > &privilege_fields, const std::vector< FieldID > &instance_fields, ReductionOpID op, CoherenceProperty _prop, LogicalRegion _parent, MappingTagID _tag=0, bool _verified=false)
RegionRequirement(LogicalPartition pid, ProjectionID _proj, const std::set< FieldID > &privilege_fields, const std::vector< FieldID > &instance_fields, ReductionOpID op, CoherenceProperty _prop, LogicalRegion _parent, MappingTagID _tag=0, bool _verified=false)
PrivilegeMode privilege
Definition requirements.h:163
RegionRequirement(LogicalRegion _handle, ProjectionID _proj, const std::set< FieldID > &privilege_fields, const std::vector< FieldID > &instance_fields, ReductionOpID op, CoherenceProperty _prop, LogicalRegion _parent, MappingTagID _tag=0, bool _verified=false)
size_t projection_args_size
Definition requirements.h:174
RegionFlags flags
Definition requirements.h:168
RegionRequirement(LogicalRegion _handle, const std::set< FieldID > &privilege_fields, const std::vector< FieldID > &instance_fields, PrivilegeMode _priv, CoherenceProperty _prop, LogicalRegion _parent, MappingTagID _tag=0, bool _verified=false)
LogicalRegion region
Definition requirements.h:159