Tensor Tiling Library
 
Loading...
Searching...
No Matches
TTL_import_double_buffering< TENSORTYPE > Struct Template Reference

Wait for the previous import operation to complete before beginning an import of the next tile. More...

#include <TTL_double_scheme.h>

Collaboration diagram for TTL_import_double_buffering< TENSORTYPE >:

Public Member Functions

 TTL_import_double_buffering (TTL_local(TENSORTYPE *) int_base1, TTL_local(TENSORTYPE *) int_base2, TTL_tensor< TENSORTYPE > ext_tensor, TTL_event *event, TTL_tile first_tile)
 Create a TTL_import_double_buffering and begin the buffering process.
 
TTL_sub_tensor< TENSORTYPE > step_buffering (const TTL_tile next_tile)
 
void finish_buffering ()
 Complete any transfers required to finish the buffering process.
 

Data Fields

TTL_eventm_event
 
TTL_tile m_prev_tile
 Store of the previous imported tile *‍/.
 
TTL_common_buffering< TENSORTYPE, 2 > m_common
 The information that is m_common to all pipeline schemes.
 

Detailed Description

template<typename TENSORTYPE>
struct TTL_import_double_buffering< TENSORTYPE >

Wait for the previous import operation to complete before beginning an import of the next tile.

Parameters
dbTTL_import_double_buffering describing the attributes of the transfer
next_tileA description of the tile to begin importing.

Definition at line 37 of file p/pipelines/TTL_double_scheme.h.

Constructor & Destructor Documentation

◆ TTL_import_double_buffering()

template<typename TENSORTYPE>
TTL_import_double_buffering< TENSORTYPE >::TTL_import_double_buffering ( TTL_local(TENSORTYPE *) int_base1,
TTL_local(TENSORTYPE *) int_base2,
TTL_tensor< TENSORTYPE > ext_tensor,
TTL_event * event,
TTL_tile first_tile )
inline

Create a TTL_import_double_buffering and begin the buffering process.

Parameters
int_base1A pointer to the 1st local buffer
int_base2A pointer to the 2nd local buffer
ext_tensorA tensor describing the input in global memory
eventA pointer to the event to use for the inward (external to internal) transfer completion
first_tileThe first tile to fetch for the scheme
Returns
The TTL_import_double_buffering created from the input parameters.

Example:

TTL_event import_DB_e = TTL_get_event();
TTL_import_double_buffering import_db(l_in1, l_in2, ext_base_in, ext_layout_in, &import_DB_e);
static TTL_event_t TTL_get_event()
Return an empty event of type TTL_event_t.
event_t TTL_event
TTL_event is a pseudonym for OpenCL event_t.
TTL_import_double_buffering(TTL_local(TENSORTYPE *) int_base1, TTL_local(TENSORTYPE *) int_base2, TTL_tensor< TENSORTYPE > ext_tensor, TTL_event *event, TTL_tile first_tile)
Create a TTL_import_double_buffering and begin the buffering process.


This can be optimized and standardized using the TTL_step_buffering call.

Definition at line 69 of file p/pipelines/TTL_double_scheme.h.

Member Function Documentation

◆ finish_buffering()

template<typename TENSORTYPE>
void TTL_import_double_buffering< TENSORTYPE >::finish_buffering ( )
inline

Complete any transfers required to finish the buffering process.

Any transfers that are still in progress will be completed and any transfers that need to be started and completed before finish_buffering returns

Definition at line 122 of file p/pipelines/TTL_double_scheme.h.

◆ step_buffering()

template<typename TENSORTYPE>
TTL_sub_tensor< TENSORTYPE > TTL_import_double_buffering< TENSORTYPE >::step_buffering ( const TTL_tile next_tile)
inline

Definition at line 83 of file p/pipelines/TTL_double_scheme.h.

Field Documentation

◆ m_common

template<typename TENSORTYPE>
TTL_common_buffering<TENSORTYPE, 2> TTL_import_double_buffering< TENSORTYPE >::m_common

The information that is m_common to all pipeline schemes.

Definition at line 130 of file p/pipelines/TTL_double_scheme.h.

◆ m_event

template<typename TENSORTYPE>
TTL_event* TTL_import_double_buffering< TENSORTYPE >::m_event

A pointer to the event that is used to track the progress of the transfer

Definition at line 126 of file p/pipelines/TTL_double_scheme.h.

◆ m_prev_tile

template<typename TENSORTYPE>
TTL_tile TTL_import_double_buffering< TENSORTYPE >::m_prev_tile

Store of the previous imported tile *‍/.

Definition at line 128 of file p/pipelines/TTL_double_scheme.h.


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