Legion Runtime
|
#include <legion.h>
Public Member Functions | |
FutureMap (const FutureMap &map) | |
FutureMap (FutureMap &&map) noexcept | |
bool | exists (void) const |
bool | operator== (const FutureMap &f) const |
bool | operator< (const FutureMap &f) const |
Future | operator[] (const DomainPoint &point) const |
FutureMap & | operator= (const FutureMap &f) |
FutureMap & | operator= (FutureMap &&f) noexcept |
std::size_t | hash (void) const |
template<typename T > | |
T | get_result (const DomainPoint &point, bool silence_warnings=false, const char *warning_string=NULL) const |
Future | get_future (const DomainPoint &point) const |
void | get_void_result (const DomainPoint &point, bool silence_warnings=false, const char *warning_string=NULL) const |
template<typename RT , typename PT , unsigned DIM> | |
RT | get_result (const PT point[DIM]) const |
template<typename PT , unsigned DIM> | |
Future | get_future (const PT point[DIM]) const |
template<typename PT , unsigned DIM> | |
void | get_void_result (const PT point[DIM]) const |
void | wait_all_results (bool silence_warnings=false, const char *warning_string=NULL) const |
Domain | get_future_map_domain (void) const |
![]() | |
size_t | legion_buffer_size (void) |
size_t | legion_serialize (void *buffer) |
size_t | legion_deserialize (const void *buffer) |
Protected Member Functions | |
FRIEND_ALL_RUNTIME_CLASSES | FutureMap (Internal::FutureMapImpl *impl) |
Future maps are the values returned from asynchronous index space task launches. Future maps store futures for each of the points in the index space launch. The application can either wait for a point or choose to extract a future for the given point which will be filled in when the task for that point completes.
Future maps are handles that can be passes by value or stored in data structures. However, future maps should not escape the context in which they are created as the runtime garbage collects them after the enclosing task context completes execution.
Future Legion::FutureMap::get_future | ( | const DomainPoint & | point | ) | const |
Non-blocking call that will return a future that will contain the value from the given index task point when it completes.
point | the point task to wait for |
|
inline |
An older method for getting a future corresponding to a point in an index task launch. This call is non-blocking and actually waiting for the task to complete will necessitate waiting on the future.
point | the index task point to get the future for |
Domain Legion::FutureMap::get_future_map_domain | ( | void | ) | const |
This method will return the domain of points that can be used to index into this future map.
|
inline |
Block until we can return the result for the task executing for the given domain point.
point | the point task to wait for |
silence_warnings | silence any warnings for this blocking call |
warning_string | a string to be reported with any warnings |
|
inline |
An older method for getting the result of a point in an index space launch that is maintained for backwards compatibility.
point | the index task point to get the return value from |
void Legion::FutureMap::get_void_result | ( | const DomainPoint & | point, |
bool | silence_warnings = false , |
||
const char * | warning_string = NULL |
||
) | const |
Blocking call that will return one the point in the index space task has executed.
point | the point task to wait for |
silience_warnings | silence any warnings for this blocking call |
warning_string | a string to be reported with any warnings |
|
inline |
An older method for performing a blocking wait for a point in an index task launch.
point | the point in the index task launch to wait for |
void Legion::FutureMap::wait_all_results | ( | bool | silence_warnings = false , |
const char * | warning_string = NULL |
||
) | const |
Wait for all the tasks in the index space launch of tasks to complete before returning.
silence_warnings | silience warnings for this blocking call |
warning_string | a string to be reported with any warnings |