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

#include <transfer.h>

Collaboration diagram for Realm::TransferDesc:

Classes

class  DeferredAnalysis
 
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 ()
 
bool request_analysis (TransferOperation *op)
 

Protected Member Functions

 ~TransferDesc ()
 
void check_analysis_preconditions ()
 
void perform_analysis ()
 
void cancel_analysis (Event failed_precondition)
 

Protected Attributes

atomic< int > refcount
 
DeferredAnalysis deferred_analysis
 
TransferDomaindomain
 
std::vector< CopySrcDstFieldsrcs
 
std::vector< CopySrcDstFielddsts
 
std::vector< IndirectionInfo * > indirects
 
ProfilingRequestSet prs
 
Mutex mutex
 
atomic< bool > analysis_complete
 
bool analysis_successful
 
std::vector< TransferOperation * > pending_ops
 
TransferGraph graph
 
std::vector< int > dim_order
 
std::vector< FieldInfosrc_fields
 
std::vector< FieldInfodst_fields
 
void * fill_data
 
size_t fill_size
 
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 ( )

◆ cancel_analysis()

void Realm::TransferDesc::cancel_analysis ( Event  failed_precondition)
protected

◆ check_analysis_preconditions()

void Realm::TransferDesc::check_analysis_preconditions ( )
protected

◆ perform_analysis()

void Realm::TransferDesc::perform_analysis ( )
protected

◆ remove_reference()

void Realm::TransferDesc::remove_reference ( )

◆ request_analysis()

bool Realm::TransferDesc::request_analysis ( TransferOperation op)

Friends And Related Symbol Documentation

◆ TransferOperation

friend class TransferOperation
friend

Member Data Documentation

◆ analysis_complete

atomic<bool> Realm::TransferDesc::analysis_complete
protected

◆ analysis_successful

bool Realm::TransferDesc::analysis_successful
protected

◆ deferred_analysis

DeferredAnalysis Realm::TransferDesc::deferred_analysis
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

◆ pending_ops

std::vector<TransferOperation *> Realm::TransferDesc::pending_ops
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: