diff --git a/example/01_gemm/gemm_xdl_fp16_v2.cpp b/example/01_gemm/gemm_xdl_fp16_v2.cpp index c71ec7ad4b..02df13a4ac 100644 --- a/example/01_gemm/gemm_xdl_fp16_v2.cpp +++ b/example/01_gemm/gemm_xdl_fp16_v2.cpp @@ -130,9 +130,65 @@ using DeviceGemmInstance_2 = 1, 1, S<1, 32, 1, 8>, 8, ck::LoopScheduler::Default, ck::PipelineVersion::v1>; +using DeviceGemmInstance_3 = + ck::tensor_operation::device::DeviceGemm_Xdl_CShuffleV2< + ALayout, BLayout, CLayout, + F16, F16, F16, F32, F16, + PassThrough, PassThrough, PassThrough, GemmDefault, + 2, 256, + 256, 256, + 32, 8, 4, + 32, 32, + 4, 4, + S<4, 64, 1>, S<1, 0, 2>, S<1, 0, 2>, + 2, 8, 8, 0, + S<4, 64, 1>, S<1, 0, 2>, S<1, 0, 2>, + 2, 4, 8, 0, + 1, 1, S<1, 32, 1, 8>, 8, + ck::LoopScheduler::Default, ck::PipelineVersion::v1>; + +using DeviceGemmInstance_4 = + ck::tensor_operation::device::DeviceGemm_Xdl_CShuffleV2< + ALayout, BLayout, CLayout, + F16, F16, F16, F32, F16, + PassThrough, PassThrough, PassThrough, GemmDefault, + 2, 256, + 256, 256, + 32, 8, 8, + 16, 16, + 8, 8, + S<4, 64, 1>, S<1, 0, 2>, S<1, 0, 2>, + 2, 8, 8, 0, + S<4, 32, 2>, S<0, 2, 1>, S<0, 2, 1>, + 1, 8, 8, 0, + 1, 1, S<1, 32, 1, 8>, 4, + ck::LoopScheduler::Default, ck::PipelineVersion::v1>; + +using DeviceGemmInstance_5 = + ck::tensor_operation::device::DeviceGemm_Xdl_CShuffleV2< + ALayout, BLayout, CLayout, + F16, F16, F16, F32, F16, + PassThrough, PassThrough, PassThrough, GemmDefault, + 2, 256, + 256, 256, + 32, 8, 4, + 16, 16, + 8, 8, + S<4, 64, 1>, S<1, 0, 2>, S<1, 0, 2>, + 2, 8, 8, 0, + S<4, 64, 1>, S<1, 0, 2>, S<1, 0, 2>, + 2, 4, 8, 0, + 1, 1, S<1, 32, 1, 8>, 4, + ck::LoopScheduler::Default, ck::PipelineVersion::v1>; + + int main(int argc, char* argv[]) { run_gemm_example_with_instance(argc, argv); run_gemm_example_with_instance(argc, argv); + run_gemm_example_with_instance(argc, argv); + run_gemm_example_with_instance(argc, argv); + run_gemm_example_with_instance(argc, argv); + run_gemm_example_with_instance(argc, argv); }