Legion Runtime
|
#include <legion.h>
Public Member Functions | |
MustEpochLauncher (MapperID id=0, MappingTagID tag=0) | |
void | add_single_task (const DomainPoint &point, const TaskLauncher &launcher) |
void | add_index_task (const IndexTaskLauncher &launcher) |
Public Attributes | |
MapperID | map_id |
MappingTagID | mapping_tag |
std::vector< TaskLauncher > | single_tasks |
std::vector< IndexTaskLauncher > | index_tasks |
Domain | launch_domain |
IndexSpace | launch_space |
IndexSpace | sharding_space |
std::string | provenance |
bool | silence_warnings |
This is a meta-launcher object which contains other launchers. The purpose of this meta-launcher is to guarantee that all of the operations specified in this launcher be guaranteed to run simultaneously. This enables the use of synchronization mechanisms such as phase barriers and reservations between these operations without concern for deadlock. If any condition is detected that will prevent simultaneous parallel execution of the operations the runtime will report an error. These conditions include true data dependences on regions as well as cases where mapping decisions artificially serialize operations such as two tasks being mapped to the same processor.