mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-05-19 12:30:16 +00:00
Dev/merge u8w8 (#1774)
* port tiles from a8w8
* rm debug used files
* add instances
* remove all non gemm in cmake
* merge; impl fp16
* recover cmake from develop
* add missed files; fix clang format
---------
Co-authored-by: coderfeli <coderfeli@163.com>
[ROCm/composable_kernel commit: 53ab1b9047]
This commit is contained in:
@@ -28,6 +28,7 @@ enum struct GemmDataType
|
||||
F16_F16_F16_F8, // 6
|
||||
F8_F8_BF16, // 7
|
||||
INT8_INT8_BF16, // 8
|
||||
F8_F8_F16, // 9
|
||||
};
|
||||
|
||||
#define OP_NAME "gemm_multiply_multiply"
|
||||
@@ -40,7 +41,7 @@ int profile_gemm_multiply_multiply(int argc, char* argv[])
|
||||
printf("arg1: tensor operation (" OP_NAME ": " OP_DESC ")\n");
|
||||
printf("arg2: data type (0: fp32; 1: fp16; 2: bf16; 3: int8; 4: f8@f16; 5: f16@f8; 6: "
|
||||
"f16->f8; 7: f8->bf16, "
|
||||
"comp f8; 8: int8->bf16)\n");
|
||||
"comp f8; 8: int8->bf16; 9: f8->f16, comp f8;)\n");
|
||||
printf("arg3: matrix layout (0: A[m, k] * B[k, n] = C[m, n];\n");
|
||||
printf(" 1: A[m, k] * B[n, k] = C[m, n];\n");
|
||||
printf(" 2: A[k, m] * B[k, n] = C[m, n];\n");
|
||||
@@ -89,6 +90,7 @@ int profile_gemm_multiply_multiply(int argc, char* argv[])
|
||||
|
||||
using F32 = float;
|
||||
using BF16 = ck::bhalf_t;
|
||||
using F16 = ck::half_t;
|
||||
using F8 = ck::f8_t;
|
||||
using I8 = int8_t;
|
||||
using I32 = int;
|
||||
@@ -165,6 +167,11 @@ int profile_gemm_multiply_multiply(int argc, char* argv[])
|
||||
return profile(
|
||||
F8{}, F8{}, F8{}, F32{}, F32{}, F32{}, BF16{}, Row{}, Col{}, Row{}, Col{}, Row{});
|
||||
}
|
||||
else if(data_type == GemmDataType::F8_F8_F16 && layout == GemmMatrixLayout::MK_NK_MN)
|
||||
{
|
||||
return profile(
|
||||
F8{}, F8{}, F8{}, F32{}, F32{}, F32{}, F16{}, Row{}, Col{}, Row{}, Col{}, Row{});
|
||||
}
|
||||
else if(data_type == GemmDataType::INT8_INT8_BF16 && layout == GemmMatrixLayout::MK_NK_MN)
|
||||
{
|
||||
return profile(
|
||||
|
||||
Reference in New Issue
Block a user