Legion Runtime
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
Legion::Mapping::MapperRuntime Class Reference

#include <mapping.h>

Public Member Functions

bool is_locked (MapperContext ctx) const
 
void lock_mapper (MapperContext ctx, bool read_only=false) const
 
void unlock_mapper (MapperContext ctx) const
 
bool is_reentrant (MapperContext ctx) const
 
void enable_reentrant (MapperContext ctx) const
 
void disable_reentrant (MapperContext ctx) const
 
void start_profiling_range (MapperContext ctx) const
 
void stop_profiling_range (MapperContext ctx, const char *provenance) const
 
void update_mappable_tag (MapperContext ctx, const Mappable &mappable, MappingTagID new_tag) const
 
void update_mappable_data (MapperContext ctx, const Mappable &mappable, const void *mapper_data, size_t mapper_data_size) const
 
void send_message (MapperContext ctx, Processor target, const void *message, size_t message_size, unsigned message_kind=0) const
 
void broadcast (MapperContext ctx, const void *message, size_t message_size, unsigned message_kind=0, int radix=4) const
 
void pack_physical_instance (MapperContext ctx, Serializer &rez, PhysicalInstance instance) const
 
void unpack_physical_instance (MapperContext ctx, Deserializer &derez, PhysicalInstance &instance) const
 
MapperEvent create_mapper_event (MapperContext ctx) const
 
bool has_mapper_event_triggered (MapperContext ctx, MapperEvent event) const
 
void trigger_mapper_event (MapperContext ctx, MapperEvent event) const
 
void wait_on_mapper_event (MapperContext ctx, MapperEvent event) const
 
const ExecutionConstraintSet & find_execution_constraints (MapperContext ctx, TaskID task_id, VariantID vid) const
 
const TaskLayoutConstraintSet & find_task_layout_constraints (MapperContext ctx, TaskID task_id, VariantID vid) const
 
const LayoutConstraintSet & find_layout_constraints (MapperContext ctx, LayoutConstraintID id) const
 
LayoutConstraintID register_layout (MapperContext ctx, const LayoutConstraintSet &layout_constraints, FieldSpace handle=FieldSpace::NO_SPACE) const
 
void release_layout (MapperContext ctx, LayoutConstraintID layout_id) const
 
bool do_constraints_conflict (MapperContext ctx, LayoutConstraintID set1, LayoutConstraintID set2, const LayoutConstraint **conflict_constraint=nullptr) const
 
bool do_constraints_entail (MapperContext ctx, LayoutConstraintID source, LayoutConstraintID target, const LayoutConstraint **failed_constraint=nullptr) const
 
void find_valid_variants (MapperContext ctx, TaskID task_id, std::vector< VariantID > &valid_variants, Processor::Kind kind=Processor::NO_KIND) const
 
void find_generator_variants (MapperContext ctx, TaskID task_id, std::vector< std::pair< TaskID, VariantID > > &generator_variants, Processor::Kind kind=Processor::NO_KIND) const
 
VariantID find_or_create_variant (MapperContext ctx, TaskID task_id, const ExecutionConstraintSet &execution_constrains, const TaskLayoutConstraintSet &layout_constraints, TaskID generator_tid, VariantID generator_vid, Processor generator_processor, bool &created) const
 
const char * find_task_variant_name (MapperContext ctx, TaskID task_id, VariantID vid) const
 
bool is_leaf_variant (MapperContext ctx, TaskID task_id, VariantID variant_id) const
 
bool is_inner_variant (MapperContext ctx, TaskID task_id, VariantID variant_id) const
 
bool is_idempotent_variant (MapperContext ctx, TaskID task_id, VariantID variant_id) const
 
bool is_replicable_variant (MapperContext ctx, TaskID task_id, VariantID variant_id) const
 
template<typename T , T(*)(const Task *, const std::vector< PhysicalRegion > &, Context, Runtime *) TASK_PTR>
VariantID register_task_variant (MapperContext ctx, const TaskVariantRegistrar &registrar) const
 
template<typename T , typename UDT , T(*)(const Task *, const std::vector< PhysicalRegion > &, Context, Runtime *, const UDT &) TASK_PTR>
VariantID register_task_variant (MapperContext ctx, const TaskVariantRegistrar &registrar, const UDT &user_data) const
 
template<void(*)(const Task *, const std::vector< PhysicalRegion > &, Context, Runtime *) TASK_PTR>
VariantID register_task_variant (MapperContext ctx, const TaskVariantRegistrar &registrar) const
 
template<typename UDT , void(*)(const Task *, const std::vector< PhysicalRegion > &, Context, Runtime *, const UDT &) TASK_PTR>
VariantID register_task_variant (MapperContext ctx, const TaskVariantRegistrar &registrar, const UDT &user_data) const
 
VariantID register_task_variant (MapperContext ctx, const TaskVariantRegistrar &registrar, const CodeDescriptor &codedesc, const void *user_data=nullptr, size_t user_len=0, size_t return_type_size=LEGION_MAX_RETURN_SIZE, bool has_return_type=false) const
 
void filter_variants (MapperContext ctx, const Task &task, const std::vector< std::vector< PhysicalInstance > > &chosen_intances, std::vector< VariantID > &variants) const
 
void filter_instances (MapperContext ctx, const Task &task, VariantID chosen_variant, std::vector< std::vector< PhysicalInstance > > &instances, std::vector< std::set< FieldID > > &missing_fields) const
 
void filter_instances (MapperContext ctx, const Task &task, unsigned index, VariantID chosen_variant, std::vector< PhysicalInstance > &instances, std::set< FieldID > &missing_fields) const
 
bool create_physical_instance (MapperContext ctx, Memory target_memory, const LayoutConstraintSet &constraints, const std::vector< LogicalRegion > &regions, PhysicalInstance &result, bool acquire=true, GCPriority priority=0, bool tight_region_bounds=false, size_t *footprint=nullptr, const LayoutConstraint **unsat=nullptr) const
 
bool create_physical_instance (MapperContext ctx, Memory target_memory, LayoutConstraintID layout_id, const std::vector< LogicalRegion > &regions, PhysicalInstance &result, bool acquire=true, GCPriority priority=0, bool tight_region_bounds=false, size_t *footprint=nullptr, const LayoutConstraint **unsat=nullptr) const
 
bool find_or_create_physical_instance (MapperContext ctx, Memory target_memory, const LayoutConstraintSet &constraints, const std::vector< LogicalRegion > &regions, PhysicalInstance &result, bool &created, bool acquire=true, GCPriority priority=0, bool tight_region_bounds=false, size_t *footprint=nullptr, const LayoutConstraint **unsat=nullptr) const
 
bool find_or_create_physical_instance (MapperContext ctx, Memory target_memory, LayoutConstraintID layout_id, const std::vector< LogicalRegion > &regions, PhysicalInstance &result, bool &created, bool acquire=true, GCPriority priority=0, bool tight_region_bounds=false, size_t *footprint=nullptr, const LayoutConstraint **unsat=nullptr) const
 
bool find_physical_instance (MapperContext ctx, Memory target_memory, const LayoutConstraintSet &constraints, const std::vector< LogicalRegion > &regions, PhysicalInstance &result, bool acquire=true, bool tight_region_bounds=false) const
 
bool find_physical_instance (MapperContext ctx, Memory target_memory, LayoutConstraintID layout_id, const std::vector< LogicalRegion > &regions, PhysicalInstance &result, bool acquire=true, bool tight_region_bounds=false) const
 
void find_physical_instances (MapperContext ctx, Memory target_memory, const LayoutConstraintSet &constraints, const std::vector< LogicalRegion > &regions, std::vector< PhysicalInstance > &results, bool acquire=false, bool tight_region_bounds=false) const
 
void find_physical_instances (MapperContext ctx, Memory target_memory, LayoutConstraintID layout_id, const std::vector< LogicalRegion > &regions, std::vector< PhysicalInstance > &results, bool acquire=false, bool tight_region_bounds=false) const
 
void set_garbage_collection_priority (MapperContext ctx, const PhysicalInstance &instance, GCPriority priority) const
 
bool acquire_instance (MapperContext ctx, const PhysicalInstance &instance) const
 
bool acquire_instances (MapperContext ctx, const std::vector< PhysicalInstance > &insts) const
 
bool acquire_and_filter_instances (MapperContext ctx, std::vector< PhysicalInstance > &instances, bool filter_acquired_instance=false) const
 
bool acquire_instances (MapperContext ctx, const std::vector< std::vector< PhysicalInstance > > &instances) const
 
bool acquire_and_filter_instances (MapperContext ctx, std::vector< std::vector< PhysicalInstance > > &instances, bool filter_acquired_instances=false) const
 
void release_instance (MapperContext ctx, const PhysicalInstance &instance) const
 
void release_instances (MapperContext ctx, const std::vector< PhysicalInstance > &instances) const
 
void release_instances (MapperContext ctx, const std::vector< std::vector< PhysicalInstance > > &instances) const
 
bool subscribe (MapperContext ctx, const PhysicalInstance &instance) const
 
void unsubscribe (MapperContext ctx, const PhysicalInstance &inst) const
 
bool collect_instance (MapperContext ctx, const PhysicalInstance &inst) const
 
void collect_instances (MapperContext ctx, const std::vector< PhysicalInstance > &instances, std::vector< bool > &collected) const
 
bool redistrict_instance (MapperContext ctx, PhysicalInstance &instance, const LayoutConstraintSet &constraints, const std::vector< LogicalRegion > &regions, bool acquire=true, GCPriority priority=0, bool tight_region_bounds=false)
 
bool redistrict_instance (MapperContext ctx, PhysicalInstance &instance, LayoutConstraintID layout_id, const std::vector< LogicalRegion > &regions, bool acquire=true, GCPriority priority=0, bool tight_region_bounds=false)
 
bool acquire_future (MapperContext ctx, const Future &f, Memory mem) const
 
bool acquire_pool (MapperContext ctx, Memory memory, const PoolBounds &bounds, bool escaping=true, bool optimistic=false) const
 
void release_pool (MapperContext ctx, Memory memory, bool escaping=true)
 
IndexSpace create_index_space (MapperContext ctx, const Domain &bounds, TypeTag type_tag=0, const char *provenance=nullptr, bool take_ownership=false) const
 
template<int DIM, typename COORD_T >
IndexSpaceT< DIM, COORD_T > create_index_space (MapperContext ctx, Rect< DIM, COORD_T > bounds, const char *provenance=nullptr) const
 
IndexSpace create_index_space (MapperContext ctx, const std::vector< DomainPoint > &points, const char *provenance=nullptr) const
 
template<int DIM, typename COORD_T >
IndexSpaceT< DIM, COORD_T > create_index_space (MapperContext ctx, const std::vector< Point< DIM, COORD_T > > &points, const char *provenance=nullptr) const
 
IndexSpace create_index_space (MapperContext ctx, const std::vector< Domain > &rects, const char *provenance=nullptr) const
 
template<int DIM, typename COORD_T >
IndexSpaceT< DIM, COORD_T > create_index_space (MapperContext ctx, const std::vector< Rect< DIM, COORD_T > > &rects, const char *provenance=nullptr) const
 
IndexSpace union_index_spaces (MapperContext ctx, const std::vector< IndexSpace > &sources, const char *provenance=nullptr) const
 
template<int DIM, typename COORD_T >
IndexSpaceT< DIM, COORD_T > union_index_spaces (MapperContext ctx, const std::vector< IndexSpaceT< DIM, COORD_T > > &sources, const char *provenance=nullptr) const
 
IndexSpace intersect_index_spaces (MapperContext ctx, const std::vector< IndexSpace > &sources, const char *provenance=nullptr) const
 
template<int DIM, typename COORD_T >
IndexSpaceT< DIM, COORD_T > intersect_index_spaces (MapperContext ctx, const std::vector< IndexSpaceT< DIM, COORD_T > > &sources, const char *provenance=nullptr) const
 
IndexSpace subtract_index_spaces (MapperContext ctx, IndexSpace left, IndexSpace right, const char *provenance=nullptr) const
 
template<int DIM, typename COORD_T >
IndexSpaceT< DIM, COORD_T > subtract_index_spaces (MapperContext ctx, IndexSpaceT< DIM, COORD_T > left, IndexSpaceT< DIM, COORD_T > right, const char *provenance=nullptr) const
 
bool is_index_space_empty (MapperContext ctx, IndexSpace handle) const
 
template<int DIM, typename COORD_T >
bool is_index_space_empty (MapperContext ctx, IndexSpaceT< DIM, COORD_T > handle) const
 
bool index_spaces_overlap (MapperContext ctx, IndexSpace one, IndexSpace two) const
 
template<int DIM, typename COORD_T >
bool index_spaces_overlap (MapperContext ctx, IndexSpaceT< DIM, COORD_T > one, IndexSpaceT< DIM, COORD_T > two) const
 
bool index_space_dominates (MapperContext ctx, IndexSpace test, IndexSpace dominator) const
 
template<int DIM, typename COORD_T >
bool index_space_dominates (MapperContext ctx, IndexSpaceT< DIM, COORD_T > test, IndexSpaceT< DIM, COORD_T > dominator) const
 
bool has_index_partition (MapperContext ctx, IndexSpace parent, Color c) const
 
IndexPartition get_index_partition (MapperContext ctx, IndexSpace parent, Color color) const
 
IndexSpace get_index_subspace (MapperContext ctx, IndexPartition p, Color c) const
 
IndexSpace get_index_subspace (MapperContext ctx, IndexPartition p, const DomainPoint &color) const
 
bool has_multiple_domains (MapperContext ctx, IndexSpace handle) const
 
Domain get_index_space_domain (MapperContext ctx, IndexSpace handle) const
 
void get_index_space_domains (MapperContext ctx, IndexSpace handle, std::vector< Domain > &domains) const
 
Domain get_index_partition_color_space (MapperContext ctx, IndexPartition p) const
 
IndexSpace get_index_partition_color_space_name (MapperContext ctx, IndexPartition p) const
 
void get_index_space_partition_colors (MapperContext ctx, IndexSpace sp, std::set< Color > &colors) const
 
bool is_index_partition_disjoint (MapperContext ctx, IndexPartition p) const
 
bool is_index_partition_complete (MapperContext ctx, IndexPartition p) const
 
Color get_index_space_color (MapperContext ctx, IndexSpace handle) const
 
DomainPoint get_index_space_color_point (MapperContext ctx, IndexSpace handle) const
 
Color get_index_partition_color (MapperContext ctx, IndexPartition handle) const
 
IndexSpace get_parent_index_space (MapperContext ctx, IndexPartition handle) const
 
bool has_parent_index_partition (MapperContext ctx, IndexSpace handle) const
 
IndexPartition get_parent_index_partition (MapperContext ctx, IndexSpace handle) const
 
unsigned get_index_space_depth (MapperContext ctx, IndexSpace handle) const
 
unsigned get_index_partition_depth (MapperContext ctx, IndexPartition handle) const
 
size_t get_field_size (MapperContext ctx, FieldSpace handle, FieldID fid) const
 
void get_field_space_fields (MapperContext ctx, FieldSpace handle, std::vector< FieldID > &fields) const
 
void get_field_space_fields (MapperContext ctx, FieldSpace handle, std::set< FieldID > &fields) const
 
LogicalPartition get_logical_partition (MapperContext ctx, LogicalRegion parent, IndexPartition handle) const
 
LogicalPartition get_logical_partition_by_color (MapperContext ctx, LogicalRegion parent, Color color) const
 
LogicalPartition get_logical_partition_by_color (MapperContext ctx, LogicalRegion parent, const DomainPoint &color) const
 
LogicalPartition get_logical_partition_by_tree (MapperContext ctx, IndexPartition handle, FieldSpace fspace, RegionTreeID tid) const
 
LogicalRegion get_logical_subregion (MapperContext ctx, LogicalPartition parent, IndexSpace handle) const
 
LogicalRegion get_logical_subregion_by_color (MapperContext ctx, LogicalPartition parent, Color color) const
 
LogicalRegion get_logical_subregion_by_color (MapperContext ctx, LogicalPartition parent, const DomainPoint &color) const
 
LogicalRegion get_logical_subregion_by_tree (MapperContext ctx, IndexSpace handle, FieldSpace fspace, RegionTreeID tid) const
 
Color get_logical_region_color (MapperContext ctx, LogicalRegion handle) const
 
DomainPoint get_logical_region_color_point (MapperContext ctx, LogicalRegion handle) const
 
Color get_logical_partition_color (MapperContext ctx, LogicalPartition handle) const
 
LogicalRegion get_parent_logical_region (MapperContext ctx, LogicalPartition handle) const
 
bool has_parent_logical_partition (MapperContext ctx, LogicalRegion handle) const
 
LogicalPartition get_parent_logical_partition (MapperContext ctx, LogicalRegion handle) const
 
bool retrieve_semantic_information (MapperContext ctx, TaskID task_id, SemanticTag tag, const void *&result, size_t &size, bool can_fail=false, bool wait_until_ready=false) const
 
bool retrieve_semantic_information (MapperContext ctx, IndexSpace handle, SemanticTag tag, const void *&result, size_t &size, bool can_fail=false, bool wait_until_ready=false) const
 
bool retrieve_semantic_information (MapperContext ctx, IndexPartition handle, SemanticTag tag, const void *&result, size_t &size, bool can_fail=false, bool wait_until_ready=false) const
 
bool retrieve_semantic_information (MapperContext ctx, FieldSpace handle, SemanticTag tag, const void *&result, size_t &size, bool can_fail=false, bool wait_until_ready=false) const
 
bool retrieve_semantic_information (MapperContext ctx, FieldSpace handle, FieldID fid, SemanticTag tag, const void *&result, size_t &size, bool can_fail=false, bool wait_until_ready=false) const
 
bool retrieve_semantic_information (MapperContext ctx, LogicalRegion handle, SemanticTag tag, const void *&result, size_t &size, bool can_fail=false, bool wait_until_ready=false) const
 
bool retrieve_semantic_information (MapperContext ctx, LogicalPartition handle, SemanticTag tag, const void *&result, size_t &size, bool can_fail=false, bool wait_until_ready=false) const
 
void retrieve_name (MapperContext ctx, TaskID task_id, const char *&result) const
 
void retrieve_name (MapperContext ctx, IndexSpace handle, const char *&result) const
 
void retrieve_name (MapperContext ctx, IndexPartition handle, const char *&result) const
 
void retrieve_name (MapperContext ctx, FieldSpace handle, const char *&result) const
 
void retrieve_name (MapperContext ctx, FieldSpace handle, FieldID fid, const char *&result) const
 
void retrieve_name (MapperContext ctx, LogicalRegion handle, const char *&result) const
 
void retrieve_name (MapperContext ctx, LogicalPartition handle, const char *&result) const
 
bool is_MPI_interop_configured (MapperContext ctx) const
 
const std::map< int, AddressSpace > & find_forward_MPI_mapping (MapperContext ctx) const
 
const std::map< AddressSpace, int > & find_reverse_MPI_mapping (MapperContext ctx) const
 
int find_local_MPI_rank (MapperContext ctx) const
 
template<typename T >
void pack_tunable (const T &result, Mapper::SelectTunableOutput &output) const
 

Protected Member Functions

 MapperRuntime (Internal::Runtime *runtime)
 

Detailed Description

This class defines the set of calls that a mapper can perform as part of its execution. All the calls must be given a MapperContext which comes from the enclosing mapper call context in which the runtime method is being invoked.


The documentation for this class was generated from the following file: