STAPL API Reference          
Overview   Containers   Algorithms   Views   Skeletons   Run-Time System
Modules     Classes    
List of all members | Public Member Functions | Public Types | Public Attributes
stapl::composition::repeat_view< View > Struct Template Reference

Defines a one dimensional view where every element is a light wrapper around a copy of the underlying view of type View. More...

Public Member Functions

 repeat_view (View const &view)
 
bool available (void) const
 Return true if the underlying view has its data available for consumption.
 
template<typename Notifier >
void request_notify (Notifier notifier) const
 Allows users to request the given notifier be invoked when the values of the view are available for consumption. More...
 
size_t get_num_copies (void) const
 Required method when computation is replicated in the system. Replicated views don't drive computation, so this method should never be called.
 
size_t get_num_local_subviews (size_t=0) const
 The required value for repeated views by partition_id_set.
 
size_t get_num_subviews (void) const
 The required value for repeated views by partition_id_set.
 
component_holder< size_t > get_local_component (size_t idx) const
 Old view interface returning component wrapper of index value.
 
subview_type get_subview (cid_type idx) const
 Return a stapl::composition::repeated_subview wrapping the underlying view. More...
 
locality_info locality (cid_type idx)
 Return locality information as required by the task placement interface of a PARAGRAPH scheduler. More...
 
runtime::location_md const & get_location_md (void) const noexcept
 Returns the location metadata of the location this object registered in.
 
runtime::location_mdget_location_md (void) noexcept
 Returns the location metadata of the location this object registered in. noexcept More...
 
Distributed Object Management
rmi_handle::const_reference const & get_rmi_handle (void) const noexcept
 Returns the associated rmi_handle.
 
rmi_handle::reference const & get_rmi_handle (void) noexcept
 Returns the associated rmi_handle.
 
size_type get_location_id (void) const noexcept
 Returns the location id of the local sub-object.
 
size_type get_num_locations (void) const noexcept
 Returns the number of locations of the gang of this p_object.
 
void advance_epoch (void)
 Advances the epoch of the object. More...
 
void unlock (void)
 Used by lock_guard functionality in method of derived classes to request atomicity with respect to incoming RMIs. More...
 
void lock (void)
 Used by lock_guard functionality in method of derived classes to request atomicity with respect to incoming RMIs. More...
 
bool try_lock (void)
 Attempt to maintain atomicity with respect to incoming RMIs. More...
 

Public Types

typedef View base_view_type
 
typedef repeated_subview< View > subview_type
 
typedef subview_type reference
 
typedef size_t cid_type
 
typedef void deferred_evaluation_view_
 Informs PARAGRAPH that values the view refers to may not be available yet so that it can create notifications to defer execution as needed.
 
using size_type = rmi_handle::size_type
 

Public Attributes

View m_view
 The underlying view wrapped and returned as each element of repeat_view.
 

Detailed Description

template<typename View>
struct stapl::composition::repeat_view< View >

Defines a one dimensional view where every element is a light wrapper around a copy of the underlying view of type View.

Implemented to prototype the replicated computation concept. Used in the function map_factory to support efficient matrix vector multiplication.

Member Function Documentation

◆ request_notify()

template<typename View >
template<typename Notifier >
void stapl::composition::repeat_view< View >::request_notify ( Notifier  notifier) const

Allows users to request the given notifier be invoked when the values of the view are available for consumption.

Requests redirected to underlying view.

◆ get_subview()

template<typename View >
subview_type stapl::composition::repeat_view< View >::get_subview ( cid_type  idx) const

Return a stapl::composition::repeated_subview wrapping the underlying view.

Parameters
idxAn index into this view. Unused as all elements are the same.

◆ locality()

template<typename View >
locality_info stapl::composition::repeat_view< View >::locality ( cid_type  idx)

Return locality information as required by the task placement interface of a PARAGRAPH scheduler.

Parameters
idxThe task identifier locality information is requested for.

◆ get_location_md()

runtime::location_md& stapl::p_object::get_location_md ( void  )
noexceptinherited

Returns the location metadata of the location this object registered in. noexcept

noexcept

◆ advance_epoch()

void stapl::p_object::advance_epoch ( void  )
inherited

Advances the epoch of the object.

Advancing the epoch will flush any pending RMIs. It will also increase the epoch of the current gang if the object is not a named object.

◆ unlock()

void stapl::p_object::unlock ( void  )
inherited

Used by lock_guard functionality in method of derived classes to request atomicity with respect to incoming RMIs.

Mutates counter in the associated runqueue.

◆ lock()

void stapl::p_object::lock ( void  )
inherited

Used by lock_guard functionality in method of derived classes to request atomicity with respect to incoming RMIs.

Mutates counter in the associated runqueue.

◆ try_lock()

bool stapl::p_object::try_lock ( void  )
inherited

Attempt to maintain atomicity with respect to incoming RMIs.

Mutates counter in the associated runqueue.

Returns
true if the lock was able to be acquired. false if it is already locked.

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