#include <mapping_utilities.h>
|
|
typedef std::map< Processor::Kind, VariantProfile > | VariantMap |
| |
|
typedef std::map< Processor::TaskFuncID, VariantMap > | TaskMap |
| |
|
typedef std::list< DomainPoint > | PointList |
| |
|
typedef std::map< Processor, PointList > | AssignmentMap |
| |
|
typedef std::map< Processor::TaskFuncID, ProfilingOption > | OptionMap |
| |
|
| void | set_needed_profiling_samples (unsigned num_samples) |
| |
|
void | set_needed_profiling_samples (Processor::TaskFuncID task_id, unsigned num_samples) |
| |
| void | set_max_profiling_samples (unsigned max_samples) |
| |
|
void | set_max_profiling_samples (Processor::TaskFuncID task_id, unsigned max_samples) |
| |
| void | set_gather_in_original_processor (Processor::TaskFuncID task_id, bool flag) |
| |
| bool | profiling_complete (const Task *task) const |
| |
|
bool | profiling_complete (const Task *task, Processor::Kind kind) const |
| |
| Processor::Kind | best_processor_kind (const Task *task) const |
| |
|
void | add_profiling_sample (Processor::TaskFuncID task_id, const Profile &sample) |
| |
|
TaskMap | get_task_profiles () const |
| |
|
VariantMap | get_variant_profiles (Processor::TaskFuncID tid) const |
| |
|
VariantProfile | get_variant_profile (Processor::TaskFuncID tid, Processor::Kind kind) const |
| |
|
void | clear_samples (Processor::TaskFuncID task_id) |
| |
|
void | clear_samples (Processor::TaskFuncID task_id, Processor::Kind kind) |
| |
| AssignmentMap | get_balanced_assignments (Processor::TaskFuncID task_id, Processor::Kind kind) const |
| |
|
AssignmentMap | get_balanced_assignments (Processor::TaskFuncID task_id) const |
| |
|
ProfilingOption | get_profiling_option (Processor::TaskFuncID tid) const |
| |
|
|
unsigned | needed_samples |
| |
|
unsigned | max_samples |
| |
|
TaskMap | task_profiles |
| |
|
OptionMap | profiling_options |
| |
The Mapping Profiler will cycle through all the different variants of the task until it has reached the required number of records for selecting the best execution kind for the processor.
◆ best_processor_kind()
| Processor::Kind Legion::Mapping::Utilities::MappingProfiler::best_processor_kind |
( |
const Task * |
task | ) |
const |
Return the processor kind for the best performing variant of this task.
◆ get_balanced_assignments()
| AssignmentMap Legion::Mapping::Utilities::MappingProfiler::get_balanced_assignments |
( |
Processor::TaskFuncID |
task_id, |
|
|
Processor::Kind |
kind |
|
) |
| const |
Return a balanced assignment of point tasks to processors by LPT (Longest-Processing Time) scheduling based on the average execution times. Assume that processors of the same kind are homogeneous and only the workload of point tasks can be skwed.
◆ profiling_complete()
| bool Legion::Mapping::Utilities::MappingProfiler::profiling_complete |
( |
const Task * |
task | ) |
const |
Check to see if profiling is complete for all the variants of this task.
◆ set_gather_in_original_processor()
| void Legion::Mapping::Utilities::MappingProfiler::set_gather_in_original_processor |
( |
Processor::TaskFuncID |
task_id, |
|
|
bool |
flag |
|
) |
| |
Set the profiling samples to be gathered in the profiler of the processor that triggered the task. By default it is false.
◆ set_max_profiling_samples()
| void Legion::Mapping::Utilities::MappingProfiler::set_max_profiling_samples |
( |
unsigned |
max_samples | ) |
|
Set the maximum number of profiling samples to keep around for any variant. By default it is 32.
◆ set_needed_profiling_samples()
| void Legion::Mapping::Utilities::MappingProfiler::set_needed_profiling_samples |
( |
unsigned |
num_samples | ) |
|
Set the required number of profiling samples required for each variant before profiling can be considered complete for that variant. The default number is one.
The documentation for this class was generated from the following file: