61template <
typename TENSORTYPE>
153 m_common.ext_tensor_in = ext_tensor_in;
154 m_common.ext_tensor_out = ext_tensor_out;
165 tile_current_import.
shape,
167 tile_current_import.
offset,
170 tile_current_import.
shape,
173 tile_current_import.
offset);
178 if (tile_current_import.
empty() ==
false)
180 next_import_ext_tensor,
185 next_export_ext_tensor,
190 tile_current_export.
shape,
192 tile_current_export.
offset,
195 tile_current_export.
shape,
198 tile_current_export.
offset);
static void TTL_wait(const int num_events, TTL_event_t *const events)
event_t TTL_event
TTL_event is a pseudonym for OpenCL event_t.
#define TTL_local(type)
Create a typed reference in the __local address space.
static void TTL_import_sub_tensor(const TTL_int_void_sub_tensor_t internal_sub_tensor, const TTL_const_ext_void_tensor_t const_external_tensor, TTL_event_t *event)
Implementation of TTL_import_sub_tensor.
static void TTL_export(const TTL_const_int_void_tensor_t internal_tensor, const TTL_ext_void_tensor_t external_tensor, TTL_event_t *event)
Export the external tensor to the internal tensor returning when complete.
TTL_duplex_buffering(TTL_tensor< TENSORTYPE > ext_tensor_in, TTL_local(TENSORTYPE *) int_base_in, TTL_tensor< TENSORTYPE > ext_tensor_out, TTL_local(TENSORTYPE *) int_base_out, TTL_event(*input_events)[2], TTL_tile first_tile)
Create a TTL_DUPLEX_BUFFERING_TYPE and begin the buffering process.
TTL_io_tensors< TENSORTYPE > step_buffering(TTL_tile tile_current_import, TTL_tile tile_current_export)
TTL_tensor< TENSORTYPE > to_export_to
TTL_common_buffering< TENSORTYPE, 2 > m_common
The information that is m_common to all pipeline schemes.
static constexpr unsigned int IMPORT_BUFFER
Indexes to use for importing and exporting of data.
struct TTL_duplex_buffering::@107345071274067227120266144277122261200055226157 m_prev_out_tensors
Store of the buffers used for the previous import/export cycles.
static constexpr unsigned int EXPORT_BUFFER
TTL_tensor< TENSORTYPE > to_export_from
void finish_buffering()
Complete any transfers required to finish the buffering process.
Describes a pair of internal Tensors after an operation.
Description of a Tensor layout in memory.
TTL_dim height
Number of rows along dimension y.
TTL_dim width
Number of elements along dimension x.
A tensor plus its reference to its parent tensor.
A poor mans base class for an a tensor in the passed address space.
bool empty() const
Check if the tile passed is empty.