|
| DeferredBuffer (Memory::Kind kind, const Domain &bounds, const T *initial_value=NULL, size_t alignment=std::alignment_of< T >(), bool fortran_order_dims=false) |
|
| DeferredBuffer (const Rect< DIM, COORD_T > &bounds, Memory::Kind kind, const T *initial_value=NULL, size_t alignment=std::alignment_of< T >(), bool fortran_order_dims=false) |
|
| DeferredBuffer (Memory memory, const Domain &bounds, const T *initial_value=NULL, size_t alignment=std::alignment_of< T >(), bool fortran_order_dims=false) |
|
| DeferredBuffer (const Rect< DIM, COORD_T > &bounds, Memory memory, const T *initial_value=NULL, size_t alignment=std::alignment_of< T >(), bool fortran_order_dims=false) |
|
| DeferredBuffer (Memory::Kind kind, const Domain &bounds, std::array< DimensionKind, DIM > ordering, const T *initial_value=NULL, size_t alignment=std::alignment_of< T >()) |
|
| DeferredBuffer (const Rect< DIM, COORD_T > &bounds, Memory::Kind kind, std::array< DimensionKind, DIM > ordering, const T *initial_value=NULL, size_t alignment=std::alignment_of< T >()) |
|
| DeferredBuffer (Memory memory, const Domain &bounds, std::array< DimensionKind, DIM > ordering, const T *initial_value=NULL, size_t alignment=std::alignment_of< T >()) |
|
| DeferredBuffer (const Rect< DIM, COORD_T > &bounds, Memory memory, std::array< DimensionKind, DIM > ordering, const T *initial_value=NULL, size_t alignment=std::alignment_of< T >()) |
|
__CUDA_HD__ T | read (const Point< DIM, COORD_T > &p) const |
|
__CUDA_HD__ void | write (const Point< DIM, COORD_T > &p, T value) const |
|
__CUDA_HD__ T * | ptr (const Point< DIM, COORD_T > &p) const |
|
__CUDA_HD__ T * | ptr (const Rect< DIM, COORD_T > &r) const |
|
__CUDA_HD__ T * | ptr (const Rect< DIM, COORD_T > &r, size_t strides[DIM]) const |
|
__CUDA_HD__ T & | operator[] (const Point< DIM, COORD_T > &p) const |
|
void | destroy (Realm::Event precondition=Realm::Event::NO_EVENT) |
|
__CUDA_HD__ Realm::RegionInstance | get_instance (void) const |
|
__CUDA_HD__ Rect< DIM, COORD_T > | get_bounds (void) const |
|
template<typename T, int DIM, typename COORD_T = coord_t, bool CHECK_BOUNDS = false>
class Legion::DeferredBuffer< T, DIM, COORD_T, CHECK_BOUNDS >
A deferred buffer is a local instance that can be made inside of a task that will live just for lifetime of the task without needing to be associated with a logical region. The runtime will automatically reclaim the memory associated with it after the task is done. The task must specify the kind of memory to use and the runtime will pick a specific memory of that kind associated with current processor on which the task is executing. Users can provide an optional initialization value for the buffer. Users must guarantee that no instances of the DeferredBuffer object live past the end of the execution of a task. The user must also guarantee that DefferedBuffer objects are not returned as the result of the task. The user can control the layout of dimensions with the 'fortran_order_dims' parameter. The default is C order dimensions (e.g. last changing fastest), but can be switched to fortran order (e.g. first fastest).