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