mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-05-21 13:29:20 +00:00
refactor
This commit is contained in:
@@ -10,11 +10,9 @@ __device__ void threadwise_matrix_copy(SrcMatrix,
|
||||
constexpr auto src_mtx = SrcMatrix{};
|
||||
constexpr auto dst_mtx = DstMatrix{};
|
||||
|
||||
#if 1
|
||||
//NRow = 1
|
||||
#if 0
|
||||
for(index_t i = 0; i < NRow; ++i)
|
||||
{
|
||||
//NCol = 4
|
||||
for(index_t j = 0; j < NCol; ++j)
|
||||
{
|
||||
const index_t src_index = src_mtx.Get1dIndex(i, j);
|
||||
@@ -23,7 +21,7 @@ __device__ void threadwise_matrix_copy(SrcMatrix,
|
||||
p_dst[dst_index] = p_src[src_index];
|
||||
}
|
||||
}
|
||||
#elif 0
|
||||
#elif 1
|
||||
static_assert(NCol == 4, "only for NCol == 4");
|
||||
|
||||
using vector_t = typename vector_type<Float, 4>::MemoryType;
|
||||
@@ -33,22 +31,8 @@ __device__ void threadwise_matrix_copy(SrcMatrix,
|
||||
const index_t src_index = src_mtx.Get1dIndex(i, 0);
|
||||
const index_t dst_index = dst_mtx.Get1dIndex(i, 0);
|
||||
|
||||
#if 0
|
||||
*(reinterpret_cast<vector_t*>(&p_dst[dst_index]) =
|
||||
*(reinterpret_cast<vector_t*>(&p_dst[dst_index])) =
|
||||
*(reinterpret_cast<const vector_t*>(&p_src[src_index]));
|
||||
#elif 0
|
||||
asm volatile("\n \
|
||||
ds_read2_b64 %0, %1 offset1:1 \n \
|
||||
s_waitcnt lgkmcnt(0)"
|
||||
: "=v"(*(reinterpret_cast<vector_t*>(&p_dst[dst_index])))
|
||||
: "v"(__to_local((void*)(&p_src[src_index]))));
|
||||
#elif 1
|
||||
asm volatile("\n \
|
||||
ds_read_b128 %0, %1 \n \
|
||||
s_waitcnt lgkmcnt(0)"
|
||||
: "=v"(*(reinterpret_cast<vector_t*>(&p_dst[dst_index])))
|
||||
: "v"(__to_local((void*)(&p_src[src_index]))));
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
}
|
||||
@@ -84,13 +68,10 @@ __device__ void threadwise_gemm(MatrixA,
|
||||
constexpr index_t N = c_mtx.NCol();
|
||||
constexpr index_t K = a_mtx.NRow(); // A is transposed
|
||||
|
||||
// K = 1
|
||||
for(index_t k = 0; k < K; ++k)
|
||||
{
|
||||
// M = 8
|
||||
for(index_t i = 0; i < M; ++i)
|
||||
{
|
||||
// N = 8
|
||||
for(index_t j = 0; j < N; ++j)
|
||||
{
|
||||
const index_t aindex = a_mtx.Get1dIndex(k, i); // A is transposed
|
||||
|
||||
Reference in New Issue
Block a user