diff --git a/include/ck/utility/type_convert.hpp b/include/ck/utility/type_convert.hpp index ad2acdf0ad..0f273affec 100644 --- a/include/ck/utility/type_convert.hpp +++ b/include/ck/utility/type_convert.hpp @@ -58,20 +58,6 @@ inline __host__ __device__ constexpr bhalf_t bf16_convert_rtn(fl uint32_t int32; } u = {x}; - uint32_t sign = u.int32 & 0x80000000; - uint32_t exp = u.int32 & 0x7F800000; - - // 处理超出bf16指数范围的情况(溢出) - if(exp > 0x47800000) - { // 原float指数超过bf16最大正常数 - return sign ? uint16_t(0xFF80) : uint16_t(0x7F80); // 钳位到无穷大 - } - // 处理下溢(此处简化为零,实际可能需要调整尾数) - if(exp < 0x38000000) - { // 原float指数过小 - return sign ? uint16_t(0x8000) : uint16_t(0x0000); - } - const uint32_t first_bf16_mantisa_bit = ((u.int32 >> 16) & 1); constexpr uint32_t rounding_bias = uint32_t((1 << 15) - 1); union