Realm
A distributed, event-based tasking library
Loading...
Searching...
No Matches
Realm::IndirectionInfo Class Referenceabstract

#include <transfer.h>

Inheritance diagram for Realm::IndirectionInfo:

Public Member Functions

virtual ~IndirectionInfo (void)
 
virtual Event request_metadata (void)=0
 
virtual void generate_gather_paths (const Node *node_info, Memory dst_mem, TransferGraph::XDTemplate::IO dst_edge, unsigned indirect_idx, unsigned src_fld_start, unsigned src_fld_count, size_t bytes_per_element, CustomSerdezID serdez_id, std::vector< TransferGraph::XDTemplate > &xd_nodes, std::vector< TransferGraph::IBInfo > &ib_edges, std::vector< TransferDesc::FieldInfo > &src_fields)=0
 
virtual void generate_scatter_paths (Memory src_mem, TransferGraph::XDTemplate::IO src_edge, unsigned indirect_idx, unsigned dst_fld_start, unsigned dst_fld_count, size_t bytes_per_element, CustomSerdezID serdez_id, std::vector< TransferGraph::XDTemplate > &xd_nodes, std::vector< TransferGraph::IBInfo > &ib_edges, std::vector< TransferDesc::FieldInfo > &src_fields)=0
 
virtual RegionInstance get_pointer_instance (void) const =0
 
virtual const std::vector< RegionInstance > * get_instances (void) const =0
 
virtual FieldID get_field (void) const =0
 
virtual TransferIteratorcreate_address_iterator (RegionInstance peer) const =0
 
virtual TransferIteratorcreate_indirect_iterator (Memory addrs_mem, RegionInstance inst, const std::vector< FieldID > &fields, const std::vector< size_t > &fld_offsets, const std::vector< size_t > &fld_sizes, Channel *channel=nullptr) const =0
 
virtual void print (std::ostream &os) const =0
 

Constructor & Destructor Documentation

◆ ~IndirectionInfo()

virtual Realm::IndirectionInfo::~IndirectionInfo ( void  )
inlinevirtual

Member Function Documentation

◆ create_address_iterator()

virtual TransferIterator * Realm::IndirectionInfo::create_address_iterator ( RegionInstance  peer) const
pure virtual

◆ create_indirect_iterator()

virtual TransferIterator * Realm::IndirectionInfo::create_indirect_iterator ( Memory  addrs_mem,
RegionInstance  inst,
const std::vector< FieldID > &  fields,
const std::vector< size_t > &  fld_offsets,
const std::vector< size_t > &  fld_sizes,
Channel channel = nullptr 
) const
pure virtual

◆ generate_gather_paths()

virtual void Realm::IndirectionInfo::generate_gather_paths ( const Node node_info,
Memory  dst_mem,
TransferGraph::XDTemplate::IO  dst_edge,
unsigned  indirect_idx,
unsigned  src_fld_start,
unsigned  src_fld_count,
size_t  bytes_per_element,
CustomSerdezID  serdez_id,
std::vector< TransferGraph::XDTemplate > &  xd_nodes,
std::vector< TransferGraph::IBInfo > &  ib_edges,
std::vector< TransferDesc::FieldInfo > &  src_fields 
)
pure virtual

Implemented in Realm::IndirectionInfoBase.

◆ generate_scatter_paths()

virtual void Realm::IndirectionInfo::generate_scatter_paths ( Memory  src_mem,
TransferGraph::XDTemplate::IO  src_edge,
unsigned  indirect_idx,
unsigned  dst_fld_start,
unsigned  dst_fld_count,
size_t  bytes_per_element,
CustomSerdezID  serdez_id,
std::vector< TransferGraph::XDTemplate > &  xd_nodes,
std::vector< TransferGraph::IBInfo > &  ib_edges,
std::vector< TransferDesc::FieldInfo > &  src_fields 
)
pure virtual

Implemented in Realm::IndirectionInfoBase.

◆ get_field()

virtual FieldID Realm::IndirectionInfo::get_field ( void  ) const
pure virtual

◆ get_instances()

virtual const std::vector< RegionInstance > * Realm::IndirectionInfo::get_instances ( void  ) const
pure virtual

◆ get_pointer_instance()

virtual RegionInstance Realm::IndirectionInfo::get_pointer_instance ( void  ) const
pure virtual

◆ print()

virtual void Realm::IndirectionInfo::print ( std::ostream &  os) const
pure virtual

◆ request_metadata()

virtual Event Realm::IndirectionInfo::request_metadata ( void  )
pure virtual

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