|
Legion Runtime
|
#include <forwarding_mapper.h>
Public Member Functions | |
| ForwardingMapper (Mapper *mapper) | |
| const char * | get_mapper_name () const override |
| MapperSyncModel | get_mapper_sync_model () const override |
| bool | request_valid_instances () const override |
| void | select_task_options (const MapperContext ctx, const Task &task, TaskOptions &output) override |
| void | premap_task (const MapperContext ctx, const Task &task, const PremapTaskInput &input, PremapTaskOutput &output) override |
| void | slice_task (const MapperContext ctx, const Task &task, const SliceTaskInput &input, SliceTaskOutput &output) override |
| void | map_task (const MapperContext ctx, const Task &task, const MapTaskInput &input, MapTaskOutput &output) override |
| void | select_task_variant (const MapperContext ctx, const Task &task, const SelectVariantInput &input, SelectVariantOutput &output) override |
| 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 | map_inline (const MapperContext ctx, const InlineMapping &inline_op, const MapInlineInput &input, MapInlineOutput &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 | map_copy (const MapperContext ctx, const Copy ©, const MapCopyInput &input, MapCopyOutput &output) 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_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 | 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 | 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_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 | configure_context (const MapperContext ctx, const Task &task, ContextConfigOutput &output) override |
| void | select_tunable_value (const MapperContext ctx, const Task &task, const SelectTunableInput &input, SelectTunableOutput &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 &intput, StealRequestOutput &output) override |
| void | handle_message (const MapperContext ctx, const MapperMessage &message) override |
| void | handle_task_result (const MapperContext ctx, const MapperTaskResult &result) override |
| void | replicate_task (MapperContext ctx, const Task &task, const ReplicateTaskInput &input, ReplicateTaskOutput &output) override |
| void | select_sharding_functor (const MapperContext ctx, const Task &task, const SelectShardingFunctorInput &input, SelectShardingFunctorOutput &output) override |
| void | select_sharding_functor (const MapperContext ctx, const Copy ©, const SelectShardingFunctorInput &input, SelectShardingFunctorOutput &output) override |
| void | select_sharding_functor (const MapperContext ctx, const Close &close, const SelectShardingFunctorInput &input, SelectShardingFunctorOutput &output) override |
| void | select_sharding_functor (const MapperContext ctx, const Acquire &acquire, const SelectShardingFunctorInput &input, SelectShardingFunctorOutput &output) override |
| void | select_sharding_functor (const MapperContext ctx, const Release &release, const SelectShardingFunctorInput &input, SelectShardingFunctorOutput &output) 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 | select_sharding_functor (const MapperContext ctx, const MustEpoch &epoch, const SelectShardingFunctorInput &input, MustEpochShardingFunctorOutput &output) override |
Public Member Functions inherited from Legion::Mapping::Mapper | |
| Mapper (MapperRuntime *rt) | |
| virtual void | map_future_map_reduction (MapperContext ctx, const FutureMapReductionInput &input, FutureMapReductionOutput &output) |
| virtual void | handle_instance_collection (const MapperContext ctx, const PhysicalInstance &inst) |
Protected Attributes | |
| Mapper *const | mapper |
Additional Inherited Members | |
Public Types inherited from Legion::Mapping::Mapper | |
| enum | MapperSyncModel { CONCURRENT_MAPPER_MODEL , SERIALIZED_REENTRANT_MAPPER_MODEL , SERIALIZED_NON_REENTRANT_MAPPER_MODEL } |
Public Attributes inherited from Legion::Mapping::Mapper | |
| MapperRuntime *const | runtime |
Forwards all calls to another mapper. This is useful as a base class for building mappers that selectively wrap certain calls, without interfering with the operation of the underlying mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Specify a name that the runtime can use for referring to this mapper. This will primarily be used for providing helpful error messages so semantically meaningful names are encouraged. This mapper call must be immutable as it may be made before the synchronization model has been chosen.
Implements Legion::Mapping::Mapper.
Reimplemented in Legion::Mapping::LoggingWrapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Indicate whether the runtime should populate the valid instances as inputs for mapping operations. This will control the setting for all operations that are not tasks. For tasks, this will just set the initial value of 'valid_instances' in the select_task_options struct as we give mappers more control over needing valid inputs for tasks than generic operations at the moment. We provide a default implementation of this method because older versions of the runtime would always fill in this data structure, however, we now allow mappers to disable this in order to reduce the cost of physical analysis done for mapping operations.
Reimplemented from Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
This mapper call is invoked whenever the enclosing parent task for the acquire being launched has been control replicated and it's up to the mapper for this task to pick a sharding functor to determine which shard will own the point(s) of the acquire . The mapper must return the same sharding functor for all instances of the acquire. The runtime will verify this in debug mode but not in release mode.
Implements Legion::Mapping::Mapper.
Reimplemented in Legion::Mapping::LoggingWrapper.
|
overridevirtual |
This mapper call is invoked whenever the enclosing parent task for the close being launched has been control replicated and it's up to the mapper for this task to pick a sharding functor to determine which shard will own the point(s) of the close. The mapper must return the same sharding functor for all instances of the close. The runtime will verify this in debug mode but not in release mode.
Implements Legion::Mapping::Mapper.
Reimplemented in Legion::Mapping::LoggingWrapper.
|
overridevirtual |
This mapper call is invoked whenever the enclosing parent task for the copy being launched has been control replicated and it's up to the mapper for this copy to pick a sharding functor to determine which shard will own the point(s) of the copy. The mapper must return the same sharding functor for all instances of the copy. The runtime will verify this in debug mode but not in release mode.
Implements Legion::Mapping::Mapper.
Reimplemented in Legion::Mapping::LoggingWrapper, and Legion::Mapping::LoggingWrapper.
|
overridevirtual |
This mapper call is invoked whenever the enclosing parent task for the fill being launched has been control replicated and it's up to the mapper for this task to pick a sharding functor to determine which shard will own the points of the fill. The mapper must return the same sharding functor for all instances of the fill. The runtime will verify this in debug mode but not in release mode.
Implements Legion::Mapping::Mapper.
Reimplemented in Legion::Mapping::LoggingWrapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
This mapper call is invoked whenever the enclosing parent task for the partition being launched has been control replicated and it's up to the mapper for this task to pick a sharding functor to determine which shard will own the point(s) of the partition. The mapper must return the same sharding functor for all instances of the partition. The runtime will verify this in debug mode but not in release mode.
Implements Legion::Mapping::Mapper.
Reimplemented in Legion::Mapping::LoggingWrapper.
|
overridevirtual |
This mapper call is invoked whenever the enclosing parent task for the release being launched has been control replicated and it's up to the mapper for this task to pick a sharding functor to determine which shard will own the point(s) of the release. The mapper must return the same sharding functor for all instances of the release. The runtime will verify this in debug mode but not in release mode.
Implements Legion::Mapping::Mapper.
Reimplemented in Legion::Mapping::LoggingWrapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.
|
overridevirtual |
Implements Legion::Mapping::Mapper.