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

#include <TTL_double_scheme.h>

Collaboration diagram for TTL_export_double_buffering< TENSORTYPE >:

Public Member Functions

 TTL_export_double_buffering (TTL_local(TENSORTYPE *) int_base1, TTL_local(TENSORTYPE *) int_base2, TTL_tensor< TENSORTYPE > ext_tensor, TTL_event *event)
 Create a TTL_import_double_buffering and begin the buffering process.
 
TTL_sub_tensor< TENSORTYPE > step_buffering (TTL_tile tile_current)
 Wait for the previous import operation to complete before beginning an export of 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_export_double_buffering< TENSORTYPE >

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

Constructor & Destructor Documentation

◆ TTL_export_double_buffering()

template<typename TENSORTYPE>
TTL_export_double_buffering< TENSORTYPE >::TTL_export_double_buffering ( TTL_local(TENSORTYPE *) int_base1,
TTL_local(TENSORTYPE *) int_base2,
TTL_tensor< TENSORTYPE > ext_tensor,
TTL_event * event )
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
Returns
The TTL_export_double_buffering created from the input parameters.

Example:

TTL_event import_DB_e = TTL_get_event();
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_export_double_buffering(TTL_local(TENSORTYPE *) int_base1, TTL_local(TENSORTYPE *) int_base2, TTL_tensor< TENSORTYPE > ext_tensor, TTL_event *event)
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 166 of file p/pipelines/TTL_double_scheme.h.

Member Function Documentation

◆ finish_buffering()

template<typename TENSORTYPE>
void TTL_export_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 217 of file p/pipelines/TTL_double_scheme.h.

◆ step_buffering()

template<typename TENSORTYPE>
TTL_sub_tensor< TENSORTYPE > TTL_export_double_buffering< TENSORTYPE >::step_buffering ( TTL_tile tile_current)
inline

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

Parameters
tile_currentA description of the tile to begin exporting.

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

Field Documentation

◆ m_common

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

The information that is m_common to all pipeline schemes.

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

◆ m_event

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

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

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

◆ m_prev_tile

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

Store of the previous imported tile *‍/.

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


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