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

#include <TTL_simplex_scheme.h>

Collaboration diagram for TTL_simplex_buffering< TENSORTYPE >:

Public Member Functions

 TTL_simplex_buffering (TENSORTYPE *const int_base1, TENSORTYPE *const int_base2, TENSORTYPE *const int_base3, const TTL_tensor< TENSORTYPE > &ext_tensor_in, const TTL_tensor< TENSORTYPE > &ext_tensor_out, TTL_event *input_event_in, TTL_event *input_event_out, const TTL_tile first_tile)
 Create a TTL_simplex_buffering and begin the buffering process.
 
TTL_io_tensors< TENSORTYPE > step_buffering (const TTL_tile &tile_next_import, const TTL_tile &tile_current_export)
 
void finish_buffering ()
 Complete any transfers required to finish the buffering process.
 

Data Fields

TTL_common_buffering< TENSORTYPE, 3 > m_common
 The information that is m_common to all pipeline schemes.
 
TTL_eventm_event_in
 
TTL_eventm_event_out
 
TTL_tile m_next_exported_tile
 
TTL_sub_tensor< TENSORTYPE > m_int_prev_imported
 

Detailed Description

template<typename TENSORTYPE>
struct TTL_simplex_buffering< TENSORTYPE >

Definition at line 61 of file p/pipelines/TTL_simplex_scheme.h.

Constructor & Destructor Documentation

◆ TTL_simplex_buffering()

template<typename TENSORTYPE>
TTL_simplex_buffering< TENSORTYPE >::TTL_simplex_buffering ( TENSORTYPE *const int_base1,
TENSORTYPE *const int_base2,
TENSORTYPE *const int_base3,
const TTL_tensor< TENSORTYPE > & ext_tensor_in,
const TTL_tensor< TENSORTYPE > & ext_tensor_out,
TTL_event * input_event_in,
TTL_event * input_event_out,
const TTL_tile first_tile )
inline

Create a TTL_simplex_buffering and begin the buffering process.

Parameters
int_base1The address of the first buffer to be used in local memory
int_base2The address of the second buffer to be used in local memory
int_base3The address of the third buffer to be used in local memory
ext_tensor_inThe external tensor to import the input data from
ext_tensor_outThe external tensor to export the output data to
m_event_inA pointer to the event to use for the inward (external to internal) transfer completion
m_event_outA pointer to the event to use for the inward (internal to external) transfer completion
first_tileThe first tile to fetch for the scheme

Solid description of TTL_simplex_buffering buffering here

Returns
The TTL_simplex_buffering created from the input parameters

Example:

TTL_event tb_e_out = TTL_get_event();
ext_base_in, ext_base_out, l_buff1, l_buff2, l_buff3, ext_layout_in,
ext_layout_out, &tb_e_in, &tb_e_out);
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_simplex_buffering(TENSORTYPE *const int_base1, TENSORTYPE *const int_base2, TENSORTYPE *const int_base3, const TTL_tensor< TENSORTYPE > &ext_tensor_in, const TTL_tensor< TENSORTYPE > &ext_tensor_out, TTL_event *input_event_in, TTL_event *input_event_out, const TTL_tile first_tile)
Create a TTL_simplex_buffering and begin the buffering process.


This can be optimized and standardized using the TTL_step_buffering call.

Definition at line 103 of file p/pipelines/TTL_simplex_scheme.h.

Member Function Documentation

◆ finish_buffering()

template<typename TENSORTYPE>
void TTL_simplex_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 187 of file p/pipelines/TTL_simplex_scheme.h.

◆ step_buffering()

template<typename TENSORTYPE>
TTL_io_tensors< TENSORTYPE > TTL_simplex_buffering< TENSORTYPE >::step_buffering ( const TTL_tile & tile_next_import,
const TTL_tile & tile_current_export )
inline

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

Field Documentation

◆ m_common

template<typename TENSORTYPE>
TTL_common_buffering<TENSORTYPE, 3> TTL_simplex_buffering< TENSORTYPE >::m_common

The information that is m_common to all pipeline schemes.

Definition at line 192 of file p/pipelines/TTL_simplex_scheme.h.

◆ m_event_in

template<typename TENSORTYPE>
TTL_event* TTL_simplex_buffering< TENSORTYPE >::m_event_in

Definition at line 194 of file p/pipelines/TTL_simplex_scheme.h.

◆ m_event_out

template<typename TENSORTYPE>
TTL_event* TTL_simplex_buffering< TENSORTYPE >::m_event_out

Definition at line 195 of file p/pipelines/TTL_simplex_scheme.h.

◆ m_int_prev_imported

template<typename TENSORTYPE>
TTL_sub_tensor<TENSORTYPE> TTL_simplex_buffering< TENSORTYPE >::m_int_prev_imported

Definition at line 198 of file p/pipelines/TTL_simplex_scheme.h.

◆ m_next_exported_tile

template<typename TENSORTYPE>
TTL_tile TTL_simplex_buffering< TENSORTYPE >::m_next_exported_tile

Definition at line 197 of file p/pipelines/TTL_simplex_scheme.h.


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