Legion Runtime
Public Member Functions | Public Attributes | List of all members
Legion::MustEpochLauncher Struct Reference

#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< TaskLaunchersingle_tasks
 
std::vector< IndexTaskLauncherindex_tasks
 
Domain launch_domain
 
IndexSpace launch_space
 
IndexSpace sharding_space
 
std::string provenance
 
bool silence_warnings
 

Detailed Description

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.


The documentation for this struct was generated from the following file: