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

#include <values.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 >(), bool escaping=true)
 
__LEGION_CUDA_HD__ void reduce (typename REDOP::RHS val) const
 
__LEGION_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 >(), Memory::Kind memory_kind=Memory::Z_COPY_MEM, bool escaping=true)
 
 DeferredValue (REDOP::RHS initial_value, Memory target_memory, size_t alignment=std::alignment_of< REDOP::RHS >(), bool escaping=true)
 
__LEGION_CUDA_HD__ REDOP::RHS read (void) const
 
__LEGION_CUDA_HD__ void write (REDOP::RHS value) const
 
__LEGION_CUDA_HD__ REDOP::RHS * ptr (void) const
 
__LEGION_CUDA_HD__ REDOP::RHS & ref (void) const
 
__LEGION_CUDA_HD__ operator REDOP::RHS (void) const
 
__LEGION_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=nullptr, size_t alignment=16, bool escaping=true)
 
 UntypedDeferredValue (size_t field_size, Memory::Kind memory_kind=Memory::Z_COPY_MEM, const void *initial_value=nullptr, size_t alignment=16, bool escaping=true)
 
 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
 
bool exists (void) const
 
void finalize (Context ctx) const
 
Realm::RegionInstance get_instance (void) const
 

Additional Inherited Members

- Static Public Member Functions inherited from Legion::UntypedDeferredValue
static void report_incompatible_accessor (const char *accessor_kind, bool buffer=false)
 
- Static Protected Member Functions inherited from Legion::UntypedDeferredValue
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 files: