|
|
| DeferredValue (T initial_value, size_t alignment=std::alignment_of< T >()) |
| |
|
__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) |
| |
|
| UntypedDeferredValue (size_t field_size, Memory target_memory, const void *initial_value=NULL, size_t alignment=16) |
| |
|
| UntypedDeferredValue (size_t field_size, Memory::Kind memory_kind=Memory::Z_COPY_MEM, const void *initial_value=NULL, size_t alignment=16) |
| |
|
| UntypedDeferredValue (const UntypedDeferredValue &rhs) |
| |
|
template<typename T > |
| | operator DeferredValue< T > (void) const |
| |
|
template<typename REDOP , bool EXCLUSIVE> |
| | operator DeferredReduction< REDOP, EXCLUSIVE > (void) const |
| |
|
size_t | field_size (void) const |
| |
|
void | finalize (Context ctx) const |
| |
|
Realm::RegionInstance | get_instance (void) const |
| |
template<typename T>
class Legion::DeferredValue< T >
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:
- T read(void) const
- void write(T val) const
- T* ptr(void) const
- T& operator(void) const