tilize
-
void ckernel::tilize_init(uint32_t icb, uint32_t block, uint32_t ocb)
-
Initializes the tilize operation. Should be called once at the beginning of a kernel.
Return value: None
Param Type
Name
Description
Type
Valid Range
Required
Function
icb
Input circular buffer identifier
uint32_t
0 to 31
True
Function
block
Size of tile block to work on
uint32_t
> 0
True
Function
ocb
Output circular buffer identifier
uint32_t
0 to 31
True
-
template<bool neginf_srcA = true, bool zero_srcA_reduce = false>
void ckernel::tilizeA_B_reduce_init(uint32_t icb0, uint32_t icb1_scaler, uint32_t block, uint32_t ocb, uint32_t num_faces = 4, uint32_t face_r_dim = 16)
-
Initializes the tilize operation with reduction. Should be called once at the beginning of a kernel.
Return value: None
Param Type
Name
Description
Type
Valid Range
Required
Template
neginf_srcA
NegInf source A flag
bool
true/false
False
Template
zero_srcA_reduce
Zero source A for reduce flag
bool
true/false
False
Function
icb0
Input circular buffer A identifier
uint32_t
0 to 31
True
Function
icb1_scaler
Input circular buffer for scaler
uint32_t
0 to 31
True
Function
block
Size of tile block to work on
uint32_t
> 0
True
Function
ocb
Output circular buffer identifier
uint32_t
0 to 31
True
Function
num_faces
Number of faces per tile
uint32_t
1 to 4
False
Function
face_r_dim
Number of rows in each face
uint32_t
1 to 16
False
-
void ckernel::tilize_init_short_with_dt(uint32_t old_icb, uint32_t new_icb, uint32_t block, uint32_t ocb)
-
Re-initializes the tilize operation and reconfigures the unpacker with CB data type.
Return value: None
Param Type
Name
Description
Type
Valid Range
Required
Function
old_icb
Previous input circular buffer identifier
uint32_t
0 to 31
True
Function
new_icb
New input circular buffer identifier
uint32_t
0 to 31
True
Function
block
Size of tile block to work on
uint32_t
> 0
True
Function
ocb
Output circular buffer identifier
uint32_t
0 to 31
True
-
void ckernel::tilize_block(uint32_t icb, uint32_t block, uint32_t ocb)
-
Performs the tilize operation on a block.
Return value: None
Param Type
Name
Description
Type
Valid Range
Required
Function
icb
Input circular buffer identifier
uint32_t
0 to 31
True
Function
block
Size of tile block to work on
uint32_t
> 0
True
Function
ocb
Output circular buffer identifier
uint32_t
0 to 31
True
-
template<bool neginf_srcA = true, std::uint32_t reload_srcB = true, bool zero_srcA = false, bool zero_srcA_reduce = false>
void ckernel::unpack_tilizeA_B_block(uint32_t icb0, uint32_t icb1, uint32_t block, uint32_t tile_idx_b, uint32_t num_faces = 4, uint32_t srca_face_r_dim = 16)
-
Unpacks and tilizes a block from two input CBs.
Return value: None
Param Type
Name
Description
Type
Valid Range
Required
Template
neginf_srcA
NegInf source A flag
bool
true/false
False
Template
reload_srcB
Reload source B flag
std::uint32_t
true/false
False
Template
zero_srcA
Zero source A flag
bool
true/false
False
Template
zero_srcA_reduce
Zero source A for reduce flag
bool
true/false
False
Function
icb0
Input circular buffer A identifier
uint32_t
0 to 31
True
Function
icb1
Input circular buffer B identifier
uint32_t
0 to 31
True
Function
block
Size of tile block to work on
uint32_t
> 0
True
Function
tile_idx_b
Tile index for source B
uint32_t
>= 0
True
Function
num_faces
Number of faces per tile
uint32_t
1 to 4
False
Function
srca_face_r_dim
Number of rows in each face (A)
uint32_t
1 to 16
False
-
void ckernel::tilize_uninit(uint32_t icb, uint32_t ocb)
-
Uninitializes the tilize operation before re-initializing for another operation.
Return value: None
Param Type
Name
Description
Type
Valid Range
Required
Function
icb
Input circular buffer identifier
uint32_t
0 to 31
True
Function
ocb
Output circular buffer identifier
uint32_t
0 to 31
True
-
void ckernel::tilize_uninit_with_dt(uint32_t old_icb, uint32_t new_icb, uint32_t ocb)
-
Uninitializes the tilize operation and reconfigures the unpacker with CB data types.
Return value: None
Param Type
Name
Description
Type
Valid Range
Required
Function
old_icb
Previous input circular buffer identifier
uint32_t
0 to 31
True
Function
new_icb
New input circular buffer identifier
uint32_t
0 to 31
True
Function
ocb
Output circular buffer identifier
uint32_t
0 to 31
True