copy_tile

void ckernel::copy_tile(uint32_t in_cb_id, uint32_t in_tile_index, uint32_t dst_tile_index)

Copies a single tile from the specified input CB and writes the result to DST at a specified index. The function will employ unpacker to first unpack into SRC registers and then perform move into DST registers, at a specified index. For the in_tile_index to be valid for this call, cb_wait_front(n) had to be previously called to ensure that at least some number n>0 of tiles are available in the input CB. The CB index 0 then references the first tile in the received section of the CB, up to index n-1 (in a FIFO order). The DST register buffer must be in acquired state via acquire_dst call. This call is blocking and is only available on the compute engine.

Return value: None

| Argument | Description | Data type | Valid range | required | |————-—|—————————————————|——–—|————————————————–—|——-—| | in_cb_id | The identifier of the source circular buffer (CB) | uint32_t | 0 to 31 | Yes | | in_tile_index | The index of the tile to copy from the input CB | uint32_t | Must be less than the size of the CB | Yes | | dst_tile_index | The index of the tile in the DST register | uint32_t | Must be less than the size of the DST register (16) | Yes |