Realm
A distributed, event-based tasking library
Loading...
Searching...
No Matches
Realm::AddressSplitXferDesFactory< N, T > Class Template Reference

#include <addrsplit_channel.h>

Inheritance diagram for Realm::AddressSplitXferDesFactory< N, T >:
Collaboration diagram for Realm::AddressSplitXferDesFactory< N, T >:

Public Member Functions

 AddressSplitXferDesFactory (size_t _bytes_per_element, const std::vector< IndexSpace< N, T > > &_spaces, AddressSplitChannel *_addrsplit_channel)
 
 AddressSplitXferDesFactory (size_t _bytes_per_element, const std::vector< IndexSpace< N, T > > &_spaces, AddressSplitChannel *_addrsplit_channel, AddressSplitCommunicator< N, T > *_comm)
 
virtual ~AddressSplitXferDesFactory ()=default
 
virtual bool needs_release ()
 
virtual void create_xfer_des (uintptr_t dma_op, NodeID launch_node, NodeID target_node, XferDesID guid, const std::vector< XferDesPortInfo > &inputs_info, const std::vector< XferDesPortInfo > &outputs_info, int priority, XferDesRedopInfo redop_info, const void *fill_data, size_t fill_size, size_t fill_total)
 
- Public Member Functions inherited from Realm::XferDesFactory
virtual ~XferDesFactory ()
 

Static Public Attributes

static ActiveMessageHandlerReg< AddressSplitXferDesCreateMessage< N, T > > areg
 

Protected Attributes

size_t bytes_per_element {0}
 
std::vector< IndexSpace< N, T > > spaces
 
AddressSplitChanneladdrsplit_channel {0}
 
std::unique_ptr< AddressSplitCommunicator< N, T > > comm {nullptr}
 

Constructor & Destructor Documentation

◆ AddressSplitXferDesFactory() [1/2]

template<int N, typename T >
Realm::AddressSplitXferDesFactory< N, T >::AddressSplitXferDesFactory ( size_t  _bytes_per_element,
const std::vector< IndexSpace< N, T > > &  _spaces,
AddressSplitChannel _addrsplit_channel 
)

◆ AddressSplitXferDesFactory() [2/2]

template<int N, typename T >
Realm::AddressSplitXferDesFactory< N, T >::AddressSplitXferDesFactory ( size_t  _bytes_per_element,
const std::vector< IndexSpace< N, T > > &  _spaces,
AddressSplitChannel _addrsplit_channel,
AddressSplitCommunicator< N, T > *  _comm 
)

◆ ~AddressSplitXferDesFactory()

template<int N, typename T >
virtual Realm::AddressSplitXferDesFactory< N, T >::~AddressSplitXferDesFactory ( )
virtualdefault

Member Function Documentation

◆ create_xfer_des()

template<int N, typename T >
virtual void Realm::AddressSplitXferDesFactory< N, T >::create_xfer_des ( uintptr_t  dma_op,
NodeID  launch_node,
NodeID  target_node,
XferDesID  guid,
const std::vector< XferDesPortInfo > &  inputs_info,
const std::vector< XferDesPortInfo > &  outputs_info,
int  priority,
XferDesRedopInfo  redop_info,
const void *  fill_data,
size_t  fill_size,
size_t  fill_total 
)
virtual

Implements Realm::XferDesFactory.

◆ needs_release()

template<int N, typename T >
virtual bool Realm::AddressSplitXferDesFactory< N, T >::needs_release ( )
virtual

Implements Realm::XferDesFactory.

Member Data Documentation

◆ addrsplit_channel

template<int N, typename T >
AddressSplitChannel* Realm::AddressSplitXferDesFactory< N, T >::addrsplit_channel {0}
protected

◆ areg

template<int N, typename T >
ActiveMessageHandlerReg<AddressSplitXferDesCreateMessage<N, T> > Realm::AddressSplitXferDesFactory< N, T >::areg
inlinestatic

◆ bytes_per_element

template<int N, typename T >
size_t Realm::AddressSplitXferDesFactory< N, T >::bytes_per_element {0}
protected

◆ comm

template<int N, typename T >
std::unique_ptr<AddressSplitCommunicator<N, T> > Realm::AddressSplitXferDesFactory< N, T >::comm {nullptr}
protected

◆ spaces

template<int N, typename T >
std::vector<IndexSpace<N, T> > Realm::AddressSplitXferDesFactory< N, T >::spaces
protected

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