#include <legion.h>
Public Member Functions | |
DeferredValue (T initial_value, size_t alignment=16) | |
__CUDA_HD__ T | read (void) const |
__CUDA_HD__ void | write (T value) const |
__CUDA_HD__ T * | ptr (void) const |
__CUDA_HD__ T & | ref (void) const |
__CUDA_HD__ | operator T (void) const |
__CUDA_HD__ DeferredValue< T > & | operator= (T value) |
void | finalize (Runtime *runtime, Context ctx) const |
Protected Attributes | |
Realm::RegionInstance | instance |
Realm::AffineAccessor< T, 1, coord_t > | accessor |
A deferred value is a special helper class for handling return values for tasks that do asynchronous operations (e.g. GPU kernel launches), but we don't want to wait for the asynchronous operations to be returned. This object should be returned directly as the result of a Legion task, but its value will not be read until all of the "effects" of the task are done. The following methods are supported during task execution: