Legion Runtime
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
Legion::DeferredReduction< REDOP, EXCLUSIVE > Class Template Reference

#include <legion.h>

Inheritance diagram for Legion::DeferredReduction< REDOP, EXCLUSIVE >:
Legion::DeferredValue< REDOP::RHS > Legion::UntypedDeferredValue

Public Types

typedef REDOP::RHS value_type
 
typedef REDOP::RHS & reference
 
typedef const REDOP::RHS & const_reference
 
- Public Types inherited from Legion::DeferredValue< REDOP::RHS >
typedef REDOP::RHS value_type
 
typedef REDOP::RHS & reference
 
typedef const REDOP::RHS & const_reference
 

Public Member Functions

 DeferredReduction (size_t alignment=std::alignment_of< typename REDOP::RHS >())
 
__CUDA_HD__ void reduce (typename REDOP::RHS val) const
 
__CUDA_HD__ void operator<<= (typename REDOP::RHS val) const
 
- Public Member Functions inherited from Legion::DeferredValue< REDOP::RHS >
 DeferredValue (REDOP::RHS initial_value, size_t alignment=std::alignment_of< REDOP::RHS >())
 
__CUDA_HD__ REDOP::RHS read (void) const
 
__CUDA_HD__ void write (REDOP::RHS value) const
 
__CUDA_HD__ REDOP::RHS * ptr (void) const
 
__CUDA_HD__ REDOP::RHS & ref (void) const
 
__CUDA_HD__ operator REDOP::RHS (void) const
 
__CUDA_HD__ DeferredValue< REDOP::RHS > & operator= (REDOP::RHS value)
 
- Public Member Functions inherited from Legion::UntypedDeferredValue
 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
 

Additional Inherited Members

- Static Protected Member Functions inherited from Legion::UntypedDeferredValue
static Memory get_memory_from_kind (Memory::Kind kind, bool value)
 
static Realm::RegionInstance allocate_instance (Memory memory, Realm::InstanceLayoutGeneric *layout)
 
static void destroy_instance (Realm::RegionInstance, Realm::Event precondition)
 
static Domain get_index_space_bounds (IndexSpace space)
 
- Protected Attributes inherited from Legion::DeferredValue< REDOP::RHS >
Realm::AffineAccessor< REDOP::RHS, 1, coord_t > accessor
 
- Protected Attributes inherited from Legion::UntypedDeferredValue
Realm::RegionInstance instance
 

Detailed Description

template<typename REDOP, bool EXCLUSIVE = false>
class Legion::DeferredReduction< REDOP, EXCLUSIVE >

This is a special case of a DeferredValue that also supports a reduction operator. It supports all the same methods as the DeferredValue as well as an additional method for doing reductions using a reduction operator.


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