mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-05-05 14:11:29 +00:00
[rocm-libraries] ROCm/rocm-libraries#5849 (commit d9b89b2)
[CK_TILE ]Revert "[CK_TILE] Enable MXFP6 for MX GEMM op (#5095)" (#5849) This reverts commit 7e55766ddf7e9e20791b0e4e2d7b4026cf16b637. ## Motivation <!-- Explain the purpose of this PR and the goals it aims to achieve. --> ## Technical Details <!-- Explain the changes along with any relevant GitHub links. --> ## Test Plan <!-- Explain any relevant testing done to verify this PR. --> ## Test Result <!-- Briefly summarize test outcomes. --> ## Submission Checklist - [x] Look over the contributing guidelines at https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
This commit is contained in:
committed by
assistant-librarian[bot]
parent
c28d0033d7
commit
3b55a05e71
@@ -22,10 +22,7 @@ struct pk_fp6_t
|
||||
static constexpr index_t vector_size = (packed_size * num_bits_elem) / num_bits_vec_elem;
|
||||
element_type data_[vector_size]; // packed data
|
||||
using type = pk_fp6_t<packed_size>;
|
||||
|
||||
CK_TILE_HOST_DEVICE constexpr pk_fp6_t() : data_{element_type{}} {}
|
||||
|
||||
CK_TILE_HOST_DEVICE constexpr explicit pk_fp6_t(int value)
|
||||
CK_TILE_HOST_DEVICE constexpr explicit pk_fp6_t(int value = 0)
|
||||
{
|
||||
for(size_t i = 0; i < vector_size; ++i)
|
||||
{
|
||||
@@ -62,14 +59,13 @@ struct pk_fp6_t
|
||||
const int bit_offset = bit_pos % num_bits_vec_elem;
|
||||
const int overhang = bit_offset + num_bits_elem - num_bits_vec_elem;
|
||||
|
||||
uint32_t bits = static_cast<uint32_t>(pk.data_[arr_idx]) >> bit_offset;
|
||||
int32_t bits = pk.data_[arr_idx] >> bit_offset;
|
||||
if(overhang > 0 && (arr_idx + 1) < vector_size)
|
||||
{
|
||||
bits |= (static_cast<uint32_t>(pk.data_[arr_idx + 1]) & ((1u << overhang) - 1))
|
||||
<< (num_bits_elem - overhang);
|
||||
bits |= (pk.data_[arr_idx + 1] & ((1u << overhang) - 1)) << (num_bits_elem - overhang);
|
||||
}
|
||||
|
||||
return static_cast<int32_t>(bits & 0x3F);
|
||||
return bits & 0x3F;
|
||||
}
|
||||
|
||||
CK_TILE_HOST_DEVICE int32_t unpack(const index_t i) const { return unpack(*this, i); }
|
||||
@@ -101,22 +97,6 @@ struct pk_fp6_t
|
||||
}
|
||||
return sign == 1 ? -1 * result : result;
|
||||
}
|
||||
|
||||
CK_TILE_HOST static int32_t float_to_fp6_e2m3(float val)
|
||||
{
|
||||
int32_t best = 0;
|
||||
float best_err = 1e30f;
|
||||
for(int32_t i = 0; i < 64; i++)
|
||||
{
|
||||
float err = std::fabs(val - fp6_e2m3_to_float(i));
|
||||
if(err < best_err)
|
||||
{
|
||||
best = i;
|
||||
best_err = err;
|
||||
}
|
||||
}
|
||||
return best;
|
||||
}
|
||||
};
|
||||
|
||||
using pk_fp6x16_t = pk_fp6_t<16>;
|
||||
@@ -125,7 +105,5 @@ template <>
|
||||
struct numeric_traits<pk_fp6x16_t>
|
||||
{
|
||||
static constexpr int PackedSize = 16;
|
||||
static constexpr int exp = 2;
|
||||
static constexpr int mant = 3;
|
||||
};
|
||||
} // namespace ck_tile
|
||||
|
||||
Reference in New Issue
Block a user