|
|
| ShimMapper (Machine machine, Runtime *rt, MapperRuntime *mrt, Processor local, const char *name=NULL) |
| |
|
| ShimMapper (const ShimMapper &rhs) |
| |
|
ShimMapper & | operator= (const ShimMapper &rhs) |
| |
| virtual MapperSyncModel | get_mapper_sync_model (void) const |
| |
| virtual void | select_task_options (const MapperContext ctx, const Legion::Task &task, TaskOptions &output) |
| |
| virtual void | select_task_variant (const MapperContext ctx, const Legion::Task &task, const SelectVariantInput &input, SelectVariantOutput &output) |
| |
| virtual void | map_task (const MapperContext ctx, const Legion::Task &task, const MapTaskInput &input, MapTaskOutput &output) |
| |
| virtual void | map_copy (const MapperContext ctx, const Legion::Copy ©, const MapCopyInput &input, MapCopyOutput &output) |
| |
| virtual void | map_inline (const MapperContext ctx, const InlineMapping &inline_op, const MapInlineInput &input, MapInlineOutput &output) |
| |
| virtual void | slice_task (const MapperContext ctx, const Legion::Task &task, const SliceTaskInput &input, SliceTaskOutput &output) |
| |
| virtual void | select_tunable_value (const MapperContext ctx, const Legion::Task &task, const SelectTunableInput &input, SelectTunableOutput &output) |
| |
| virtual void | handle_message (const MapperContext ctx, const MapperMessage &message) |
| |
|
virtual void | select_task_options (Task *task) |
| |
|
virtual void | select_task_variant (Task *task) |
| |
|
virtual bool | map_task (Task *task) |
| |
|
virtual bool | map_copy (Copy *copy) |
| |
|
virtual bool | map_inline (Inline *inline_operation) |
| |
|
virtual void | notify_mapping_result (const Mappable *mappable) |
| |
|
virtual void | notify_mapping_failed (const Mappable *mappable) |
| |
|
virtual void | slice_domain (const Task *task, const Domain &domain, std::vector< DomainSplit > &slices) |
| |
|
virtual void | handle_message (Processor source, const void *message, size_t length) |
| |
|
virtual int | get_tunable_value (const Task *task, TunableID tid, MappingTagID tag) |
| |
|
| DefaultMapper (MapperRuntime *rt, Machine machine, Processor local, const char *mapper_name=NULL, bool own_name=false) |
| |
|
| DefaultMapper (const DefaultMapper &rhs) |
| |
|
DefaultMapper & | operator= (const DefaultMapper &rhs) |
| |
| const char * | get_mapper_name (void) const override |
| |
| void | premap_task (const MapperContext ctx, const Task &task, const PremapTaskInput &input, PremapTaskOutput &output) override |
| |
| void | replicate_task (MapperContext ctx, const Task &task, const ReplicateTaskInput &input, ReplicateTaskOutput &output) override |
| |
|
virtual void | map_replicate_task (const MapperContext ctx, const Task &task, const MapTaskInput &input, const MapTaskOutput &default_output, MapReplicateTaskOutput &output) |
| |
| void | postmap_task (const MapperContext ctx, const Task &task, const PostMapInput &input, PostMapOutput &output) override |
| |
| void | select_task_sources (const MapperContext ctx, const Task &task, const SelectTaskSrcInput &input, SelectTaskSrcOutput &output) override |
| |
| void | report_profiling (const MapperContext ctx, const Task &task, const TaskProfilingInfo &input) override |
| |
| void | select_sharding_functor (const MapperContext ctx, const Task &task, const SelectShardingFunctorInput &input, SelectShardingFunctorOutput &output) override |
| |
| void | select_inline_sources (const MapperContext ctx, const InlineMapping &inline_op, const SelectInlineSrcInput &input, SelectInlineSrcOutput &output) override |
| |
| void | report_profiling (const MapperContext ctx, const InlineMapping &inline_op, const InlineProfilingInfo &input) override |
| |
| void | select_copy_sources (const MapperContext ctx, const Copy ©, const SelectCopySrcInput &input, SelectCopySrcOutput &output) override |
| |
| void | report_profiling (const MapperContext ctx, const Copy ©, const CopyProfilingInfo &input) override |
| |
| void | select_sharding_functor (const MapperContext ctx, const Copy ©, const SelectShardingFunctorInput &input, SelectShardingFunctorOutput &output) override |
| |
| void | select_close_sources (const MapperContext ctx, const Close &close, const SelectCloseSrcInput &input, SelectCloseSrcOutput &output) override |
| |
| void | report_profiling (const MapperContext ctx, const Close &close, const CloseProfilingInfo &input) override |
| |
| void | select_sharding_functor (const MapperContext ctx, const Close &close, const SelectShardingFunctorInput &input, SelectShardingFunctorOutput &output) override |
| |
| void | map_acquire (const MapperContext ctx, const Acquire &acquire, const MapAcquireInput &input, MapAcquireOutput &output) override |
| |
| void | report_profiling (const MapperContext ctx, const Acquire &acquire, const AcquireProfilingInfo &input) override |
| |
| void | select_sharding_functor (const MapperContext ctx, const Acquire &acquire, const SelectShardingFunctorInput &input, SelectShardingFunctorOutput &output) override |
| |
| void | map_release (const MapperContext ctx, const Release &release, const MapReleaseInput &input, MapReleaseOutput &output) override |
| |
| void | select_release_sources (const MapperContext ctx, const Release &release, const SelectReleaseSrcInput &input, SelectReleaseSrcOutput &output) override |
| |
| void | report_profiling (const MapperContext ctx, const Release &release, const ReleaseProfilingInfo &input) override |
| |
| void | select_sharding_functor (const MapperContext ctx, const Release &release, const SelectShardingFunctorInput &input, SelectShardingFunctorOutput &output) override |
| |
| void | select_partition_projection (const MapperContext ctx, const Partition &partition, const SelectPartitionProjectionInput &input, SelectPartitionProjectionOutput &output) override |
| |
| void | map_partition (const MapperContext ctx, const Partition &partition, const MapPartitionInput &input, MapPartitionOutput &output) override |
| |
| void | select_partition_sources (const MapperContext ctx, const Partition &partition, const SelectPartitionSrcInput &input, SelectPartitionSrcOutput &output) override |
| |
| void | report_profiling (const MapperContext ctx, const Partition &partition, const PartitionProfilingInfo &input) override |
| |
| void | select_sharding_functor (const MapperContext ctx, const Partition &partition, const SelectShardingFunctorInput &input, SelectShardingFunctorOutput &output) override |
| |
| void | select_sharding_functor (const MapperContext ctx, const Fill &fill, const SelectShardingFunctorInput &input, SelectShardingFunctorOutput &output) override |
| |
| void | configure_context (const MapperContext ctx, const Task &task, ContextConfigOutput &output) override |
| |
| void | select_sharding_functor (const MapperContext ctx, const MustEpoch &epoch, const SelectShardingFunctorInput &input, MustEpochShardingFunctorOutput &output) override |
| |
| void | map_must_epoch (const MapperContext ctx, const MapMustEpochInput &input, MapMustEpochOutput &output) override |
| |
| void | map_dataflow_graph (const MapperContext ctx, const MapDataflowGraphInput &input, MapDataflowGraphOutput &output) override |
| |
| void | memoize_operation (const MapperContext ctx, const Mappable &mappable, const MemoizeInput &input, MemoizeOutput &output) override |
| |
| void | select_tasks_to_map (const MapperContext ctx, const SelectMappingInput &input, SelectMappingOutput &output) override |
| |
| void | select_steal_targets (const MapperContext ctx, const SelectStealingInput &input, SelectStealingOutput &output) override |
| |
| void | permit_steal_request (const MapperContext ctx, const StealRequestInput &input, StealRequestOutput &output) override |
| |
| void | handle_task_result (const MapperContext ctx, const MapperTaskResult &result) override |
| |
|
virtual Processor | default_policy_select_initial_processor (MapperContext ctx, const Task &task) |
| |
|
virtual void | default_policy_select_target_processors (MapperContext ctx, const Task &task, std::vector< Processor > &target_procs) |
| |
|
virtual TaskPriority | default_policy_select_task_priority (MapperContext ctx, const Task &task) |
| |
|
virtual CachedMappingPolicy | default_policy_select_task_cache_policy (MapperContext ctx, const Task &task) |
| |
|
virtual bool | default_policy_select_must_epoch_processors (MapperContext ctx, const std::vector< std::set< const Task * > > &tasks, Processor::Kind proc_kind, std::map< const Task *, Processor > &target_procs) |
| |
|
virtual void | default_policy_rank_processor_kinds (MapperContext ctx, const Task &task, std::vector< Processor::Kind > &ranking) |
| |
|
virtual VariantID | default_policy_select_best_variant (MapperContext ctx, const Task &task, Processor::Kind kind, VariantID vid1, VariantID vid2, const ExecutionConstraintSet &execution1, const ExecutionConstraintSet &execution2, const TaskLayoutConstraintSet &layout1, const TaskLayoutConstraintSet &layout2) |
| |
|
virtual Memory | default_policy_select_target_memory (MapperContext ctx, Processor target_proc, const RegionRequirement &req, MemoryConstraint mc=MemoryConstraint()) |
| |
|
virtual Memory | default_policy_select_output_target (MapperContext ctx, Processor target_proc) |
| |
|
virtual LayoutConstraintID | default_policy_select_layout_constraints (MapperContext ctx, Memory target_memory, const RegionRequirement &req, MappingKind mapping_kind, bool needs_field_constraint_check, bool &force_new_instances) |
| |
|
virtual void | default_policy_select_constraints (MapperContext ctx, LayoutConstraintSet &constraints, Memory target_memory, const RegionRequirement &req) |
| |
|
virtual void | default_policy_select_output_constraints (const Task &task, LayoutConstraintSet &constraints, const RegionRequirement &req) |
| |
|
virtual Memory | default_policy_select_constrained_instance_constraints (MapperContext ctx, const std::vector< const Task * > &tasks, const std::vector< unsigned > &req_indexes, const std::vector< Processor > &target_procs, const std::set< LogicalRegion > &needed_regions, const std::set< FieldID > &needed_fields, LayoutConstraintSet &constraints) |
| |
|
virtual void | default_policy_select_constraint_fields (MapperContext ctx, const RegionRequirement &req, std::vector< FieldID > &fields) |
| |
|
virtual LogicalRegion | default_policy_select_instance_region (MapperContext ctx, Memory target_memory, const RegionRequirement &req, const LayoutConstraintSet &constraints, bool force_new_instances, bool meets_constraints) |
| |
|
virtual void | default_policy_select_instance_fields (MapperContext ctx, const RegionRequirement &req, const std::set< FieldID > &needed_fields, std::vector< FieldID > &fields) |
| |
|
virtual int | default_policy_select_garbage_collection_priority (MapperContext ctx, MappingKind kind, Memory memory, const PhysicalInstance &instance, bool meets_fill_constraints, bool reduction) |
| |
|
virtual void | default_policy_select_sources (MapperContext, const PhysicalInstance &target, const std::vector< PhysicalInstance > &source, std::deque< PhysicalInstance > &ranking) |
| |
|
virtual bool | default_policy_select_close_virtual (const MapperContext ctx, const Close &close) |
| |
|
virtual bool | default_policy_select_reduction_instance_reuse (const MapperContext ctx) |
| |
|
| Mapper (MapperRuntime *rt) |
| |
| virtual bool | request_valid_instances (void) const |
| |
|
virtual void | map_future_map_reduction (MapperContext ctx, const FutureMapReductionInput &input, FutureMapReductionOutput &output) |
| |
| virtual void | handle_instance_collection (const MapperContext ctx, const PhysicalInstance &inst) |
| |
|
|
Color | get_logical_region_color (LogicalRegion handle) |
| |
|
bool | has_parent_logical_partition (LogicalRegion handle) |
| |
|
LogicalPartition | get_parent_logical_partition (LogicalRegion handle) |
| |
|
LogicalRegion | get_parent_logical_region (LogicalPartition handle) |
| |
|
void | get_field_space_fields (FieldSpace handle, std::set< FieldID > &fields) |
| |
|
void | broadcast_message (const void *message, size_t message_size) |
| |
|
TaskVariantCollection * | find_task_variant_collection (MapperContext ctx, TaskID task_id, const char *task_name) |
| |
|
void | initialize_requirement_mapping_fields (RegionRequirement &req, const std::vector< PhysicalInstance > &instances) |
| |
|
bool | convert_requirement_mapping (MapperContext ctx, RegionRequirement &req, std::vector< PhysicalInstance > &result) |
| |
|
void | initialize_aos_constraints (LayoutConstraintSet &constraints, const std::set< FieldID > &fields, ReductionOpID redop) |
| |
|
void | initialize_soa_constraints (LayoutConstraintSet &constraints, const std::set< FieldID > &fields, ReductionOpID redop) |
| |
|
long | default_generate_random_integer (void) const |
| |
|
double | default_generate_random_real (void) const |
| |
|
Processor | default_select_random_processor (const std::vector< Processor > &procs) const |
| |
|
Processor | default_get_next_local_cpu (void) |
| |
|
Processor | default_get_next_global_cpu (void) |
| |
|
Processor | default_get_next_local_gpu (void) |
| |
|
Processor | default_get_next_global_gpu (void) |
| |
|
Processor | default_get_next_local_io (void) |
| |
|
Processor | default_get_next_global_io (void) |
| |
|
Processor | default_get_next_local_py (void) |
| |
|
Processor | default_get_next_global_py (void) |
| |
|
Processor | default_get_next_local_procset (void) |
| |
|
Processor | default_get_next_global_procset (void) |
| |
|
Processor | default_get_next_local_omp (void) |
| |
|
Processor | default_get_next_global_omp (void) |
| |
|
VariantInfo | default_find_preferred_variant (const Task &task, MapperContext ctx, bool needs_tight_bound, bool cache=true, Processor::Kind kind=Processor::NO_KIND) |
| |
|
void | default_slice_task (const Task &task, const std::vector< Processor > &local_procs, const std::vector< Processor > &remote_procs, const SliceTaskInput &input, SliceTaskOutput &output, std::map< Domain, std::vector< TaskSlice > > &cached_slices) const |
| |
|
bool | default_create_custom_instances (MapperContext ctx, Processor target, Memory target_memory, const RegionRequirement &req, unsigned index, std::set< FieldID > &needed_fields, const TaskLayoutConstraintSet &layout_constraints, bool needs_field_constraint_check, std::vector< PhysicalInstance > &instances, size_t *footprint=NULL) |
| |
|
bool | default_make_instance (MapperContext ctx, Memory target_memory, const LayoutConstraintSet &constraints, PhysicalInstance &result, MappingKind kind, bool force_new, bool meets, const RegionRequirement &req, size_t *footprint=NULL) |
| |
|
void | default_report_failed_instance_creation (const Task &task, unsigned index, Processor target_proc, Memory target_memory, size_t footprint=0) const |
| |
|
void | default_remove_cached_task (MapperContext ctx, VariantID variant, unsigned long long task_hash, const std::pair< TaskID, Processor > &cache_key, const std::vector< std::vector< PhysicalInstance > > &post_filter) |
| |
|
template<bool IS_SRC> |
| void | default_create_copy_instance (MapperContext ctx, const Copy ©, const RegionRequirement &req, unsigned index, std::vector< PhysicalInstance > &instances) |
| |
|
LogicalRegion | default_find_common_ancestor (MapperContext ctx, const std::set< LogicalRegion > ®ions) |
| |
|
bool | have_proc_kind_variant (const MapperContext ctx, TaskID id, Processor::Kind kind) |
| |
|
const std::vector< Processor > & | local_procs_by_kind (Processor::Kind kind) |
| |
|
const std::vector< Processor > & | remote_procs_by_kind (Processor::Kind kind) |
| |
|
MemoryConstraint | find_memory_constraint (const MapperContext ctx, const Task &task, VariantID vid, unsigned index) |
| |
|
|
MapperRuntime *const | mapper_runtime |
| |
|
const Processor::Kind | local_kind |
| |
|
const Machine | machine |
| |
|
Runtime *const | runtime |
| |
|
unsigned | max_steals_per_theft |
| |
|
unsigned | max_steal_count |
| |
|
unsigned | splitting_factor |
| |
|
bool | breadth_first_traversal |
| |
|
bool | war_enabled |
| |
|
bool | stealing_enabled |
| |
|
unsigned | max_schedule_count |
| |
|
unsigned | max_failed_mappings |
| |
|
std::map< UniqueID, unsigned > | failed_mappings |
| |
|
Utilities::MachineQueryInterface | machine_interface |
| |
|
Utilities::MappingMemoizer | memoizer |
| |
|
Utilities::MappingProfiler | profiler |
| |
|
std::map< TaskID, TaskVariantCollection * > | task_variant_collections |
| |
|
const Processor | local_proc |
| |
|
const Processor::Kind | local_kind |
| |
|
const AddressSpace | node_id |
| |
|
const Machine | machine |
| |
|
const char *const | mapper_name |
| |
|
unsigned short | random_number_generator [3] |
| |
|
unsigned | total_nodes |
| |
|
std::vector< Processor > | local_gpus |
| |
|
std::vector< Processor > | local_cpus |
| |
|
std::vector< Processor > | local_ios |
| |
|
std::vector< Processor > | local_procsets |
| |
|
std::vector< Processor > | local_omps |
| |
|
std::vector< Processor > | local_pys |
| |
|
std::vector< Processor > | remote_gpus |
| |
|
std::vector< Processor > | remote_cpus |
| |
|
std::vector< Processor > | remote_ios |
| |
|
std::vector< Processor > | remote_procsets |
| |
|
std::vector< Processor > | remote_omps |
| |
|
std::vector< Processor > | remote_pys |
| |
|
bool | multipleNumaDomainsPresent = false |
| |
|
unsigned | next_local_gpu |
| |
|
unsigned | next_local_cpu |
| |
|
unsigned | next_local_io |
| |
|
unsigned | next_local_procset |
| |
|
unsigned | next_local_omp |
| |
|
unsigned | next_local_py |
| |
|
Processor | next_global_gpu |
| |
|
Processor | next_global_cpu |
| |
|
Processor | next_global_io |
| |
|
Processor | next_global_procset |
| |
|
Processor | next_global_omp |
| |
|
Processor | next_global_py |
| |
|
Machine::ProcessorQuery * | global_gpu_query |
| |
|
Machine::ProcessorQuery * | global_cpu_query |
| |
|
Machine::ProcessorQuery * | global_io_query |
| |
|
Machine::ProcessorQuery * | global_procset_query |
| |
|
Machine::ProcessorQuery * | global_omp_query |
| |
|
Machine::ProcessorQuery * | global_py_query |
| |
|
std::map< Domain, std::vector< TaskSlice > > | gpu_slices_cache |
| |
|
std::map< Domain, std::vector< TaskSlice > > | cpu_slices_cache |
| |
|
std::map< Domain, std::vector< TaskSlice > > | io_slices_cache |
| |
|
std::map< Domain, std::vector< TaskSlice > > | procset_slices_cache |
| |
|
std::map< Domain, std::vector< TaskSlice > > | omp_slices_cache |
| |
|
std::map< Domain, std::vector< TaskSlice > > | py_slices_cache |
| |
|
std::map< std::pair< TaskID, Processor::Kind >, VariantInfo > | preferred_variants |
| |
|
std::map< std::pair< TaskID, Processor >, std::list< CachedTaskMapping > > | cached_task_mappings |
| |
|
std::map< std::pair< Memory::Kind, FieldSpace >, LayoutConstraintID > | layout_constraint_cache |
| |
|
std::map< std::pair< Memory::Kind, ReductionOpID >, LayoutConstraintID > | reduction_constraint_cache |
| |
|
std::map< Processor, Memory > | cached_target_memory |
| |
|
std::map< Processor, Memory > | cached_rdma_target_memory |
| |
|
unsigned | max_steals_per_theft |
| |
|
unsigned | max_steal_count |
| |
|
bool | breadth_first_traversal |
| |
|
bool | stealing_enabled |
| |
|
unsigned | max_schedule_count |
| |
|
bool | memoize |
| |
|
bool | map_locally |
| |
|
bool | exact_region |
| |
|
bool | replication_enabled |
| |
|
bool | same_address_space |
| |
The shim mapper class provides some backwards compatibility to the old mapper interface for existing mappers. It is not designed to be particularly fast (lots of translation by copying). The support for old mapper methods is not complete. Only commonly used old mapper calls are currently implemented. If there is one that you used to use, but is not currently implemented please feel free to add it. Note that when using the ShimMapper only old maper calls should be overloaded. Overloading new mapper calls will result in undefined behavior.