|
Legion Runtime
|
#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 ®istrar) 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 ®istrar, 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 ®istrar) 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 ®istrar, const UDT &user_data) const |
| VariantID | register_task_variant (MapperContext ctx, const TaskVariantRegistrar ®istrar, 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 > ®ions, 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 > ®ions, 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 > ®ions, 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 > ®ions, 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 > ®ions, 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 > ®ions, 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 > ®ions, 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 > ®ions, 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 > ®ions, 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 > ®ions, 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) | |
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.