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

#include <inst_impl.h>

Collaboration diagram for Realm::RegionInstanceImpl:

Classes

class  DeferredCreate
 
class  DeferredDestroy
 
class  Metadata
 

Public Member Functions

 RegionInstanceImpl (const RuntimeImpl *_runtime_impl, RegionInstance _me, MemoryImpl *_memory)
 
 ~RegionInstanceImpl (void)
 
void release (Event wait_on)
 Release this instance and the resources it holds after wait_on has been triggered.
 
Event redistrict (RegionInstance *instances, const InstanceLayoutGeneric **layouts, size_t num_layouts, const ProfilingRequestSet *prs, Event wait_on=Event::NO_EVENT)
 
void notify_allocation (MemoryImpl::AllocationResult result, size_t offset, TimeLimit work_until)
 
void notify_deallocation (void)
 
bool get_strided_parameters (void *&base, size_t &stride, off_t field_offset) const
 
Event fetch_metadata (Processor target)
 
Event request_metadata (void)
 
Event prefetch_metadata (NodeID target)
 
void recycle_instance (void)
 
template<int N, typename T >
const PieceLookup::Instructionget_lookup_program (FieldID field_id, unsigned allowed_mask, uintptr_t &field_offset)
 
template<int N, typename T >
const PieceLookup::Instructionget_lookup_program (FieldID field_id, const Rect< N, T > &subrect, unsigned allowed_mask, size_t &field_offset)
 
void read_untyped (size_t offset, void *data, size_t datalen) const
 
void write_untyped (size_t offset, const void *data, size_t datalen)
 
void reduce_apply_untyped (size_t offset, ReductionOpID redop_id, const void *data, size_t datalen, bool exclusive)
 
void reduce_fold_untyped (size_t offset, ReductionOpID redop_id, const void *data, size_t datalen, bool exclusive)
 
void * pointer_untyped (size_t offset, size_t datalen)
 
void send_metadata (const NodeSet &early_reqs)
 

Static Public Member Functions

static Event create_instance (RegionInstance &inst, MemoryImpl *memory, InstanceLayoutGeneric *ilg, const ExternalInstanceResource *res, const ProfilingRequestSet &prs, Event wait_on)
 

Public Attributes

DeferredCreate deferred_create
 
DeferredDestroy deferred_destroy
 
std::vector< RegionInstanceImpl * > deferred_redistrict
 
RegionInstance me
 
MemoryImplmem_impl = nullptr
 
ProfilingRequestSet requests
 
ProfilingMeasurementCollection measurements
 
ProfilingMeasurements::InstanceTimeline timeline
 
Mutex mutex
 
Metadata metadata
 
std::map< NodeID, Eventprefetch_events
 
ReservationImpl lock
 

Static Public Attributes

static constexpr size_t INSTOFFSET_UNALLOCATED = size_t(-1)
 
static constexpr size_t INSTOFFSET_FAILED = size_t(-2)
 
static constexpr size_t INSTOFFSET_DELAYEDALLOC = size_t(-3)
 
static constexpr size_t INSTOFFSET_DELAYEDDESTROY = size_t(-4)
 
static constexpr size_t INSTOFFSET_DELAYEDREDISTRICT = size_t(-5)
 
static constexpr size_t INSTOFFSET_MAXVALID = size_t(-6)
 

Friends

class RegionInstance
 

Constructor & Destructor Documentation

◆ RegionInstanceImpl()

Realm::RegionInstanceImpl::RegionInstanceImpl ( const RuntimeImpl _runtime_impl,
RegionInstance  _me,
MemoryImpl _memory 
)

◆ ~RegionInstanceImpl()

Realm::RegionInstanceImpl::~RegionInstanceImpl ( void  )

Member Function Documentation

◆ create_instance()

static Event Realm::RegionInstanceImpl::create_instance ( RegionInstance inst,
MemoryImpl memory,
InstanceLayoutGeneric ilg,
const ExternalInstanceResource res,
const ProfilingRequestSet prs,
Event  wait_on 
)
static

◆ fetch_metadata()

Event Realm::RegionInstanceImpl::fetch_metadata ( Processor  target)

◆ get_lookup_program() [1/2]

template<int N, typename T >
const PieceLookup::Instruction * Realm::RegionInstanceImpl::get_lookup_program ( FieldID  field_id,
const Rect< N, T > &  subrect,
unsigned  allowed_mask,
size_t &  field_offset 
)

◆ get_lookup_program() [2/2]

template<int N, typename T >
const PieceLookup::Instruction * Realm::RegionInstanceImpl::get_lookup_program ( FieldID  field_id,
unsigned  allowed_mask,
uintptr_t &  field_offset 
)

◆ get_strided_parameters()

bool Realm::RegionInstanceImpl::get_strided_parameters ( void *&  base,
size_t &  stride,
off_t  field_offset 
) const

◆ notify_allocation()

void Realm::RegionInstanceImpl::notify_allocation ( MemoryImpl::AllocationResult  result,
size_t  offset,
TimeLimit  work_until 
)

◆ notify_deallocation()

void Realm::RegionInstanceImpl::notify_deallocation ( void  )

◆ pointer_untyped()

void * Realm::RegionInstanceImpl::pointer_untyped ( size_t  offset,
size_t  datalen 
)

◆ prefetch_metadata()

Event Realm::RegionInstanceImpl::prefetch_metadata ( NodeID  target)

◆ read_untyped()

void Realm::RegionInstanceImpl::read_untyped ( size_t  offset,
void *  data,
size_t  datalen 
) const

◆ recycle_instance()

void Realm::RegionInstanceImpl::recycle_instance ( void  )

◆ redistrict()

Event Realm::RegionInstanceImpl::redistrict ( RegionInstance instances,
const InstanceLayoutGeneric **  layouts,
size_t  num_layouts,
const ProfilingRequestSet prs,
Event  wait_on = Event::NO_EVENT 
)

◆ reduce_apply_untyped()

void Realm::RegionInstanceImpl::reduce_apply_untyped ( size_t  offset,
ReductionOpID  redop_id,
const void *  data,
size_t  datalen,
bool  exclusive 
)

◆ reduce_fold_untyped()

void Realm::RegionInstanceImpl::reduce_fold_untyped ( size_t  offset,
ReductionOpID  redop_id,
const void *  data,
size_t  datalen,
bool  exclusive 
)

◆ release()

void Realm::RegionInstanceImpl::release ( Event  wait_on)

Release this instance and the resources it holds after wait_on has been triggered.

Parameters
wait_onprecondition event that will defer the actual release until triggered

◆ request_metadata()

Event Realm::RegionInstanceImpl::request_metadata ( void  )
inline

◆ send_metadata()

void Realm::RegionInstanceImpl::send_metadata ( const NodeSet early_reqs)

◆ write_untyped()

void Realm::RegionInstanceImpl::write_untyped ( size_t  offset,
const void *  data,
size_t  datalen 
)

Friends And Related Symbol Documentation

◆ RegionInstance

friend class RegionInstance
friend

Member Data Documentation

◆ deferred_create

DeferredCreate Realm::RegionInstanceImpl::deferred_create

◆ deferred_destroy

DeferredDestroy Realm::RegionInstanceImpl::deferred_destroy

◆ deferred_redistrict

std::vector<RegionInstanceImpl *> Realm::RegionInstanceImpl::deferred_redistrict

◆ INSTOFFSET_DELAYEDALLOC

constexpr size_t Realm::RegionInstanceImpl::INSTOFFSET_DELAYEDALLOC = size_t(-3)
staticconstexpr

◆ INSTOFFSET_DELAYEDDESTROY

constexpr size_t Realm::RegionInstanceImpl::INSTOFFSET_DELAYEDDESTROY = size_t(-4)
staticconstexpr

◆ INSTOFFSET_DELAYEDREDISTRICT

constexpr size_t Realm::RegionInstanceImpl::INSTOFFSET_DELAYEDREDISTRICT = size_t(-5)
staticconstexpr

◆ INSTOFFSET_FAILED

constexpr size_t Realm::RegionInstanceImpl::INSTOFFSET_FAILED = size_t(-2)
staticconstexpr

◆ INSTOFFSET_MAXVALID

constexpr size_t Realm::RegionInstanceImpl::INSTOFFSET_MAXVALID = size_t(-6)
staticconstexpr

◆ INSTOFFSET_UNALLOCATED

constexpr size_t Realm::RegionInstanceImpl::INSTOFFSET_UNALLOCATED = size_t(-1)
staticconstexpr

◆ lock

ReservationImpl Realm::RegionInstanceImpl::lock

◆ me

RegionInstance Realm::RegionInstanceImpl::me

◆ measurements

ProfilingMeasurementCollection Realm::RegionInstanceImpl::measurements

◆ mem_impl

MemoryImpl* Realm::RegionInstanceImpl::mem_impl = nullptr

◆ metadata

Metadata Realm::RegionInstanceImpl::metadata

◆ mutex

Mutex Realm::RegionInstanceImpl::mutex

◆ prefetch_events

std::map<NodeID, Event> Realm::RegionInstanceImpl::prefetch_events

◆ requests

ProfilingRequestSet Realm::RegionInstanceImpl::requests

◆ timeline

ProfilingMeasurements::InstanceTimeline Realm::RegionInstanceImpl::timeline

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