binary_shift_tile
-
void ckernel::binary_shift_tile_init()
-
Please refer to documentation for any_init.
Left Shift
-
template<DataFormat data_format>
void ckernel::binary_left_shift_tile(uint32_t idst0, uint32_t idst1, uint32_t odst)
-
Performs an elementwise shift operation to the left on the input at idst0, by input at idst1: y = x0 << x1 Both inputs must be of same data type only. Output overwrites odst in DST.
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. A maximum of 4 tiles from each operand can be loaded into DST at once, for a total of 8 tiles, when using 16 bit formats. This gets reduced to 2 tiles from each operand for 32 bit formats.
Return value: None
Argument Description
idst0 The index of the tile in DST register buffer to use as first operand
idst1 The index of the tile in DST register buffer to use as second operand
odst The index of the tile in DST register buffer to use as output
- Template Parameters:
-
data_formatTemplate argument specifying the data type. Supported data formats are: DataFormat::Int32, DataFormat::UInt32, DataFormat::UInt16
Right Shift
-
template<DataFormat data_format>
void ckernel::binary_right_shift_tile(uint32_t idst0, uint32_t idst1, uint32_t odst)
-
Performs an elementwise shift operation to the right on the input at idst0, by input at idst1: y = x0 >> x1 Both inputs must be of same data type only. Output overwrites odst in DST.
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. A maximum of 4 tiles from each operand can be loaded into DST at once, for a total of 8 tiles, when using 16 bit formats. This gets reduced to 2 tiles from each operand for 32 bit formats.
Return value: None
Argument Description
idst0 The index of the tile in DST register buffer to use as first operand
idst1 The index of the tile in DST register buffer to use as second operand
odst The index of the tile in DST register buffer to use as output
- Template Parameters:
-
data_formatTemplate argument specifying the data type. Supported data formats are: DataFormat::Int32, DataFormat::UInt32, DataFormat::UInt16
Logical Right Shift
-
template<DataFormat data_format>
void ckernel::binary_logical_right_shift_tile(uint32_t idst0, uint32_t idst1, uint32_t odst)
-
Performs an elementwise logical shift operation to the right on the input at idst0, by input at idst1: y = x0 >> x1 Both inputs must be same data type only. Output overwrites odst in DST.
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. A maximum of 4 tiles from each operand can be loaded into DST at once, for a total of 8 tiles, when using 16 bit formats. This gets reduced to 2 tiles from each operand for 32 bit formats.
Return value: None
Argument Description
idst0 The index of the tile in DST register buffer to use as first operand
idst1 The index of the tile in DST register buffer to use as second operand
odst The index of the tile in DST register buffer to use as output
- Template Parameters:
-
data_formatTemplate argument specifying the data type. Supported data formats are: DataFormat::Int32, DataFormat::UInt32, DataFormat::UInt16