16#ifndef __REPLAY_MAPPER_H__
17#define __REPLAY_MAPPER_H__
46 creating_instance(
false), instance_valid(
false) { }
50 void create_instance(
MapperRuntime *runtime, MapperContext ctx,
52 void record_created_instance(
MapperRuntime *runtime, MapperContext ctx,
55 MapperContext ctx,
bool first);
57 unsigned long original_id;
64 std::vector<std::vector<DomainPoint> > region_paths;
67 bool creating_instance;
73 void map_requirement(
MapperRuntime *runtime, MapperContext ctx,
74 LogicalRegion handle, std::vector<PhysicalInstance> &targets);
76 std::vector<InstanceInfo*> instances;
80 void set_tunable(
void *&value,
size_t &size);
82 unsigned tunable_size;
89 UniqueID original_unique_id;
90 Processor target_proc;
92 TaskPriority priority;
93 unsigned next_tunable;
95 std::vector<RequirementMapping*> mappings;
96 std::map<unsigned,RequirementMapping*> postmappings;
97 std::vector<TunableMapping*> tunables;
98 std::vector<UniqueID> operation_ids;
99 std::vector<UniqueID> close_ids;
107 std::vector<RequirementMapping*> src_mappings;
108 std::vector<RequirementMapping*> dst_mappings;
118 enum ReplayMessageKind {
120 INSTANCE_MAPPING_MESSAGE,
121 CREATE_INSTANCE_MESSAGE,
122 INSTANCE_CREATION_MESSAGE,
123 DECREMENT_USE_MESSAGE,
127 const char *replay_file,
const char *mapper_name = NULL);
133 static const char* create_replay_name(Processor p);
138 void select_task_options(
const MapperContext ctx,
141 void premap_task(
const MapperContext ctx,
145 void slice_task(
const MapperContext ctx,
149 void map_task(
const MapperContext ctx,
153 void replicate_task(MapperContext ctx,
157 void select_task_variant(
const MapperContext ctx,
161 void postmap_task(
const MapperContext ctx,
165 void select_task_sources(
const MapperContext ctx,
169 void report_profiling(
const MapperContext ctx,
172 void select_sharding_functor(
173 const MapperContext ctx,
178 void map_inline(
const MapperContext ctx,
182 void select_inline_sources(
const MapperContext ctx,
186 void report_profiling(
const MapperContext ctx,
190 void map_copy(
const MapperContext ctx,
194 void select_copy_sources(
const MapperContext ctx,
198 void report_profiling(
const MapperContext ctx,
202 const MapperContext ctx,
207 void select_close_sources(
const MapperContext ctx,
211 void report_profiling(
const MapperContext ctx,
215 const MapperContext ctx,
220 void map_acquire(
const MapperContext ctx,
224 void report_profiling(
const MapperContext ctx,
228 const MapperContext ctx,
233 void map_release(
const MapperContext ctx,
237 void select_release_sources(
const MapperContext ctx,
241 void report_profiling(
const MapperContext ctx,
245 const MapperContext ctx,
250 void select_partition_projection(
const MapperContext ctx,
254 void map_partition(
const MapperContext ctx,
258 void select_partition_sources(
259 const MapperContext ctx,
263 void report_profiling(
const MapperContext ctx,
267 const MapperContext ctx,
273 const MapperContext ctx,
278 void configure_context(
const MapperContext ctx,
281 void select_tunable_value(
const MapperContext ctx,
286 void select_sharding_functor(
287 const MapperContext ctx,
291 void map_must_epoch(
const MapperContext ctx,
295 void map_dataflow_graph(
const MapperContext ctx,
299 void memoize_operation(
const MapperContext ctx,
304 void select_tasks_to_map(
const MapperContext ctx,
307 void select_steal_targets(
const MapperContext ctx,
310 void permit_steal_request(
const MapperContext ctx,
314 void handle_message(
const MapperContext ctx,
316 void handle_task_result(
const MapperContext ctx,
319 unsigned long find_original_instance_id(MapperContext ctx,
320 unsigned long current_id);
321 void update_original_instance_id(MapperContext ctx,
322 unsigned long current_id,
unsigned long original_id);
344 static inline void ignore_result(T arg) { }
346 const Machine machine;
347 const Processor local_proc;
348 const char *
const mapper_name;
350 std::map<unsigned long,InstanceInfo*> instance_infos;
351 std::map<std::pair<UniqueID,
DomainPoint>,TaskMappingInfo*>
353 std::map<UniqueID,InlineMappingInfo*> inline_mappings;
354 std::map<UniqueID,CopyMappingInfo*> copy_mappings;
355 std::map<UniqueID,CloseMappingInfo*> close_mappings;
356 std::map<UniqueID,ReleaseMappingInfo*> release_mappings;
358 UniqueID top_level_id;
359 std::map<UniqueID,UniqueID> original_mappings;
362 std::map<
unsigned long,
unsigned long>
364 std::map<
unsigned long,
MapperEvent> pending_instance_ids;
Definition constraints.h:881
MapperSyncModel
Definition mapping.h:678
Definition mapping.h:2458
Definition replay_mapper.h:41
void select_sharding_functor(const MapperContext ctx, const Release &release, 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 Close &close, 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 Copy ©, const SelectShardingFunctorInput &input, SelectShardingFunctorOutput &output) override
void select_sharding_functor(const MapperContext ctx, const Partition &partition, const SelectShardingFunctorInput &input, SelectShardingFunctorOutput &output) override
const char * get_mapper_name(void) const override
Definition accessors.h:29
Definition mapping.h:1665
Definition mapping.h:1598
Definition mapping.h:2115
Definition mapping.h:1503
Definition mapping.h:1341
Definition mapping.h:1640
Definition mapping.h:1413
Definition mapping.h:2267
Definition mapping.h:1275
Definition mapping.h:2248
Definition mapping.h:1864
Definition mapping.h:1710
Definition mapping.h:1004
Definition mapping.h:2403
Definition mapping.h:2426
Definition mapping.h:2286
Definition mapping.h:2192
Definition mapping.h:1931
Definition mapping.h:1131
Definition mapping.h:1136
Definition mapping.h:1771
Definition mapping.h:1065
Definition mapping.h:1562
Definition mapping.h:1466
Definition mapping.h:1307
Definition mapping.h:2322
Definition mapping.h:1826
Definition mapping.h:1896
Definition mapping.h:1738
Definition mapping.h:1238
Definition mapping.h:2353
Definition mapping.h:1166
Definition mapping.h:2162
Definition mapping.h:1103
Definition mapping.h:2381
Definition mapping.h:1208
Definition replay_mapper.h:110
Definition replay_mapper.h:105
Definition replay_mapper.h:101
Definition replay_mapper.h:43
Definition replay_mapper.h:114
Definition replay_mapper.h:71
Definition replay_mapper.h:85
Definition replay_mapper.h:78