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

#include <transfer.h>

Collaboration diagram for Realm::TransferDesc:

Classes

struct  FieldInfo
 

Public Member Functions

template<int N, typename T >
 TransferDesc (IndexSpace< N, T > _is, const std::vector< CopySrcDstField > &_srcs, const std::vector< CopySrcDstField > &_dsts, const std::vector< const typename CopyIndirection< N, T >::Base * > &_indirects, const ProfilingRequestSet &requests)
 
template<int N, typename T >
 TransferDesc (IndexSpace< N, T > _is, std::vector< CopySrcDstField > &&_srcs, std::vector< CopySrcDstField > &&_dsts, const std::vector< const typename CopyIndirection< N, T >::Base * > &_indirects, const ProfilingRequestSet &requests)
 
void add_reference ()
 
void remove_reference ()
 

Protected Member Functions

 ~TransferDesc ()
 
void check_analysis_preconditions (std::vector< Event > &preconditions) const
 
bool perform_analysis (TransferOperation *op, TimeLimit work_until)
 

Protected Attributes

atomic< int > refcount
 
TransferDomaindomain
 
std::vector< CopySrcDstFieldsrcs
 
std::vector< CopySrcDstFielddsts
 
std::vector< IndirectionInfo * > indirects
 
ProfilingRequestSet prs
 
Mutex mutex
 
TransferGraph graph
 
std::vector< int > dim_order
 
std::vector< FieldInfosrc_fields
 
std::vector< FieldInfodst_fields
 
void * fill_data
 
size_t fill_size
 
bool analysis_init_done = false
 
size_t analysis_field_idx = 0
 
size_t analysis_fld_start = 0
 
size_t analysis_fill_ofs = 0
 
std::vector< bool > analysis_field_done
 
ProfilingMeasurements::OperationMemoryUsage prof_usage
 
ProfilingMeasurements::OperationCopyInfo prof_cpinfo
 

Friends

class TransferOperation
 

Constructor & Destructor Documentation

◆ TransferDesc() [1/2]

template<int N, typename T >
Realm::TransferDesc::TransferDesc ( IndexSpace< N, T >  _is,
const std::vector< CopySrcDstField > &  _srcs,
const std::vector< CopySrcDstField > &  _dsts,
const std::vector< const typename CopyIndirection< N, T >::Base * > &  _indirects,
const ProfilingRequestSet requests 
)

◆ TransferDesc() [2/2]

template<int N, typename T >
Realm::TransferDesc::TransferDesc ( IndexSpace< N, T >  _is,
std::vector< CopySrcDstField > &&  _srcs,
std::vector< CopySrcDstField > &&  _dsts,
const std::vector< const typename CopyIndirection< N, T >::Base * > &  _indirects,
const ProfilingRequestSet requests 
)

◆ ~TransferDesc()

Realm::TransferDesc::~TransferDesc ( )
protected

Member Function Documentation

◆ add_reference()

void Realm::TransferDesc::add_reference ( )

◆ check_analysis_preconditions()

void Realm::TransferDesc::check_analysis_preconditions ( std::vector< Event > &  preconditions) const
protected

◆ perform_analysis()

bool Realm::TransferDesc::perform_analysis ( TransferOperation op,
TimeLimit  work_until 
)
protected

◆ remove_reference()

void Realm::TransferDesc::remove_reference ( )

Friends And Related Symbol Documentation

◆ TransferOperation

friend class TransferOperation
friend

Member Data Documentation

◆ analysis_field_done

std::vector<bool> Realm::TransferDesc::analysis_field_done
protected

◆ analysis_field_idx

size_t Realm::TransferDesc::analysis_field_idx = 0
protected

◆ analysis_fill_ofs

size_t Realm::TransferDesc::analysis_fill_ofs = 0
protected

◆ analysis_fld_start

size_t Realm::TransferDesc::analysis_fld_start = 0
protected

◆ analysis_init_done

bool Realm::TransferDesc::analysis_init_done = false
protected

◆ dim_order

std::vector<int> Realm::TransferDesc::dim_order
protected

◆ domain

TransferDomain* Realm::TransferDesc::domain
protected

◆ dst_fields

std::vector<FieldInfo> Realm::TransferDesc::dst_fields
protected

◆ dsts

std::vector<CopySrcDstField> Realm::TransferDesc::dsts
protected

◆ fill_data

void* Realm::TransferDesc::fill_data
protected

◆ fill_size

size_t Realm::TransferDesc::fill_size
protected

◆ graph

TransferGraph Realm::TransferDesc::graph
protected

◆ indirects

std::vector<IndirectionInfo *> Realm::TransferDesc::indirects
protected

◆ mutex

Mutex Realm::TransferDesc::mutex
protected

◆ prof_cpinfo

ProfilingMeasurements::OperationCopyInfo Realm::TransferDesc::prof_cpinfo
protected

◆ prof_usage

ProfilingMeasurements::OperationMemoryUsage Realm::TransferDesc::prof_usage
protected

◆ prs

ProfilingRequestSet Realm::TransferDesc::prs
protected

◆ refcount

atomic<int> Realm::TransferDesc::refcount
protected

◆ src_fields

std::vector<FieldInfo> Realm::TransferDesc::src_fields
protected

◆ srcs

std::vector<CopySrcDstField> Realm::TransferDesc::srcs
protected

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