Skip to content

Commit c2c04c4

Browse files
committed
Added flag to disable src zero detection flag for eltwise unary/sfpu ops in blackhole
1 parent 9727eca commit c2c04c4

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

tt_llk_blackhole/common/inc/cunpack_common.h

+4-1
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ namespace ckernel::unpacker
192192
cfg_reg_rmw_tensix<ALU_FORMAT_SPEC_REG0_SrcA_ADDR32, 0, ALU_ACC_CTRL_INT8_math_enabled_MASK>(alu_payload.val);
193193
}
194194

195-
template<bool row_pool=false, bool is_fp32_dest_acc_en = false, bool fpu_srnd_en = false, bool pack_srnd_en = false>
195+
template<bool row_pool=false, bool is_fp32_dest_acc_en = false, bool fpu_srnd_en = false, bool pack_srnd_en = false, bool disable_src_zero_flag = false>
196196
inline void configure_unpack_AB(
197197
const uint unpA_src_format,
198198
const uint unpB_src_format,
@@ -272,6 +272,9 @@ namespace ckernel::unpacker
272272
cfg_reg_rmw_tensix<ALU_FORMAT_SPEC_REG0_SrcA_ADDR32, 0, alu_mask>(alu_payload.val);
273273

274274
uint32_t src_zeroflags_disable = ((uint)unpA_dst_format == (uint)DataFormat::UInt16) || ((uint)unpB_dst_format == (uint)DataFormat::UInt16);
275+
if constexpr (disable_src_zero_flag) {
276+
src_zeroflags_disable = true;
277+
}
275278
cfg_reg_rmw_tensix<ALU_ACC_CTRL_Zero_Flag_disabled_src_RMW>(src_zeroflags_disable);
276279

277280
//Set FP8 E4M3 mode, bit is accessible by unpacker/packer

tt_llk_blackhole/llk_lib/llk_unpack_A.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -140,13 +140,13 @@ inline void _llk_unpack_A_mop_config_(const bool transpose_of_faces, const std::
140140
}
141141
}
142142

143-
template <bool is_fp32_dest_acc_en = false, StochRndType stoch_rnd_mode = StochRndType::None>
143+
template <bool is_fp32_dest_acc_en = false, StochRndType stoch_rnd_mode = StochRndType::None, bool disable_src_zero_flag = false>
144144
inline void _llk_unpack_A_hw_configure_(const std::uint32_t unpack_src_format, const std::uint32_t unpack_dst_format, const std::uint32_t face_r_dim = FACE_R_DIM, const std::uint32_t within_face_16x16_transpose = 0, const std::uint32_t num_faces = 4) {
145145
constexpr bool is_row_pool = false;
146146
constexpr bool stoch_rnd_en = (stoch_rnd_mode == StochRndType::All);
147147
constexpr bool fpu_srnd_en = stoch_rnd_en || (stoch_rnd_mode == StochRndType::Fpu);
148148
constexpr bool pack_srnd_en = stoch_rnd_en ||(stoch_rnd_mode == StochRndType::Pack);
149-
configure_unpack_AB<is_row_pool, is_fp32_dest_acc_en, fpu_srnd_en, pack_srnd_en>(
149+
configure_unpack_AB<is_row_pool, is_fp32_dest_acc_en, fpu_srnd_en, pack_srnd_en, disable_src_zero_flag>(
150150
unpack_src_format,
151151
unpack_src_format,
152152
unpack_dst_format,

0 commit comments

Comments
 (0)