From 1eb2e57380bf2a80dde88eb5bc9b7895e2d79f68 Mon Sep 17 00:00:00 2001 From: Joseph Macaranas <145489236+amd-jmacaran@users.noreply.github.com> Date: Wed, 30 Apr 2025 13:46:39 -0400 Subject: [PATCH] Reorganize project folders (#6) --- .azuredevops/rocm-ci.yml | 30 + .clang-format | 90 + .clang-tidy | 3 + .github/CODEOWNERS | 8 + .github/CONTRIBUTING.md | 10 + .github/ISSUE_TEMPLATE.md | 14 + .github/ISSUE_TEMPLATE/config.yml | 1 + .github/ISSUE_TEMPLATE/issue_report.yml | 221 ++ .github/PULL_REQUEST_TEMPLATE.md | 20 + .github/dependabot.yml | 18 + .gitignore | 70 + .pre-commit-config.yaml | 14 + .readthedocs.yaml | 18 + CHANGELOG.md | 123 + CITATION.cff | 67 + CMakeLists.txt | 671 ++++ CONTRIBUTORS.md | 35 + Config.cmake.in | 11 + Dockerfile | 123 + Dockerfile.compiler | 26 + Jenkinsfile | 1268 ++++++++ LICENSE | 28 + README.md | 216 ++ TERMINOLOGY.md | 2 + client_example/01_gemm/CMakeLists.txt | 2 + client_example/01_gemm/README.md | 126 + client_example/01_gemm/gemm.cpp | 219 ++ .../02_gemm_add_add_fastgelu/CMakeLists.txt | 29 + .../gemm_add_add_fastgelu.cpp | 242 ++ .../gemm_add_add_fastgelu_generic.cpp | 176 ++ .../gemm_add_fastgelu.cpp | 234 ++ .../gemm_add_fastgelu_generic.cpp | 169 + .../gemm_fastgelu.cpp | 226 ++ .../gemm_fastgelu_generic.cpp | 162 + .../03_gemm_layernorm/CMakeLists.txt | 7 + .../gemm_add_add_layernorm_naive.cpp | 277 ++ .../gemm_add_relu_add_layernorm_welford.cpp | 245 ++ client_example/04_contraction/CMakeLists.txt | 16 + .../contraction_bilinear_fp32.cpp | 236 ++ .../contraction_bilinear_fp64.cpp | 281 ++ .../contraction_g1m2n3k1_add_xdl_fp16.cpp | 204 ++ .../04_contraction/contraction_scale_fp32.cpp | 222 ++ .../04_contraction/contraction_scale_fp64.cpp | 270 ++ client_example/05_layernorm/CMakeLists.txt | 11 + .../05_layernorm/layernorm2d_bwd_data.cpp | 170 + .../layernorm2d_bwd_gamma_beta.cpp | 171 + .../05_layernorm/layernorm2d_fwd.cpp | 196 ++ .../05_layernorm/layernorm4d_fwd.cpp | 202 ++ client_example/06_softmax/CMakeLists.txt | 2 + client_example/06_softmax/softmax4d.cpp | 169 + .../07_grouped_convnd_fwd/CMakeLists.txt | 28 + .../07_grouped_convnd_fwd/README.md | 68 + .../07_grouped_convnd_fwd/common.hpp | 304 ++ .../grouped_conv1d_fwd.cpp | 39 + .../grouped_conv2d_fwd.cpp | 42 + .../grouped_conv2d_fwd_ngchw.cpp | 216 ++ .../grouped_conv3d_fwd_bf8.cpp | 46 + .../grouped_conv3d_fwd_bf8_fp8.cpp | 50 + .../grouped_conv3d_fwd_fp8.cpp | 46 + .../grouped_conv3d_fwd_fp8_bf8.cpp | 50 + .../08_fused_attention/CMakeLists.txt | 7 + .../08_fused_attention/fused_attention.cpp | 213 ++ .../fused_attention_bias.cpp | 226 ++ client_example/09_quantization/CMakeLists.txt | 22 + ..._fwd_bias_relu_perchannel_quantization.cpp | 210 ++ ...2d_fwd_bias_relu_perlayer_quantization.cpp | 206 ++ ..._fwd_bias_tanh_perchannel_quantization.cpp | 213 ++ ...2d_fwd_bias_tanh_perlayer_quantization.cpp | 205 ++ .../conv2d_fwd_perchannel_quantization.cpp | 203 ++ .../conv2d_fwd_perlayer_quantization.cpp | 199 ++ .../09_quantization/gemm_quantization.cpp | 193 ++ .../10_grouped_convnd_bwd_data/CMakeLists.txt | 13 + .../10_grouped_convnd_bwd_data/README.md | 48 + .../grouped_conv2d_bwd_data.cpp | 226 ++ .../grouped_conv2d_bwd_data_ngchw.cpp | 205 ++ .../grouped_conv3d_bwd_data.cpp | 205 ++ ..._conv3d_bwd_data_input_fp16_comp_bf8f8.cpp | 207 ++ .../11_grouped_conv_bwd_weight/CMakeLists.txt | 14 + .../11_grouped_conv_bwd_weight/README.md | 62 + .../11_grouped_conv_bwd_weight/common.hpp | 239 ++ .../grouped_conv1d_bwd_weight_fp16.cpp | 56 + .../grouped_conv2d_bwd_weight_fp16.cpp | 62 + .../grouped_conv3d_bwd_weight_fp16.cpp | 65 + ...ed_conv3d_bwd_weight_fp16_comp_bf8_fp8.cpp | 70 + .../grouped_conv3d_bwd_weight_fp32.cpp | 65 + .../CMakeLists.txt | 2 + .../elementwise_layernorm2d.cpp | 176 ++ client_example/13_batchnorm/CMakeLists.txt | 6 + .../13_batchnorm/batchnorm_bwd_nhwc.cpp | 207 ++ .../13_batchnorm/batchnorm_fwd_nhwc.cpp | 203 ++ .../13_batchnorm/batchnorm_infer_nhwc.cpp | 189 ++ client_example/14_instance_id/CMakeLists.txt | 2 + .../batchnorm_fwd_instance_id.cpp | 206 ++ .../15_convnd_bwd_data/CMakeLists.txt | 7 + client_example/15_convnd_bwd_data/common.hpp | 233 ++ .../conv3d_bwd_data_fp16.cpp | 42 + .../conv3d_bwd_data_fp32.cpp | 42 + .../15_gemm_add_multiply/CMakeLists.txt | 4 + .../gemm_add_multiply.cpp | 242 ++ client_example/15_reduce/CMakeLists.txt | 2 + client_example/15_reduce/reduce_nhwc_c.cpp | 175 ++ client_example/16_convnd_fwd/CMakeLists.txt | 15 + client_example/16_convnd_fwd/common.hpp | 304 ++ .../16_convnd_fwd/conv3d_fwd_fp16.cpp | 44 + .../conv3d_fwd_fp16_comp_fp8.cpp | 46 + .../16_convnd_fwd/conv3d_fwd_fp32.cpp | 44 + .../17_grouped_gemm_fastgelu/CMakeLists.txt | 4 + .../grouped_gemm_fastgelu.cpp | 232 ++ client_example/18_groupnorm/CMakeLists.txt | 8 + .../18_groupnorm/groupnorm_bwd_data.cpp | 182 ++ .../18_groupnorm/groupnorm_bwd_gamma_beta.cpp | 180 ++ .../18_groupnorm/groupnorm_swish_fwd.cpp | 236 ++ client_example/19_pool/CMakeLists.txt | 11 + client_example/19_pool/avg_pool3d_bwd.cpp | 191 ++ client_example/19_pool/avg_pool3d_fwd.cpp | 213 ++ client_example/19_pool/max_pool2d_bwd.cpp | 280 ++ client_example/19_pool/max_pool2d_fwd.cpp | 248 ++ client_example/20_splitk_gemm/CMakeLists.txt | 4 + .../20_splitk_gemm/splitK_gemm_fp16_f8.cpp | 226 ++ .../21_grouped_gemm_bias/CMakeLists.txt | 4 + .../grouped_gemm_fixed_nk_bias_fp16.cpp | 243 ++ client_example/22_grouped_gemm/CMakeLists.txt | 13 + .../grouped_gemm_fixed_nk_bf16.cpp | 237 ++ .../grouped_gemm_fixed_nk_fp16.cpp | 236 ++ .../grouped_gemm_fixed_nk_fp8.cpp | 237 ++ .../grouped_gemm_fixed_nk_i8.cpp | 237 ++ .../22_im2col_col2im/CMakeLists.txt | 5 + .../22_im2col_col2im/column_to_image.cpp | 175 ++ .../22_im2col_col2im/image_to_column.cpp | 175 ++ .../23_elementwise_transpose/CMakeLists.txt | 2 + .../elementwise_transpose_3d.cpp | 140 + .../24_grouped_conv_activation/CMakeLists.txt | 102 + ...d_conv_bwd_data_bilinear_residual_fp16.cpp | 217 ++ .../grouped_conv_bwd_data_scale_fp16.cpp | 216 ++ ...conv_bwd_weight_bilinear_residual_fp16.cpp | 226 ++ .../grouped_conv_bwd_weight_scale_fp16.cpp | 226 ++ ...rouped_conv_fwd_bilinear_residual_fp16.cpp | 221 ++ .../common.hpp | 316 ++ .../conv3d_fwd_convinvscale_fp8.cpp | 50 + .../grouped_convnd_fwd_convscale/common.hpp | 316 ++ .../conv3d_fwd_convscale_bf8.cpp | 50 + .../conv3d_fwd_convscale_bf8_fp8.cpp | 50 + .../conv3d_fwd_convscale_fp8.cpp | 50 + .../conv3d_fwd_convscale_fp8_bf8.cpp | 50 + .../common.hpp | 302 ++ .../conv3d_fwd_convscale_add_fp8.cpp | 50 + .../common.hpp | 834 +++++ .../conv3d_fwd_convscale_amax_fp8.cpp | 58 + .../conv3d_fwd_convscale_relu_amax_fp8.cpp | 58 + .../common.hpp | 316 ++ .../conv3d_fwd_convscale_relu_fp8.cpp | 50 + .../grouped_conv_fwd_scale_fp16.cpp | 220 ++ .../grouped_conv_fwd_scaleadd_ab.inc | 221 ++ .../grouped_conv_fwd_scaleadd_ab_bf16.cpp | 13 + .../grouped_conv_fwd_scaleadd_ab_fp16.cpp | 13 + .../grouped_conv_fwd_scaleadd_ab_fp32.cpp | 13 + .../grouped_conv_fwd_scaleadd_ab_int8.cpp | 13 + ...rouped_conv_fwd_scaleadd_scaleadd_relu.inc | 216 ++ ...d_conv_fwd_scaleadd_scaleadd_relu_bf16.cpp | 18 + ...d_conv_fwd_scaleadd_scaleadd_relu_fp16.cpp | 18 + ...d_conv_fwd_scaleadd_scaleadd_relu_fp32.cpp | 18 + ...d_conv_fwd_scaleadd_scaleadd_relu_int8.cpp | 18 + client_example/25_wrapper/CMakeLists.txt | 10 + client_example/25_wrapper/README.md | 172 + .../tensor_transform_using_wrapper.cpp | 114 + .../25_wrapper/wrapper_basic_gemm.cpp | 228 ++ client_example/25_wrapper/wrapper_img2col.cpp | 183 ++ .../25_wrapper/wrapper_optimized_gemm.cpp | 319 ++ .../30_gemm_bf16Aint8B/CMakeLists.txt | 16 + .../gemm_bias_fastgelu_xdl_bf16_i8.cpp | 262 ++ .../gemm_bias_xdl_bf16_i8.cpp | 262 ++ .../30_gemm_bf16Aint8B/gemm_xdl_bf16_i8.cpp | 257 ++ .../gemm_xdl_gelu_bf16_i8.cpp | 261 ++ .../gemm_xdl_multiply_bf16_i8.cpp | 220 ++ .../31_grouped_gemm_bf16Aint8B/CMakeLists.txt | 16 + ...grouped_gemm_bias_fastgelu_xdl_bf16_i8.cpp | 286 ++ .../grouped_gemm_fastgelu_xdl_bf16_i8.cpp | 284 ++ ...emm_multiply_bias_fastgelu_xdl_bf16_i8.cpp | 286 ++ .../grouped_gemm_multiply_xdl_bf16_i8.cpp | 281 ++ .../grouped_gemm_xdl_bf16_i8.cpp | 287 ++ client_example/CMakeLists.txt | 87 + client_example/README.md | 23 + cmake/Analyzers.cmake | 34 + cmake/ClangTidy.cmake | 162 + cmake/CppCheck.cmake | 130 + cmake/DoxygenDoc.cmake | 357 +++ cmake/Embed.cmake | 240 ++ cmake/EnableCompilerWarnings.cmake | 116 + cmake/TargetFlags.cmake | 50 + cmake/getopt.cmake | 28 + cmake/gtest.cmake | 70 + codegen/CMakeLists.txt | 58 + codegen/README.md | 2 + codegen/driver/main.cpp | 107 + .../operation.hpp | 61 + .../problem.hpp | 48 + .../ck/host/device_gemm_multiple_d.hpp | 42 + .../host/device_gemm_multiple_d/operation.hpp | 57 + .../host/device_gemm_multiple_d/problem.hpp | 46 + .../conv_fwd_op.hpp | 60 + .../conv_fwd_problem.hpp | 56 + codegen/include/ck/host/headers.hpp | 17 + codegen/include/ck/host/operation/gemm.hpp | 69 + codegen/include/ck/host/stringutils.hpp | 104 + codegen/include/ck/host/types.hpp | 104 + codegen/include/ck/host/utils.hpp | 18 + .../src/device_batched_gemm_softmax_gemm.cpp | 38 + ...mm_softmax_gemm_operation_xdl_cshuffle.cpp | 412 +++ codegen/src/device_gemm_multiple_d.cpp | 38 + ...gemm_multiple_d_operation_xdl_cshuffle.cpp | 379 +++ .../device_grouped_conv_fwd_multiple_abd.cpp | 42 + ...wd_multiple_abd_operation_xdl_cshuffle.cpp | 352 +++ codegen/src/headers.cpp | 23 + codegen/src/types.cpp | 94 + codegen/src/utils.cpp | 21 + codegen/test/CMakeLists.txt | 25 + codegen/test/batched_gemm_softmax_gemm.cpp | 82 + codegen/test/gemm_multiple_d.cpp | 84 + .../test/grouped_conv_fwd_multiple_d_v1.cpp | 210 ++ .../test/grouped_conv_fwd_multiple_d_v2.cpp | 210 ++ .../test/grouped_conv_fwd_multiple_d_v3.cpp | 210 ++ .../test/grouped_conv_fwd_multiple_d_v4.cpp | 210 ++ codegen/test/include/common.hpp | 154 + codegen/test/include/test.hpp | 848 +++++ codegen/test/rtc/CMakeLists.txt | 12 + .../test/rtc/include/rtc/compile_kernel.hpp | 31 + codegen/test/rtc/include/rtc/filesystem.hpp | 60 + codegen/test/rtc/include/rtc/hip.hpp | 83 + codegen/test/rtc/include/rtc/kernel.hpp | 65 + codegen/test/rtc/include/rtc/manage_ptr.hpp | 58 + codegen/test/rtc/include/rtc/tmp_dir.hpp | 27 + codegen/test/rtc/src/compile_kernel.cpp | 302 ++ codegen/test/rtc/src/hip.cpp | 109 + codegen/test/rtc/src/kernel.cpp | 125 + codegen/test/rtc/src/tmp_dir.cpp | 51 + dev-requirements.txt | 3 + docs/Contributors_Guide.rst | 105 + docs/conceptual/Composable-Kernel-math.rst | 77 + .../Composable-Kernel-structure.rst | 29 + docs/conf.py | 50 + docs/data/ck_component.png | Bin 0 -> 565049 bytes docs/data/ck_layer.png | Bin 0 -> 549343 bytes docs/doxygen/Doxyfile | 2779 +++++++++++++++++ docs/index.rst | 43 + docs/install/Composable-Kernel-Docker.rst | 16 + docs/install/Composable-Kernel-install.rst | 72 + .../Composable-Kernel-prerequisites.rst | 32 + docs/license.rst | 11 + .../Composable-Kernel-API-reference.rst | 42 + docs/reference/Composable-Kernel-wrapper.rst | 89 + .../Composable_Kernel_custom_types.rst | 39 + ...mposable_Kernel_supported_scalar_types.rst | 69 + .../Composable_Kernel_vector_utilities.rst | 16 + docs/refs.bib | 7 + docs/sphinx/_toc.yml.in | 45 + docs/sphinx/requirements.in | 2 + docs/sphinx/requirements.txt | 335 ++ docs/tutorial/Composable-Kernel-examples.rst | 40 + example/01_gemm/CMakeLists.txt | 111 + example/01_gemm/README.md | 27 + example/01_gemm/common.hpp | 394 +++ example/01_gemm/gemm_dl_fp16.cpp | 48 + example/01_gemm/gemm_dl_fp32.cpp | 48 + example/01_gemm/gemm_dl_int4.cpp | 44 + example/01_gemm/gemm_dl_int8.cpp | 48 + example/01_gemm/gemm_dpp_fp16.cpp | 42 + example/01_gemm/gemm_wmma_bf16.cpp | 84 + example/01_gemm/gemm_wmma_fp16.cpp | 84 + example/01_gemm/gemm_wmma_int8.cpp | 84 + example/01_gemm/gemm_xdl_bf16.cpp | 52 + example/01_gemm/gemm_xdl_bf16_pk_i4_v3.cpp | 260 ++ example/01_gemm/gemm_xdl_bf16_streamk_v3.cpp | 59 + example/01_gemm/gemm_xdl_bf16_v3.cpp | 48 + example/01_gemm/gemm_xdl_fp16.cpp | 61 + example/01_gemm/gemm_xdl_fp16_fp8.cpp | 58 + .../01_gemm/gemm_xdl_fp16_fp8_streamk_v3.cpp | 64 + example/01_gemm/gemm_xdl_fp16_fp8_v3.cpp | 53 + example/01_gemm/gemm_xdl_fp16_pk_i4_v3.cpp | 310 ++ .../gemm_xdl_fp16_pk_i4_v3_b_scale.cpp | 364 +++ example/01_gemm/gemm_xdl_fp16_streamk_v3.cpp | 59 + example/01_gemm/gemm_xdl_fp16_v2.cpp | 62 + example/01_gemm/gemm_xdl_fp16_v3.cpp | 48 + example/01_gemm/gemm_xdl_fp64.cpp | 57 + example/01_gemm/gemm_xdl_fp8.cpp | 56 + example/01_gemm/gemm_xdl_fp8_bf8.cpp | 60 + .../gemm_xdl_fp8_pk_i4_bpreshuffle_v3.cpp | 358 +++ example/01_gemm/gemm_xdl_fp8_pk_i4_v3.cpp | 336 ++ example/01_gemm/gemm_xdl_fp8_streamk_v3.cpp | 58 + example/01_gemm/gemm_xdl_fp8_v3.cpp | 48 + example/01_gemm/gemm_xdl_int4.cpp | 45 + example/01_gemm/gemm_xdl_int8.cpp | 49 + .../01_gemm/gemm_xdl_lds_direct_load_fp16.cpp | 69 + .../01_gemm/gemm_xdl_lds_direct_load_fp32.cpp | 68 + example/01_gemm/gemm_xdl_skip_b_lds_fp16.cpp | 249 ++ example/01_gemm/gemm_xdl_streamk.cpp | 65 + example/01_gemm/gemm_xdl_wavelet_fp16.cpp | 53 + example/01_gemm/run_gemm_example.inc | 253 ++ example/01_gemm/run_gemm_example_streamk.inc | 270 ++ .../01_gemm/run_gemm_example_streamk_v2.inc | 256 ++ example/01_gemm/run_gemm_example_v2.inc | 204 ++ example/02_gemm_bilinear/CMakeLists.txt | 3 + example/02_gemm_bilinear/README.md | 11 + .../gemm_bilinear_wmma_fp16.cpp | 314 ++ .../gemm_bilinear_wmma_int8.cpp | 314 ++ .../gemm_bilinear_xdl_fp16.cpp | 306 ++ example/03_gemm_bias_relu/CMakeLists.txt | 1 + example/03_gemm_bias_relu/README.md | 10 + .../gemm_bias_relu_xdl_fp16.cpp | 283 ++ .../04_gemm_add_add_fastgelu/CMakeLists.txt | 27 + example/04_gemm_add_add_fastgelu/README.md | 10 + example/04_gemm_add_add_fastgelu/common.hpp | 106 + .../gemm_add_add_fastgelu_xdl_bf16.cpp | 48 + .../gemm_add_add_fastgelu_xdl_fp16.cpp | 48 + .../gemm_add_add_fastgelu_xdl_fp32.cpp | 47 + .../gemm_add_add_fastgelu_xdl_int4.cpp | 59 + .../gemm_add_add_fastgelu_xdl_int8.cpp | 48 + ..._add_fastgelu_xdl_lds_direct_load_fp32.cpp | 50 + .../run_gemm_add_add_fastgelu_example.inc | 167 + example/09_convnd_fwd/CMakeLists.txt | 22 + example/09_convnd_fwd/README.md | 18 + example/09_convnd_fwd/convnd_fwd_common.hpp | 257 ++ .../09_convnd_fwd/convnd_fwd_dl_common.hpp | 196 ++ example/09_convnd_fwd/convnd_fwd_dl_fp16.cpp | 40 + example/09_convnd_fwd/convnd_fwd_dl_fp32.cpp | 40 + example/09_convnd_fwd/convnd_fwd_dl_int8.cpp | 40 + example/09_convnd_fwd/convnd_fwd_xdl_bf16.cpp | 79 + example/09_convnd_fwd/convnd_fwd_xdl_bf8.cpp | 81 + .../09_convnd_fwd/convnd_fwd_xdl_bf8_fp8.cpp | 83 + example/09_convnd_fwd/convnd_fwd_xdl_fp16.cpp | 79 + .../convnd_fwd_xdl_fp16_comp_fp8.cpp | 81 + example/09_convnd_fwd/convnd_fwd_xdl_fp32.cpp | 79 + example/09_convnd_fwd/convnd_fwd_xdl_fp64.cpp | 79 + example/09_convnd_fwd/convnd_fwd_xdl_fp8.cpp | 81 + .../09_convnd_fwd/convnd_fwd_xdl_fp8_bf8.cpp | 83 + example/09_convnd_fwd/convnd_fwd_xdl_int8.cpp | 79 + .../run_convnd_fwd_dl_example.inc | 98 + .../09_convnd_fwd/run_convnd_fwd_example.inc | 97 + .../CMakeLists.txt | 17 + .../common.hpp | 159 + .../convnd_fwd_max_xdl_bf16.cpp | 18 + .../convnd_fwd_max_xdl_fp16.cpp | 18 + .../convnd_fwd_max_xdl_fp32.cpp | 18 + .../convnd_fwd_max_xdl_int4.cpp | 25 + .../convnd_fwd_max_xdl_int8.cpp | 18 + .../run_convnd_fwd_max_example.inc | 332 ++ example/12_reduce/CMakeLists.txt | 4 + example/12_reduce/README.md | 62 + example/12_reduce/reduce_blockwise.cpp | 326 ++ example/12_reduce/reduce_blockwise_impl.hpp | 366 +++ .../12_reduce/reduce_blockwise_two_call.cpp | 319 ++ example/12_reduce/reduce_example_common.hpp | 50 + .../reduce_multiblock_atomic_add.cpp | 216 ++ .../reduce_multiblock_atomic_add_impl.hpp | 251 ++ .../12_reduce/reduce_threadwise_multi_d.cpp | 229 ++ .../reduce_threadwise_multi_d_impl.hpp | 307 ++ example/13_pool2d_fwd/CMakeLists.txt | 2 + example/13_pool2d_fwd/README.md | 41 + example/13_pool2d_fwd/pool2d_fwd_common.hpp | 197 ++ example/13_pool2d_fwd/pool2d_fwd_fp16.cpp | 122 + example/13_pool2d_fwd/pool2d_fwd_fp32.cpp | 122 + example/14_gemm_quantization/CMakeLists.txt | 3 + .../gemm_dl_quantization_int8.cpp | 204 ++ .../gemm_xdl_bias_relu_quantization_int8.cpp | 235 ++ .../gemm_xdl_quantization_int8.cpp | 207 ++ example/15_grouped_gemm/CMakeLists.txt | 35 + example/15_grouped_gemm/README.md | 9 + .../grouped_gemm_multiple_d_dl_fp16.cpp | 67 + ...rouped_gemm_multiple_d_splitk_xdl_fp16.cpp | 394 +++ .../grouped_gemm_multiple_d_xdl_fp16.cpp | 404 +++ .../15_grouped_gemm/grouped_gemm_xdl_bf16.cpp | 62 + .../grouped_gemm_xdl_fixed_nk_bias_fp16.cpp | 353 +++ .../grouped_gemm_xdl_fixed_nk_fp16.cpp | 327 ++ .../grouped_gemm_xdl_fixed_nk_fp16_fp8.cpp | 328 ++ .../15_grouped_gemm/grouped_gemm_xdl_fp16.cpp | 62 + .../15_grouped_gemm/grouped_gemm_xdl_fp32.cpp | 62 + .../15_grouped_gemm/grouped_gemm_xdl_int4.cpp | 102 + .../15_grouped_gemm/grouped_gemm_xdl_int8.cpp | 59 + .../grouped_gemm_xdl_splitk_fp16.cpp | 95 + .../run_grouped_gemm_example.inc | 314 ++ .../CMakeLists.txt | 41 + .../gemm_add_add_mean_meansquare_xdl_fp16.cpp | 276 ++ .../gemm_add_addsquare_xdl_int8.cpp | 364 +++ .../gemm_max_xdl_bf16.cpp | 167 + .../gemm_max_xdl_fp16.cpp | 167 + .../gemm_max_xdl_fp32.cpp | 166 + .../gemm_max_xdl_int4.cpp | 172 + .../gemm_max_xdl_int8.cpp | 166 + .../gemm_mean_meansquare_xdl_bf16.cpp | 174 ++ .../gemm_mean_meansquare_xdl_fp16.cpp | 174 ++ .../gemm_mean_meansquare_xdl_fp32.cpp | 174 ++ .../gemm_reduce_xdl_common.hpp | 491 +++ example/17_convnd_bwd_data/CMakeLists.txt | 9 + example/17_convnd_bwd_data/README.md | 47 + .../convnd_bwd_data_common.hpp | 176 ++ .../convnd_bwd_data_dl_fp16.cpp | 180 ++ .../convnd_bwd_data_xdl_fp16.cpp | 207 ++ example/18_batched_gemm_reduce/CMakeLists.txt | 8 + .../batched_gemm_reduce_xdl_fp16.cpp | 310 ++ example/19_binary_elementwise/CMakeLists.txt | 4 + .../broadcast_add_2d_amn_bn.cpp | 141 + .../broadcast_add_3d_am_bmnk.cpp | 125 + .../elementwise_add_1d.cpp | 116 + .../elementwise_add_4d.cpp | 125 + .../20_grouped_conv_bwd_weight/CMakeLists.txt | 21 + example/20_grouped_conv_bwd_weight/common.hpp | 135 + .../grouped_conv_bwd_weight_dl_fp16.cpp | 98 + .../grouped_conv_bwd_weight_v3_xdl_bf16.cpp | 102 + .../grouped_conv_bwd_weight_v3_xdl_fp16.cpp | 99 + .../grouped_conv_bwd_weight_wmma_fp16.cpp | 88 + .../grouped_conv_bwd_weight_xdl_bf16.cpp | 100 + .../grouped_conv_bwd_weight_xdl_fp16.cpp | 99 + ..._conv_bwd_weight_xdl_fp16_comp_bf8_fp8.cpp | 108 + .../run_grouped_conv_bwd_weight_example.inc | 148 + example/21_gemm_layernorm/CMakeLists.txt | 4 + ...bias_relu_add_layernorm_xdl_naive_fp16.cpp | 410 +++ ...as_relu_add_layernorm_xdl_welford_fp16.cpp | 266 ++ .../gemm_layernorm_xdl_naive_fp16.cpp | 379 +++ ...xdl_layernorm_naive_single_kernel_fp16.cpp | 287 ++ example/22_cgemm/CMakeLists.txt | 18 + example/22_cgemm/cgemm_xdl_bf16.cpp | 132 + example/22_cgemm/cgemm_xdl_common.hpp | 254 ++ example/22_cgemm/cgemm_xdl_fp16.cpp | 131 + example/22_cgemm/cgemm_xdl_fp32.cpp | 132 + example/22_cgemm/cgemm_xdl_int4.cpp | 140 + example/22_cgemm/cgemm_xdl_int8.cpp | 132 + example/23_softmax/CMakeLists.txt | 1 + example/23_softmax/README.md | 18 + example/23_softmax/softmax_blockwise.cpp | 264 ++ example/24_batched_gemm/CMakeLists.txt | 27 + .../24_batched_gemm/batched_gemm_xdl_bf16.cpp | 59 + .../batched_gemm_xdl_bf16_v3.cpp | 99 + .../24_batched_gemm/batched_gemm_xdl_fp16.cpp | 59 + .../batched_gemm_xdl_fp16int4_b_scale_v3.cpp | 82 + .../24_batched_gemm/batched_gemm_xdl_fp32.cpp | 58 + .../batched_gemm_xdl_fp8_rowwise_v3.cpp | 106 + .../24_batched_gemm/batched_gemm_xdl_int4.cpp | 99 + .../24_batched_gemm/batched_gemm_xdl_int8.cpp | 56 + .../run_batched_gemm_example.inc | 256 ++ ..._batched_gemm_example_fp16int4_b_scale.inc | 579 ++++ .../run_batched_gemm_example_rowwise.inc | 280 ++ example/25_gemm_bias_e_permute/CMakeLists.txt | 2 + .../gemm_bias_e_permute_g1m2n3k1_xdl_fp16.cpp | 397 +++ .../gemm_bias_e_permute_g1m3n2k1_xdl_fp16.cpp | 398 +++ example/26_contraction/CMakeLists.txt | 52 + example/26_contraction/README.md | 9 + example/26_contraction/common_instances.hpp | 196 ++ ...raction_bilinear_xdl_bf16_compute_fp32.cpp | 86 + ...raction_bilinear_xdl_fp16_compute_fp32.cpp | 86 + .../contraction_bilinear_xdl_fp32.cpp | 86 + ...raction_bilinear_xdl_fp32_compute_bf16.cpp | 86 + ...raction_bilinear_xdl_fp32_compute_fp16.cpp | 86 + .../contraction_bilinear_xdl_fp64.cpp | 86 + ...raction_bilinear_xdl_fp64_compute_fp32.cpp | 86 + ...ontraction_scale_xdl_bf16_compute_fp32.cpp | 85 + ...ontraction_scale_xdl_fp16_compute_fp32.cpp | 85 + .../contraction_scale_xdl_fp32.cpp | 85 + ...ontraction_scale_xdl_fp32_compute_bf16.cpp | 85 + ...ontraction_scale_xdl_fp32_compute_fp16.cpp | 85 + .../contraction_scale_xdl_fp64.cpp | 85 + ...ontraction_scale_xdl_fp64_compute_fp32.cpp | 85 + .../run_contraction_bilinear_example.inc | 234 ++ .../run_contraction_scale_example.inc | 217 ++ example/27_layernorm2d_fwd/CMakeLists.txt | 2 + example/27_layernorm2d_fwd/common.hpp | 22 + .../layernorm2d_fwd_fp16.cpp | 44 + .../layernorm2d_fwd_splitk_fp16.cpp | 45 + .../run_layernorm_example.inc | 122 + .../CMakeLists.txt | 1 + .../grouped_gemm_bias_e_permute_xdl_fp16.cpp | 466 +++ .../CMakeLists.txt | 2 + .../batched_gemm_bias_e_permute_wmma_fp16.cpp | 448 +++ .../batched_gemm_bias_e_permute_xdl_fp16.cpp | 397 +++ .../CMakeLists.txt | 23 + .../30_grouped_conv_fwd_multiple_d/README.md | 18 + .../30_grouped_conv_fwd_multiple_d/common.hpp | 355 +++ .../common_wmma.hpp | 355 +++ ...ouped_conv_fwd_bias_relu_add_wmma_fp16.cpp | 37 + ...ouped_conv_fwd_bias_relu_add_wmma_int8.cpp | 37 + ...rouped_conv_fwd_bias_relu_add_xdl_bf16.cpp | 26 + ...rouped_conv_fwd_bias_relu_add_xdl_fp16.cpp | 26 + ...rouped_conv_fwd_bias_relu_add_xdl_fp32.cpp | 26 + ...rouped_conv_fwd_bias_relu_add_xdl_int4.cpp | 30 + ...rouped_conv_fwd_bias_relu_add_xdl_int8.cpp | 26 + .../grouped_conv_fwd_xdl_fp16.cpp | 24 + ...grouped_conv_fwd_bias_relu_add_example.inc | 365 +++ ...ed_conv_fwd_bias_relu_add_wmma_example.inc | 288 ++ .../run_grouped_conv_fwd_example.inc | 223 ++ example/31_batched_gemm_gemm/CMakeLists.txt | 10 + .../batched_gemm_gemm_xdl_bf16.cpp | 136 + .../batched_gemm_gemm_xdl_fp16.cpp | 136 + .../batched_gemm_gemm_xdl_fp32.cpp | 135 + .../batched_gemm_gemm_xdl_int4.cpp | 145 + .../batched_gemm_gemm_xdl_int8.cpp | 133 + .../run_batched_gemm_gemm_example.inc | 277 ++ .../CMakeLists.txt | 29 + ...e_scale_softmax_gemm_permute_wmma_fp16.cpp | 177 ++ ...le_scale_softmax_gemm_permute_xdl_fp16.cpp | 160 + ...m_scale_softmax_gemm_permute_wmma_fp16.cpp | 299 ++ ...mm_scale_softmax_gemm_permute_xdl_bf16.cpp | 159 + ...mm_scale_softmax_gemm_permute_xdl_fp16.cpp | 160 + ...tched_gemm_scale_softmax_gemm_xdl_bf16.cpp | 143 + ...tched_gemm_scale_softmax_gemm_xdl_fp16.cpp | 144 + .../cross_attention_forward_wmma_fp16.cpp | 365 +++ ...le_scale_softmax_gemm_permute_xdl_fp16.cpp | 159 + ...mm_scale_softmax_gemm_permute_xdl_fp16.cpp | 160 + ...uped_query_attention_forward_wmma_fp16.cpp | 313 ++ ...ulti_query_attention_forward_wmma_fp16.cpp | 298 ++ .../run_batched_gemm_scale_softmax_gemm.inc | 261 ++ ...atched_gemm_scale_softmax_gemm_permute.inc | 278 ++ ...d_gemm_scale_softmax_gemm_permute_wmma.inc | 340 ++ .../run_cross_attention_wmma.inc | 384 +++ ...rouped_gemm_scale_softmax_gemm_permute.inc | 319 ++ ...n_grouped_query_attention_forward_wmma.inc | 340 ++ ...run_multi_query_attention_forward_wmma.inc | 339 ++ .../run_self_attention_wmma.inc | 376 +++ .../self_attention_forward_wmma_fp16.cpp | 343 ++ example/33_multiple_reduce/CMakeLists.txt | 2 + example/33_multiple_reduce/README.md | 37 + .../33_multiple_reduce/dual_reduce_common.hpp | 314 ++ .../dual_reduce_multiblock.cpp | 98 + .../dual_reduce_threadwise.cpp | 93 + example/34_batchnorm/CMakeLists.txt | 4 + example/34_batchnorm/README.md | 81 + .../34_batchnorm/batchnorm_backward_nhwc.cpp | 506 +++ example/34_batchnorm/batchnorm_common.hpp | 68 + .../batchnorm_forward_inferring_nhwc.cpp | 366 +++ .../batchnorm_forward_training_nhwc.cpp | 598 ++++ ...tchnorm_forward_training_nhwc_obsolete.cpp | 598 ++++ example/34_batchnorm/batchnorm_infer_impl.hpp | 136 + example/35_splitK_gemm/CMakeLists.txt | 29 + example/35_splitK_gemm/common.hpp | 101 + .../gemm_xdl_splitk_reduce_bf16.cpp | 58 + .../gemm_xdl_splitk_reduce_bf16A_i8B.cpp | 58 + .../gemm_xdl_splitk_reduce_multi_d_bf16.cpp | 58 + .../gemm_xdl_splitk_reduce_multi_d_fp16.cpp | 58 + ...run_gemm_splitk_reduce_multi_d_example.inc | 309 ++ .../run_splitK_gemm_example.inc | 220 ++ .../35_splitK_gemm/splitK_gemm_xdl_bf16.cpp | 59 + .../35_splitK_gemm/splitK_gemm_xdl_fp16.cpp | 58 + .../splitK_gemm_xdl_fp16_fp8.cpp | 60 + .../35_splitK_gemm/splitK_gemm_xdl_fp32.cpp | 58 + .../35_splitK_gemm/splitK_gemm_xdl_int4.cpp | 92 + .../35_splitK_gemm/splitK_gemm_xdl_int8.cpp | 56 + .../splitK_gemm_xdl_lds_direct_load_fp16.cpp | 82 + example/36_sparse_embedding/CMakeLists.txt | 1 + .../sparse_embedding3_forward_layernorm.cpp | 194 ++ .../CMakeLists.txt | 1 + ...ed_gemm_add_add_relu_gemm_add_xdl_fp16.cpp | 521 +++ .../CMakeLists.txt | 13 + .../common.hpp | 104 + ...ouped_conv_bwd_data_bias_relu_xdl_fp16.cpp | 34 + .../grouped_conv_bwd_data_wmma_fp16.cpp | 45 + .../grouped_conv_bwd_data_xdl_fp16.cpp | 34 + ...ed_conv_bwd_data_xdl_fp16_comp_bf8_fp8.cpp | 38 + ...rouped_conv_bwd_data_bias_relu_example.inc | 224 ++ .../run_grouped_conv_bwd_data_example.inc | 190 ++ example/39_permute/CMakeLists.txt | 10 + example/39_permute/common.hpp | 456 +++ example/39_permute/permute_1xHxW_fp16.cpp | 20 + example/39_permute/permute_HxWx4_fp16.cpp | 22 + example/39_permute/permute_NxHxW_fp16.cpp | 20 + .../39_permute/run_permute_bundle_example.inc | 78 + .../run_permute_element_example.inc | 65 + .../40_conv2d_fwd_quantization/CMakeLists.txt | 17 + example/40_conv2d_fwd_quantization/common.hpp | 18 + ...bias_relu_perchannel_quantization_int8.cpp | 85 + ...l_bias_relu_perlayer_quantization_int8.cpp | 84 + ...bias_tanh_perchannel_quantization_int8.cpp | 87 + ...l_bias_tanh_perlayer_quantization_int8.cpp | 85 + ...2d_fwd_dl_perchannel_quantization_int8.cpp | 83 + ...nv2d_fwd_dl_perlayer_quantization_int8.cpp | 79 + ...bias_relu_perchannel_quantization_int8.cpp | 89 + ...l_bias_relu_perlayer_quantization_int8.cpp | 88 + ...d_fwd_xdl_perchannel_quantization_int8.cpp | 87 + ...v2d_fwd_xdl_perlayer_quantization_int8.cpp | 83 + ...d_bias_perchannel_quantization_example.inc | 249 ++ ...fwd_bias_perlayer_quantization_example.inc | 228 ++ ...2d_fwd_perchannel_quantization_example.inc | 234 ++ ...nv2d_fwd_perlayer_quantization_example.inc | 196 ++ .../41_grouped_conv_conv_fwd/CMakeLists.txt | 10 + .../grouped_conv_conv_fwd_xdl_bf16.cpp | 109 + .../grouped_conv_conv_fwd_xdl_fp16.cpp | 109 + .../grouped_conv_conv_fwd_xdl_fp32.cpp | 109 + .../grouped_conv_conv_fwd_xdl_int4.cpp | 121 + .../grouped_conv_conv_fwd_xdl_int8.cpp | 109 + .../run_grouped_conv_conv_fwd_example.inc | 379 +++ example/42_groupnorm_fwd/CMakeLists.txt | 3 + example/42_groupnorm_fwd/common.hpp | 24 + .../groupnorm_fwd_sigmoid_mul_fp16.cpp | 65 + .../groupnorm_fwd_splitk_fp16.cpp | 45 + .../groupnorm_fwd_swish_fp16.cpp | 45 + .../run_groupnorm_fwd_example.inc | 148 + .../CMakeLists.txt | 2 + .../splitk_gemm_bias_e_permute_xdl_fp16.cpp | 407 +++ .../splitk_gemm_bias_e_permute_xdl_fp32.cpp | 407 +++ example/44_elementwise_permute/CMakeLists.txt | 8 + .../elementwise_binary_4D_fp16.cpp | 140 + .../elementwise_permute_4D_fp16.cpp | 119 + .../elementwise_permute_4D_fp16_col.cpp | 140 + .../elementwise_permute_4D_fp16_row.cpp | 131 + .../elementwise_permute_4D_fp32_col.cpp | 142 + .../elementwise_permute_4D_fp32_row.cpp | 130 + ...entwise_scale_permute_amax_2D_fp16_fp8.cpp | 248 ++ .../elementwise_trinary_4D_fp16.cpp | 156 + .../CMakeLists.txt | 1 + .../elementwise_layernorm_blockwise.cpp | 206 ++ example/46_gemm_add_multiply/CMakeLists.txt | 2 + example/46_gemm_add_multiply/README.md | 10 + example/46_gemm_add_multiply/common.hpp | 102 + .../gemm_add_multiply_dl_fp16.cpp | 47 + .../gemm_add_multiply_xdl_fp16.cpp | 47 + .../run_gemm_add_multiply_example.inc | 139 + .../CMakeLists.txt | 1 + .../gemm_bias_softmax_gemm_permute_xdl.cpp | 409 +++ example/48_pool3d_fwd/CMakeLists.txt | 1 + example/48_pool3d_fwd/pool3d_fwd_common.hpp | 202 ++ example/48_pool3d_fwd/pool3d_fwd_fp16.cpp | 104 + example/49_maxpool2d_bwd/CMakeLists.txt | 3 + .../49_maxpool2d_bwd/maxpool2d_bwd_bf16.cpp | 66 + .../49_maxpool2d_bwd/maxpool2d_bwd_common.hpp | 229 ++ .../49_maxpool2d_bwd/maxpool2d_bwd_fp16.cpp | 66 + .../49_maxpool2d_bwd/maxpool2d_bwd_fp32.cpp | 66 + example/50_put_element/CMakeLists.txt | 1 + example/50_put_element/put_element_fp16.cpp | 88 + example/51_avgpool3d_bwd/CMakeLists.txt | 3 + .../51_avgpool3d_bwd/avgpool3d_bwd_bf16.cpp | 62 + .../51_avgpool3d_bwd/avgpool3d_bwd_common.hpp | 151 + .../51_avgpool3d_bwd/avgpool3d_bwd_fp16.cpp | 62 + .../51_avgpool3d_bwd/avgpool3d_bwd_fp32.cpp | 62 + example/52_im2col_col2im/CMakeLists.txt | 7 + .../52_im2col_col2im/column_to_image_f32.cpp | 166 + example/52_im2col_col2im/common.hpp | 97 + .../52_im2col_col2im/image_to_column_f32.cpp | 168 + example/53_layernorm2d_bwd/CMakeLists.txt | 1 + .../layernorm2d_bwd_fp32.cpp | 228 ++ example/54_groupnorm_bwd/CMakeLists.txt | 1 + .../54_groupnorm_bwd/groupnorm_bwd_fp32.cpp | 240 ++ .../59_grouped_gemm_multi_ABD/CMakeLists.txt | 7 + ...mm_multi_abd_xdl_fixed_nk_bias_bf16_i8.cpp | 401 +++ ..._gemm_multi_abd_xdl_fixed_nk_bias_fp16.cpp | 397 +++ example/60_gemm_multi_ABD/CMakeLists.txt | 4 + ...mm_multi_ABD_xdl_bias_fastgelu_bf16_i8.cpp | 273 ++ .../gemm_multi_ABD_xdl_fastgelu_bf16_i8.cpp | 273 ++ .../gemm_multi_ABD_xdl_fp16.cpp | 363 +++ ...ABD_xdl_multiply_bias_fastgelu_bf16_i8.cpp | 274 ++ .../61_contraction_multi_ABD/CMakeLists.txt | 1 + .../contraction_multi_ABD_xdl_fp16.cpp | 330 ++ .../contraction_multi_ABD_xdl_fp8.cpp | 314 ++ example/62_convnd_activ/CMakeLists.txt | 16 + example/62_convnd_activ/binary/CMakeLists.txt | 15 + ...nd_bwd_data_xdl_bilinear_residual_fp16.cpp | 266 ++ ..._bwd_weight_xdl_bilinear_residual_fp16.cpp | 260 ++ .../convnd_fwd_xdl_bilinear_residual_fp16.cpp | 266 ++ .../convinvscale/CMakeLists.txt | 10 + .../convnd_fwd_convinvscale_common.hpp | 301 ++ .../convnd_fwd_xdl_convinvscale_fp8.cpp | 88 + .../run_convnd_fwd_convinvscale_example.inc | 104 + ...aleadd_scaleadd_relu_bcasted_bias_fp16.cpp | 294 ++ ...nd_fwd_xdl_scaleadd_scaleadd_relu_fp16.cpp | 270 ++ .../62_convnd_activ/convscale/CMakeLists.txt | 20 + .../convscale/convnd_fwd_convscale_common.hpp | 302 ++ .../convnd_fwd_xdl_convscale_bf8.cpp | 88 + .../convnd_fwd_xdl_convscale_bf8_fp8.cpp | 88 + .../convnd_fwd_xdl_convscale_fp8.cpp | 88 + .../convnd_fwd_xdl_convscale_fp8_bf8.cpp | 88 + .../run_convnd_fwd_convscale_example.inc | 104 + .../convscale_add/CMakeLists.txt | 11 + .../convnd_fwd_convscale_add_common.hpp | 315 ++ .../convnd_fwd_xdl_convscale_add_fp8.cpp | 87 + .../run_convnd_fwd_convscale_add_example.inc | 104 + .../convscale_reduce/CMakeLists.txt | 14 + .../convnd_fwd_convscale_reduce_common.hpp | 502 +++ .../convnd_fwd_xdl_convscale_amax_fp8.cpp | 82 + ...convnd_fwd_xdl_convscale_relu_amax_fp8.cpp | 82 + .../run_convnd_fwd_example.inc | 98 + .../convscale_relu/CMakeLists.txt | 11 + .../convnd_fwd_convscale_relu_common.hpp | 302 ++ .../convnd_fwd_xdl_convscale_relu_fp8.cpp | 86 + .../run_convnd_fwd_convscale_relu_example.inc | 104 + .../dynamic_unary/CMakeLists.txt | 45 + .../convnd_fwd_activ_dynamic_unary_common.hpp | 238 ++ .../convnd_fwd_xdl_dynamic_abs_fp16.cpp | 13 + ...onvnd_fwd_xdl_dynamic_clippedrelu_fp16.cpp | 13 + .../convnd_fwd_xdl_dynamic_elu_fp16.cpp | 13 + .../convnd_fwd_xdl_dynamic_leakyrelu_fp16.cpp | 13 + .../convnd_fwd_xdl_dynamic_logistic_fp16.cpp | 13 + ...onvnd_fwd_xdl_dynamic_passthrough_fp16.cpp | 13 + .../convnd_fwd_xdl_dynamic_pow_fp16.cpp | 13 + .../convnd_fwd_xdl_dynamic_relu_fp16.cpp | 13 + .../convnd_fwd_xdl_dynamic_sigmoid_fp16.cpp | 13 + .../convnd_fwd_xdl_dynamic_softrelu_fp16.cpp | 13 + .../convnd_fwd_xdl_dynamic_swish_fp16.cpp | 13 + .../convnd_fwd_xdl_dynamic_tanh_fp16.cpp | 13 + .../62_convnd_activ/multi_AB/CMakeLists.txt | 17 + .../conv_fwd_xdl_scaleadd_ab_bf16.cpp | 26 + .../conv_fwd_xdl_scaleadd_ab_fp16.cpp | 26 + .../conv_fwd_xdl_scaleadd_ab_fp32.cpp | 26 + .../conv_fwd_xdl_scaleadd_ab_int8.cpp | 26 + .../convnd_fwd_activ_multi_ab_common.hpp | 266 ++ .../run_convnd_activ_dynamic_example.inc | 91 + .../run_convnd_activ_example.inc | 91 + example/62_convnd_activ/unary/CMakeLists.txt | 45 + .../unary/convnd_fwd_activ_unary_common.hpp | 237 ++ .../unary/convnd_fwd_xdl_abs_fp16.cpp | 11 + .../unary/convnd_fwd_xdl_clippedrelu_fp16.cpp | 11 + .../unary/convnd_fwd_xdl_elu_fp16.cpp | 11 + .../unary/convnd_fwd_xdl_leakyrelu_fp16.cpp | 11 + .../unary/convnd_fwd_xdl_logistic_fp16.cpp | 11 + .../unary/convnd_fwd_xdl_passthrough_fp16.cpp | 11 + .../unary/convnd_fwd_xdl_pow_fp16.cpp | 11 + .../unary/convnd_fwd_xdl_relu_fp16.cpp | 11 + .../unary/convnd_fwd_xdl_sigmoid_fp16.cpp | 11 + .../unary/convnd_fwd_xdl_softrelu_fp16.cpp | 11 + .../unary/convnd_fwd_xdl_swish_fp16.cpp | 11 + .../unary/convnd_fwd_xdl_tanh_fp16.cpp | 11 + example/63_layernorm4d_fwd/CMakeLists.txt | 2 + example/63_layernorm4d_fwd/common.hpp | 22 + .../layernorm4d_fwd_fp16.cpp | 44 + .../layernorm4d_fwd_splitk_fp16.cpp | 45 + .../run_layernorm4d_fwd_example.inc | 124 + example/64_fpAintB_gemm/CMakeLists.txt | 3 + example/64_fpAintB_gemm/common.hpp | 123 + .../64_fpAintB_gemm/fp16int8_gemm_wmma.cpp | 93 + example/64_fpAintB_gemm/run_gemm_example.inc | 172 + .../65_gemm_multiply_multiply/CMakeLists.txt | 27 + .../gemm_add_add_xdl_fp16.cpp | 271 ++ ...multiply_multiply_xdl_fp16_bpreshuffle.cpp | 371 +++ .../gemm_multiply_multiply_xdl_fp8.cpp | 285 ++ ...emm_multiply_multiply_xdl_fp8_ab_scale.cpp | 345 ++ ..._multiply_multiply_xdl_fp8_bpreshuffle.cpp | 396 +++ .../gemm_multiply_multiply_xdl_int8.cpp | 341 ++ .../moe_gemm1_xdl_fp8.cpp | 484 +++ .../moe_gemm1_xdl_pk_i4.cpp | 549 ++++ .../moe_gemm2_xdl_fp8.cpp | 455 +++ .../moe_gemm2_xdl_pk_i4.cpp | 495 +++ .../CMakeLists.txt | 3 + .../66_complex_contraction_bilinear/README.md | 11 + .../common_instances.hpp | 196 ++ .../complex_contraction_bilinear_xdl_fp32.cpp | 86 + .../complex_contraction_bilinear_xdl_fp64.cpp | 86 + ...n_complex_contraction_bilinear_example.inc | 481 +++ example/67_gemm_microscaling/CMakeLists.txt | 8 + example/67_gemm_microscaling/README.md | 25 + example/67_gemm_microscaling/gemm_mx_bf8.cpp | 98 + .../67_gemm_microscaling/gemm_mx_common.hpp | 429 +++ example/67_gemm_microscaling/gemm_mx_fp8.cpp | 98 + example/CMakeLists.txt | 241 ++ example/README.md | 2 + example/ck_tile/01_fmha/CMakeLists.txt | 123 + example/ck_tile/01_fmha/README.md | 131 + example/ck_tile/01_fmha/bias.hpp | 100 + example/ck_tile/01_fmha/codegen/__init__.py | 0 .../ck_tile/01_fmha/codegen/cmake_config.py | 5 + .../ck_tile/01_fmha/codegen/cpp_symbol_map.py | 128 + .../ck_tile/01_fmha/codegen/ops/__init__.py | 0 .../ck_tile/01_fmha/codegen/ops/fmha_bwd.py | 902 ++++++ .../ck_tile/01_fmha/codegen/ops/fmha_fwd.py | 574 ++++ .../01_fmha/codegen/ops/fmha_fwd_appendkv.py | 359 +++ .../01_fmha/codegen/ops/fmha_fwd_splitkv.py | 855 +++++ example/ck_tile/01_fmha/fmha_bwd.cpp | 997 ++++++ example/ck_tile/01_fmha/fmha_bwd.hpp | 456 +++ example/ck_tile/01_fmha/fmha_fwd.cpp | 1585 ++++++++++ example/ck_tile/01_fmha/fmha_fwd.hpp | 823 +++++ example/ck_tile/01_fmha/generate.py | 136 + example/ck_tile/01_fmha/mask.hpp | 157 + example/ck_tile/01_fmha/misc/gamc.png | Bin 0 -> 30073 bytes example/ck_tile/01_fmha/rotary.hpp | 84 + .../ck_tile/01_fmha/script/benchmark_bwd.sh | 20 + .../ck_tile/01_fmha/script/benchmark_fwd.sh | 31 + .../ck_tile/01_fmha/script/run_full_test.sh | 46 + .../ck_tile/01_fmha/script/smoke_test_bwd.sh | 35 + .../ck_tile/01_fmha/script/smoke_test_fwd.sh | 106 + example/ck_tile/01_fmha/utils.hpp | 266 ++ example/ck_tile/02_layernorm2d/CMakeLists.txt | 45 + example/ck_tile/02_layernorm2d/README.md | 85 + example/ck_tile/02_layernorm2d/generate.py | 730 +++++ .../02_layernorm2d/layernorm2d_fwd.cpp | 481 +++ .../02_layernorm2d/layernorm2d_fwd.hpp | 70 + .../ck_tile/02_layernorm2d/misc/dquant.png | Bin 0 -> 36863 bytes example/ck_tile/02_layernorm2d/misc/pnorm.png | Bin 0 -> 32113 bytes .../02_layernorm2d/script/perf_test.sh | 37 + .../02_layernorm2d/script/smoke_test.sh | 35 + example/ck_tile/03_gemm/CMakeLists.txt | 12 + example/ck_tile/03_gemm/README.md | 37 + example/ck_tile/03_gemm/gemm_basic.cpp | 200 ++ example/ck_tile/03_gemm/gemm_utils.hpp | 223 ++ example/ck_tile/03_gemm/run_gemm_example.inc | 412 +++ .../03_gemm/script/benchmark_basic_bf16.sh | 14 + .../03_gemm/script/benchmark_basic_bf8.sh | 14 + .../03_gemm/script/benchmark_basic_fp16.sh | 13 + .../03_gemm/script/benchmark_basic_fp8.sh | 14 + .../script/benchmark_mem_pipeline_bf16.sh | 13 + .../script/benchmark_mem_pipeline_bf8.sh | 13 + .../script/benchmark_mem_pipeline_fp16.sh | 13 + .../script/benchmark_mem_pipeline_fp8.sh | 13 + .../ck_tile/03_gemm/script/run_full_test.sh | 45 + .../03_gemm/script/smoke_test_basic.sh | 36 + .../03_gemm/script/smoke_test_mem_pipeline.sh | 36 + example/ck_tile/03_gemm/stript.sh | 1 + example/ck_tile/03_gemm/universal_gemm.cpp | 360 +++ example/ck_tile/04_img2col/CMakeLists.txt | 4 + example/ck_tile/04_img2col/README.md | 13 + .../ck_tile/04_img2col/image_to_column.cpp | 170 + .../ck_tile/04_img2col/image_to_column.hpp | 105 + example/ck_tile/05_reduce/CMakeLists.txt | 21 + example/ck_tile/05_reduce/reduce.cpp | 115 + example/ck_tile/05_reduce/reduce.hpp | 164 + example/ck_tile/06_permute/CMakeLists.txt | 14 + example/ck_tile/06_permute/README.md | 46 + .../alternative_impl/matrix_core_swizzle.cpp | 98 + .../alternative_impl/matrix_core_swizzle.hpp | 20 + .../matrix_core_swizzle_kernel.hpp | 413 +++ example/ck_tile/06_permute/permute.cpp | 411 +++ example/ck_tile/06_permute/permute.hpp | 19 + .../ck_tile/06_permute/script/smoke_test.sh | 34 + .../ck_tile/09_topk_softmax/CMakeLists.txt | 9 + example/ck_tile/09_topk_softmax/README.md | 28 + .../09_topk_softmax/script/smoke_test.sh | 22 + .../ck_tile/09_topk_softmax/topk_softmax.cpp | 299 ++ .../09_topk_softmax/topk_softmax_api.cpp | 96 + .../09_topk_softmax/topk_softmax_api.hpp | 21 + example/ck_tile/10_rmsnorm2d/CMakeLists.txt | 50 + example/ck_tile/10_rmsnorm2d/README.md | 22 + .../10_rmsnorm2d/example_rmsnorm2d_fwd.cpp | 194 ++ example/ck_tile/10_rmsnorm2d/generate.py | 715 +++++ .../ck_tile/10_rmsnorm2d/rmsnorm2d_fwd.cpp | 536 ++++ .../ck_tile/10_rmsnorm2d/rmsnorm2d_fwd.hpp | 69 + .../ck_tile/10_rmsnorm2d/script/perf_test.sh | 37 + .../ck_tile/10_rmsnorm2d/script/smoke_test.sh | 43 + .../11_add_rmsnorm2d_rdquant/CMakeLists.txt | 27 + .../11_add_rmsnorm2d_rdquant/README.md | 22 + .../add_rmsnorm2d_rdquant_fwd.cpp | 309 ++ .../add_rmsnorm2d_rdquant_fwd.hpp | 150 + .../example_add_rmsnorm2d_rdquant_fwd.cpp | 283 ++ .../add_rmsnorm2d_rdquant_fwd_api.cpp | 227 ++ ...norm2d_rdquant_fwd_bf16_n1024_instance.cpp | 26 + ...norm2d_rdquant_fwd_bf16_n1536_instance.cpp | 17 + ...norm2d_rdquant_fwd_bf16_n2048_instance.cpp | 18 + ...snorm2d_rdquant_fwd_bf16_n256_instance.cpp | 15 + ...norm2d_rdquant_fwd_bf16_n3072_instance.cpp | 17 + ...norm2d_rdquant_fwd_bf16_n4096_instance.cpp | 17 + ...snorm2d_rdquant_fwd_bf16_n512_instance.cpp | 17 + ...m2d_rdquant_fwd_bf16_n64_n128_instance.cpp | 15 + ...snorm2d_rdquant_fwd_bf16_n768_instance.cpp | 15 + ...norm2d_rdquant_fwd_bf16_n8192_instance.cpp | 42 + ...m2d_rdquant_fwd_bf16_n8192_tp_instance.cpp | 17 + ...norm2d_rdquant_fwd_fp16_n1024_instance.cpp | 26 + ...norm2d_rdquant_fwd_fp16_n1536_instance.cpp | 17 + ...norm2d_rdquant_fwd_fp16_n2048_instance.cpp | 18 + ...snorm2d_rdquant_fwd_fp16_n256_instance.cpp | 15 + ...norm2d_rdquant_fwd_fp16_n3072_instance.cpp | 17 + ...norm2d_rdquant_fwd_fp16_n4096_instance.cpp | 17 + ...snorm2d_rdquant_fwd_fp16_n512_instance.cpp | 17 + ...m2d_rdquant_fwd_fp16_n64_n128_instance.cpp | 15 + ...snorm2d_rdquant_fwd_fp16_n768_instance.cpp | 15 + ...norm2d_rdquant_fwd_fp16_n8192_instance.cpp | 41 + ...m2d_rdquant_fwd_fp16_n8192_tp_instance.cpp | 17 + ..._rmsnorm2d_rdquant_fwd_instance_common.hpp | 70 + .../script/perf_test.sh | 37 + .../script/smoke_test.sh | 30 + example/ck_tile/12_smoothquant/CMakeLists.txt | 25 + example/ck_tile/12_smoothquant/README.md | 21 + .../12_smoothquant/example_smoothquant.cpp | 245 ++ .../smoothquant_bf16_n1024_instance.cpp | 22 + .../smoothquant_bf16_n1536_instance.cpp | 13 + .../smoothquant_bf16_n2048_instance.cpp | 14 + .../smoothquant_bf16_n256_instance.cpp | 12 + .../smoothquant_bf16_n3072_instance.cpp | 14 + .../smoothquant_bf16_n4096_instance.cpp | 14 + .../smoothquant_bf16_n4096_tp_instance.cpp | 14 + .../smoothquant_bf16_n512_instance.cpp | 13 + .../smoothquant_bf16_n64_n128_instance.cpp | 12 + .../smoothquant_bf16_n768_instance.cpp | 12 + .../smoothquant_fp16_n1024_instance.cpp | 22 + .../smoothquant_fp16_n1536_instance.cpp | 13 + .../smoothquant_fp16_n2048_instance.cpp | 14 + .../smoothquant_fp16_n256_instance.cpp | 12 + .../smoothquant_fp16_n3072_instance.cpp | 14 + .../smoothquant_fp16_n4096_instance.cpp | 14 + .../smoothquant_fp16_n4096_tp_instance.cpp | 14 + .../smoothquant_fp16_n512_instance.cpp | 13 + .../smoothquant_fp16_n64_n128_instance.cpp | 12 + .../smoothquant_fp16_n768_instance.cpp | 12 + .../instances/smoothquant_fwd_api.cpp | 143 + .../instances/smoothquant_instance_common.hpp | 62 + .../12_smoothquant/script/perf_test.sh | 37 + .../12_smoothquant/script/smoke_test.sh | 30 + .../ck_tile/12_smoothquant/smoothquant.cpp | 226 ++ .../ck_tile/12_smoothquant/smoothquant.hpp | 114 + example/ck_tile/13_moe_sorting/CMakeLists.txt | 9 + example/ck_tile/13_moe_sorting/README.md | 27 + .../ck_tile/13_moe_sorting/moe_sorting.cpp | 350 +++ .../13_moe_sorting/moe_sorting_api.cpp | 258 ++ .../13_moe_sorting/moe_sorting_api.hpp | 27 + .../13_moe_sorting/script/smoke_test.sh | 28 + .../ck_tile/14_moe_smoothquant/CMakeLists.txt | 26 + example/ck_tile/14_moe_smoothquant/README.md | 15 + .../moe_smoothquant_bf16_n1024_instance.cpp | 27 + .../moe_smoothquant_bf16_n1536_instance.cpp | 18 + .../moe_smoothquant_bf16_n2048_instance.cpp | 19 + .../moe_smoothquant_bf16_n256_instance.cpp | 16 + .../moe_smoothquant_bf16_n3072_instance.cpp | 18 + .../moe_smoothquant_bf16_n4096_instance.cpp | 18 + ...moe_smoothquant_bf16_n4096_tp_instance.cpp | 18 + .../moe_smoothquant_bf16_n512_instance.cpp | 18 + ...moe_smoothquant_bf16_n64_n128_instance.cpp | 16 + .../moe_smoothquant_bf16_n768_instance.cpp | 16 + .../moe_smoothquant_fp16_n1024_instance.cpp | 27 + .../moe_smoothquant_fp16_n1536_instance.cpp | 18 + .../moe_smoothquant_fp16_n2048_instance.cpp | 18 + .../moe_smoothquant_fp16_n256_instance.cpp | 16 + .../moe_smoothquant_fp16_n3072_instance.cpp | 18 + .../moe_smoothquant_fp16_n4096_instance.cpp | 18 + ...moe_smoothquant_fp16_n4096_tp_instance.cpp | 18 + .../moe_smoothquant_fp16_n512_instance.cpp | 18 + ...moe_smoothquant_fp16_n64_n128_instance.cpp | 16 + .../moe_smoothquant_fp16_n768_instance.cpp | 16 + .../instances/moe_smoothquant_fwd_api.cpp | 155 + .../moe_smoothquant_instance_common.hpp | 65 + .../14_moe_smoothquant/misc/moe-sm.png | Bin 0 -> 206879 bytes .../14_moe_smoothquant/moe_smoothquant.cpp | 276 ++ .../14_moe_smoothquant/moe_smoothquant.hpp | 104 + .../14_moe_smoothquant/script/perf_test.sh | 37 + .../14_moe_smoothquant/script/smoke_test.sh | 32 + example/ck_tile/15_fused_moe/CMakeLists.txt | 20 + example/ck_tile/15_fused_moe/README.md | 72 + example/ck_tile/15_fused_moe/fused_moe.hpp | 59 + .../ck_tile/15_fused_moe/fused_moegemm.hpp | 85 + .../ck_tile/15_fused_moe/fused_moesorting.hpp | 21 + .../15_fused_moe/instances/fused_moe_api.cpp | 84 + .../instances/fused_moegemm_api.cpp | 85 + .../instances/fused_moegemm_api_internal.hpp | 70 + .../instances/fused_moegemm_api_traits.hpp | 55 + .../instances/fused_moegemm_bf16_m32.cpp | 25 + .../instances/fused_moegemm_fp16_m32.cpp | 26 + .../instances/fused_moesorting_api.cpp | 170 + example/ck_tile/15_fused_moe/main.cpp | 623 ++++ example/ck_tile/15_fused_moe/misc/moe-0.png | Bin 0 -> 76830 bytes example/ck_tile/15_fused_moe/misc/moe-1.png | Bin 0 -> 92535 bytes example/ck_tile/15_fused_moe/misc/moe-2.png | Bin 0 -> 126766 bytes example/ck_tile/15_fused_moe/misc/moe-3.png | Bin 0 -> 18655 bytes .../ck_tile/16_batched_gemm/CMakeLists.txt | 2 + example/ck_tile/16_batched_gemm/README.md | 37 + .../ck_tile/16_batched_gemm/batched_gemm.cpp | 296 ++ .../ck_tile/16_batched_gemm/batched_gemm.hpp | 84 + .../run_batched_gemm_example.inc | 324 ++ .../ck_tile/17_grouped_gemm/CMakeLists.txt | 2 + example/ck_tile/17_grouped_gemm/README.md | 25 + .../ck_tile/17_grouped_gemm/grouped_gemm.cpp | 293 ++ .../ck_tile/17_grouped_gemm/grouped_gemm.hpp | 83 + .../run_grouped_gemm_example.inc | 240 ++ example/ck_tile/18_flatmm/CMakeLists.txt | 9 + example/ck_tile/18_flatmm/README.md | 35 + example/ck_tile/18_flatmm/flatmm_basic.cpp | 102 + example/ck_tile/18_flatmm/flatmm_basic.hpp | 100 + .../ck_tile/18_flatmm/run_flatmm_example.inc | 281 ++ .../18_flatmm/script/smoke_test_basic.sh | 34 + .../35_batched_transpose/CMakeLists.txt | 9 + .../ck_tile/35_batched_transpose/README.md | 27 + .../batched_transpose_api.cpp | 82 + .../batched_transpose_example.cpp | 261 ++ .../batched_transpose_example.hpp | 25 + .../35_batched_transpose/script/smoke_test.sh | 11 + example/ck_tile/CMakeLists.txt | 24 + example/ck_tile/remod.py | 21 + include/ck/README.md | 23 + include/ck/ck.hpp | 300 ++ include/ck/config.h.in | 144 + include/ck/filesystem.hpp | 135 + include/ck/host_utility/device_prop.hpp | 100 + include/ck/host_utility/flush_cache.hpp | 378 +++ include/ck/host_utility/hip_check_error.hpp | 33 + include/ck/host_utility/io.hpp | 41 + include/ck/host_utility/kernel_launch.hpp | 170 + include/ck/host_utility/stream_utility.hpp | 43 + include/ck/library/utility/algorithm.hpp | 43 + include/ck/library/utility/check_err.hpp | 505 +++ include/ck/library/utility/conv_common.hpp | 77 + ...volution_host_tensor_descriptor_helper.hpp | 395 +++ .../library/utility/convolution_parameter.hpp | 113 + include/ck/library/utility/device_memory.hpp | 50 + include/ck/library/utility/fill.hpp | 172 + .../ck/library/utility/host_common_util.hpp | 136 + include/ck/library/utility/host_gemm.hpp | 47 + include/ck/library/utility/host_tensor.hpp | 613 ++++ .../library/utility/host_tensor_generator.hpp | 379 +++ include/ck/library/utility/iterator.hpp | 22 + include/ck/library/utility/literals.hpp | 20 + include/ck/library/utility/numeric.hpp | 16 + include/ck/library/utility/ranges.hpp | 60 + ...n3d_into_gemm_v4r4r4_ndhwc_kzyxc_ndhwk.hpp | 153 + include/ck/stream_config.hpp | 19 + include/ck/tensor/static_tensor.hpp | 273 ++ .../tensor_description/cluster_descriptor.hpp | 34 + .../multi_index_transform.hpp | 2046 ++++++++++++ .../multi_index_transform_helper.hpp | 142 + .../ck/tensor_description/tensor_adaptor.hpp | 482 +++ .../tensor_description/tensor_descriptor.hpp | 615 ++++ .../tensor_descriptor_helper.hpp | 165 + .../tensor_space_filling_curve.hpp | 162 + .../gpu/block/blockwise_gemm_dl_v2r3.hpp | 412 +++ .../gpu/block/blockwise_gemm_dlops_v2r2.hpp | 397 +++ .../gpu/block/blockwise_gemm_dlops_v3.hpp | 178 ++ .../gpu/block/blockwise_gemm_dpp.hpp | 348 +++ ...blockwise_gemm_mx_pipeline_xdlops_base.hpp | 363 +++ .../blockwise_gemm_pipeline_wmma_selector.hpp | 60 + .../block/blockwise_gemm_pipeline_wmmaops.hpp | 85 + .../blockwise_gemm_pipeline_wmmaops_base.hpp | 309 ++ .../blockwise_gemm_pipeline_wmmaops_v3.hpp | 466 +++ .../block/blockwise_gemm_pipeline_xdlops.hpp | 994 ++++++ ...gemm_pipeline_xdlops_ab_scale_selector.hpp | 110 + ...ipeline_xdlops_b_preshuffle_dequant_v1.hpp | 547 ++++ ...ipeline_xdlops_b_preshuffle_dequant_v3.hpp | 930 ++++++ ...dlops_b_preshuffle_gufusion_dequant_v1.hpp | 621 ++++ ...peline_xdlops_b_preshuffle_gufusion_v1.hpp | 573 ++++ ..._pipeline_xdlops_b_preshuffle_selector.hpp | 226 ++ ...e_gemm_pipeline_xdlops_b_preshuffle_v1.hpp | 514 +++ ...e_gemm_pipeline_xdlops_b_preshuffle_v2.hpp | 558 ++++ ...e_gemm_pipeline_xdlops_b_preshuffle_v3.hpp | 860 +++++ ..._gemm_pipeline_xdlops_b_scale_selector.hpp | 158 + .../blockwise_gemm_pipeline_xdlops_base.hpp | 384 +++ ...kwise_gemm_pipeline_xdlops_mx_selector.hpp | 98 + ...lockwise_gemm_pipeline_xdlops_selector.hpp | 158 + .../blockwise_gemm_pipeline_xdlops_v1.hpp | 731 +++++ ...kwise_gemm_pipeline_xdlops_v1_ab_scale.hpp | 868 +++++ ...ckwise_gemm_pipeline_xdlops_v1_b_scale.hpp | 403 +++ .../blockwise_gemm_pipeline_xdlops_v1_mx.hpp | 613 ++++ .../blockwise_gemm_pipeline_xdlops_v2.hpp | 1154 +++++++ ...kwise_gemm_pipeline_xdlops_v2_ab_scale.hpp | 676 ++++ ...ckwise_gemm_pipeline_xdlops_v2_b_scale.hpp | 1248 ++++++++ .../blockwise_gemm_pipeline_xdlops_v3.hpp | 463 +++ ...kwise_gemm_pipeline_xdlops_v3_ab_scale.hpp | 621 ++++ ...ckwise_gemm_pipeline_xdlops_v3_b_scale.hpp | 530 ++++ .../blockwise_gemm_pipeline_xdlops_v4.hpp | 574 ++++ ...ckwise_gemm_pipeline_xdlops_v4_b_scale.hpp | 686 ++++ .../blockwise_gemm_pipeline_xdlops_v5.hpp | 664 ++++ .../block/blockwise_gemm_smfmac_xdlops.hpp | 453 +++ .../gpu/block/blockwise_gemm_wmma.hpp | 1030 ++++++ .../gpu/block/blockwise_gemm_xdlops.hpp | 1016 ++++++ .../blockwise_gemm_xdlops_skip_b_lds.hpp | 320 ++ .../gpu/block/blockwise_softmax.hpp | 125 + .../blockwise_tensor_slice_transfer_v5r1.hpp | 156 + .../gpu/block/blockwise_welford.hpp | 110 + .../block/reduction_functions_blockwise.hpp | 244 ++ ...roup_tensor_slice_transfer_direct_load.hpp | 314 ++ ...hread_group_tensor_slice_transfer_v4r1.hpp | 199 ++ ...oup_tensor_slice_transfer_v4r1_dequant.hpp | 223 ++ ...roup_tensor_slice_transfer_v4r1_gather.hpp | 201 ++ ...hread_group_tensor_slice_transfer_v4r2.hpp | 193 ++ ...hread_group_tensor_slice_transfer_v6r1.hpp | 134 + ...ead_group_tensor_slice_transfer_v6r1r2.hpp | 164 + ...hread_group_tensor_slice_transfer_v6r2.hpp | 158 + ...hread_group_tensor_slice_transfer_v6r3.hpp | 183 ++ .../thread_group_tensor_slice_transfer_v7.hpp | 172 + ...hread_group_tensor_slice_transfer_v7r2.hpp | 220 ++ ...hread_group_tensor_slice_transfer_v7r3.hpp | 220 ++ ...oup_tensor_slice_transfer_v7r3_scatter.hpp | 241 ++ .../gpu/device/conv_tensor_rearrange_op.hpp | 33 + ...nvolution_backward_data_specialization.hpp | 29 + ...olution_backward_weight_specialization.hpp | 33 + .../convolution_forward_specialization.hpp | 40 + .../gpu/device/device_avgpool_bwd.hpp | 39 + .../gpu/device/device_base.hpp | 115 + .../device_batched_contraction_multiple_d.hpp | 64 + .../gpu/device/device_batched_gemm.hpp | 110 + .../device/device_batched_gemm_e_permute.hpp | 50 + .../gpu/device/device_batched_gemm_gemm.hpp | 59 + .../device/device_batched_gemm_multi_d.hpp | 100 + ...atched_gemm_multiple_d_gemm_multiple_d.hpp | 72 + .../device_batched_gemm_softmax_gemm.hpp | 63 + ...vice_batched_gemm_softmax_gemm_permute.hpp | 70 + .../gpu/device/device_batchnorm_backward.hpp | 77 + .../gpu/device/device_batchnorm_forward.hpp | 72 + .../gpu/device/device_batchnorm_infer.hpp | 69 + .../gpu/device/device_cgemm.hpp | 51 + .../device_contraction_multiple_abd.hpp | 61 + .../device/device_contraction_multiple_d.hpp | 64 + .../gpu/device/device_conv_bwd_data.hpp | 49 + .../gpu/device/device_conv_fwd.hpp | 49 + .../device_conv_fwd_bias_activation.hpp | 53 + .../device_conv_fwd_bias_activation_add.hpp | 53 + .../device/device_conv_tensor_rearrange.hpp | 78 + .../gpu/device/device_elementwise.hpp | 45 + .../device_elementwise_normalization.hpp | 68 + .../gpu/device/device_elementwise_scale.hpp | 59 + .../gpu/device/device_gemm.hpp | 42 + .../gpu/device/device_gemm_bias_e_permute.hpp | 51 + .../gpu/device/device_gemm_dequantB.hpp | 46 + .../gpu/device/device_gemm_multiple_abd.hpp | 60 + .../gpu/device/device_gemm_multiple_d.hpp | 154 + .../device_gemm_multiple_d_ab_scale.hpp | 65 + .../device_gemm_multiple_d_layernorm.hpp | 67 + .../device_gemm_multiple_d_multiple_r.hpp | 97 + .../gpu/device/device_gemm_mx.hpp | 50 + .../gpu/device/device_gemm_reduce.hpp | 46 + .../gpu/device/device_gemm_splitk.hpp | 67 + .../gpu/device/device_gemm_streamk.hpp | 64 + .../gpu/device/device_gemm_streamk_v2.hpp | 44 + .../gpu/device/device_gemm_v2.hpp | 153 + .../device_grouped_contraction_multiple_d.hpp | 72 + ...evice_grouped_conv_bwd_data_multiple_d.hpp | 70 + .../device/device_grouped_conv_bwd_weight.hpp | 52 + ...ice_grouped_conv_bwd_weight_multiple_d.hpp | 59 + .../gpu/device/device_grouped_conv_fwd.hpp | 55 + .../device_grouped_conv_fwd_multiple_abd.hpp | 171 + .../device_grouped_conv_fwd_multiple_d.hpp | 67 + .../gpu/device/device_grouped_gemm.hpp | 185 ++ .../device/device_grouped_gemm_fixed_nk.hpp | 39 + .../device/device_grouped_gemm_multi_abd.hpp | 98 + ...device_grouped_gemm_multi_abd_fixed_nk.hpp | 81 + ...vice_grouped_gemm_softmax_gemm_permute.hpp | 75 + .../gpu/device/device_grouped_gemm_splitk.hpp | 55 + .../device/device_grouped_gemm_tile_loop.hpp | 48 + .../gpu/device/device_max_pool_bwd.hpp | 33 + .../gpu/device/device_multiple_reduce.hpp | 58 + .../device/device_normalization_bwd_data.hpp | 59 + .../device_normalization_bwd_gamma_beta.hpp | 61 + .../gpu/device/device_normalization_fwd.hpp | 64 + .../gpu/device/device_permute.hpp | 36 + .../gpu/device/device_pool_fwd.hpp | 47 + .../gpu/device/device_put_element.hpp | 36 + .../gpu/device/device_reduce.hpp | 71 + .../gpu/device/device_reduce_multi_d.hpp | 69 + .../gpu/device/device_softmax.hpp | 72 + .../device_splitk_contraction_multiple_d.hpp | 65 + .../gpu/device/gemm_specialization.hpp | 59 + .../ck/tensor_operation/gpu/device/helper.hpp | 478 +++ ...ped_conv_fwd_multiple_abd_xdl_cshuffle.hpp | 1025 ++++++ .../impl/device_avgpool2d_bwd_nhwc_nhwc.hpp | 523 ++++ .../impl/device_avgpool3d_bwd_ndhwc_ndhwc.hpp | 575 ++++ ...d_contraction_multiple_d_wmma_cshuffle.hpp | 1071 +++++++ ...ed_contraction_multiple_d_xdl_cshuffle.hpp | 1048 +++++++ .../device_batched_gemm_e_permute_xdl.hpp | 696 +++++ .../device_batched_gemm_gemm_xdl_cshuffle.hpp | 747 +++++ .../impl/device_batched_gemm_multi_d_xdl.hpp | 724 +++++ .../device_batched_gemm_multiple_d_dl.hpp | 792 +++++ ...ultiple_d_gemm_multiple_d_xdl_cshuffle.hpp | 996 ++++++ ...atched_gemm_multiple_d_xdl_cshuffle_v3.hpp | 1027 ++++++ ...evice_batched_gemm_reduce_xdl_cshuffle.hpp | 1008 ++++++ ...emm_softmax_gemm_permute_wmma_cshuffle.hpp | 1730 ++++++++++ ...gemm_softmax_gemm_permute_xdl_cshuffle.hpp | 955 ++++++ ...batched_gemm_softmax_gemm_xdl_cshuffle.hpp | 1112 +++++++ .../device/impl/device_batched_gemm_xdl.hpp | 434 +++ ...evice_batched_gemm_xdl_fpAintB_b_scale.hpp | 1015 ++++++ .../impl/device_batchnorm_backward_impl.hpp | 876 ++++++ .../impl/device_batchnorm_forward_impl.hpp | 824 +++++ ...device_batchnorm_forward_impl_obsolete.hpp | 716 +++++ .../impl/device_cgemm_4gemm_xdl_cshuffle.hpp | 625 ++++ .../impl/device_column_to_image_impl.hpp | 647 ++++ ..._contraction_multiple_abd_xdl_cshuffle.hpp | 847 +++++ ...ce_contraction_multiple_d_xdl_cshuffle.hpp | 780 +++++ .../device/impl/device_contraction_utils.hpp | 117 + ...rd_weight_xdl_c_shuffle_nhwc_kyxc_nhwk.hpp | 808 +++++ ...ice_conv2d_bwd_data_xdl_nhwc_kyxc_nhwk.hpp | 767 +++++ ...fle_bias_activation_add_nhwc_kyxc_nhwk.hpp | 983 ++++++ ...shuffle_bias_activation_nhwc_kyxc_nhwk.hpp | 940 ++++++ ...onv2d_fwd_xdl_c_shuffle_nhwc_kyxc_nhwk.hpp | 906 ++++++ .../device_conv2d_fwd_xdl_nhwc_kyxc_nhwk.hpp | 680 ++++ ...ice_conv3d_fwd_naive_ndhwc_kzyxc_ndhwk.hpp | 268 ++ ...evice_conv3d_fwd_xdl_ndhwc_kzyxc_ndhwk.hpp | 661 ++++ .../device_convnd_bwd_data_nwc_kxc_nwk_dl.hpp | 1587 ++++++++++ ...device_convnd_bwd_data_nwc_kxc_nwk_xdl.hpp | 1475 +++++++++ ...e_elementwise_dynamic_vector_dims_impl.hpp | 424 +++ .../device_elementwise_normalization_impl.hpp | 597 ++++ .../impl/device_elementwise_scale_impl.hpp | 346 ++ .../device/impl/device_fpAintB_gemm_wmma.hpp | 714 +++++ ...vice_gemm_bias_add_reduce_xdl_cshuffle.hpp | 888 ++++++ .../gpu/device/impl/device_gemm_dl.hpp | 646 ++++ .../gpu/device/impl/device_gemm_dpp.hpp | 271 ++ .../device_gemm_multiple_abd_xdl_cshuffle.hpp | 751 +++++ .../device/impl/device_gemm_multiple_d_dl.hpp | 669 ++++ ...gemm_multiple_d_layernorm_xdl_cshuffle.hpp | 1088 +++++++ ...emm_multiple_d_multiple_r_xdl_cshuffle.hpp | 692 ++++ .../device_gemm_multiple_d_wmma_cshuffle.hpp | 740 +++++ .../device_gemm_multiple_d_xdl_cshuffle.hpp | 898 ++++++ ...ultiple_d_xdl_cshuffle_lds_direct_load.hpp | 414 +++ ...device_gemm_multiple_d_xdl_cshuffle_v3.hpp | 793 +++++ ...mm_multiple_d_xdl_cshuffle_v3_ab_scale.hpp | 457 +++ ...ultiple_d_xdl_cshuffle_v3_b_preshuffle.hpp | 664 ++++ .../impl/device_gemm_reduce_xdl_cshuffle.hpp | 847 +++++ .../gpu/device/impl/device_gemm_wmma.hpp | 651 ++++ .../impl/device_gemm_wmma_cshuffle_v3.hpp | 542 ++++ .../gpu/device/impl/device_gemm_xdl.hpp | 305 ++ .../device/impl/device_gemm_xdl_cshuffle.hpp | 309 ++ ...vice_gemm_xdl_cshuffle_lds_direct_load.hpp | 394 +++ .../device_gemm_xdl_cshuffle_streamk_v3.hpp | 796 +++++ .../impl/device_gemm_xdl_cshuffle_v2.hpp | 306 ++ .../impl/device_gemm_xdl_cshuffle_v3.hpp | 887 ++++++ ...vice_gemm_xdl_cshuffle_v3_b_preshuffle.hpp | 531 ++++ .../device_gemm_xdl_cshuffle_v3_b_scale.hpp | 795 +++++ .../impl/device_gemm_xdl_cshuffle_v3_mx.hpp | 880 ++++++ .../impl/device_gemm_xdl_cshuffle_v3r1.hpp | 703 +++++ .../device_gemm_xdl_layernorm_cshuffle.hpp | 781 +++++ .../impl/device_gemm_xdl_skip_b_lds.hpp | 530 ++++ .../impl/device_gemm_xdl_splitk_c_shuffle.hpp | 422 +++ ...m_xdl_splitk_c_shuffle_lds_direct_load.hpp | 423 +++ .../device/impl/device_gemm_xdl_streamk.hpp | 360 +++ .../device_gemm_xdl_waveletmodel_cshuffle.hpp | 526 ++++ ...ed_contraction_multiple_d_xdl_cshuffle.hpp | 916 ++++++ ...conv_bwd_data_multiple_d_wmma_cshuffle.hpp | 805 +++++ ...nv_bwd_data_multiple_d_xdl_cshuffle_v1.hpp | 2405 ++++++++++++++ .../device_grouped_conv_bwd_weight_dl.hpp | 1234 ++++++++ ...onv_bwd_weight_multiple_d_xdl_cshuffle.hpp | 1091 +++++++ ...conv_bwd_weight_two_stage_xdl_cshuffle.hpp | 1898 +++++++++++ ..._grouped_conv_bwd_weight_wmma_cshuffle.hpp | 871 ++++++ ...e_grouped_conv_bwd_weight_xdl_cshuffle.hpp | 1146 +++++++ ...rouped_conv_bwd_weight_xdl_cshuffle_v3.hpp | 1359 ++++++++ ..._conv_fwd_dl_multiple_d_nhwc_kyxc_nhwk.hpp | 1056 +++++++ ...ice_grouped_conv_fwd_dl_nhwc_kyxc_nhwk.hpp | 833 +++++ ...ped_conv_fwd_multiple_abd_xdl_cshuffle.hpp | 1775 +++++++++++ ..._conv_fwd_multiple_abd_xdl_cshuffle_v3.hpp | 1674 ++++++++++ ...grouped_conv_fwd_multiple_d_multiple_r.hpp | 77 + ...fwd_multiple_d_multiple_r_xdl_cshuffle.hpp | 1107 +++++++ ...uped_conv_fwd_multiple_d_wmma_cshuffle.hpp | 1010 ++++++ ...ouped_conv_fwd_multiple_d_xdl_cshuffle.hpp | 138 + ...d_multiple_d_xdl_large_tensor_cshuffle.hpp | 1053 +++++++ .../device/impl/device_grouped_conv_utils.hpp | 319 ++ ...ce_grouped_gemm_multi_abd_xdl_fixed_nk.hpp | 850 +++++ .../device_grouped_gemm_multiple_d_dl.hpp | 833 +++++ ...ltiple_d_splitk_xdl_cshuffle_two_stage.hpp | 1017 ++++++ ...gemm_multiple_d_xdl_cshuffle_tile_loop.hpp | 974 ++++++ ...gemm_softmax_gemm_permute_xdl_cshuffle.hpp | 892 ++++++ .../device/impl/device_grouped_gemm_xdl.hpp | 796 +++++ .../impl/device_grouped_gemm_xdl_fixed_nk.hpp | 987 ++++++ ...evice_grouped_gemm_xdl_splitk_cshuffle.hpp | 735 +++++ ...e_grouped_query_attention_forward_wmma.hpp | 1255 ++++++++ .../impl/device_image_to_column_impl.hpp | 408 +++ .../device/impl/device_max_pool_bwd_impl.hpp | 366 +++ .../gpu/device/impl/device_moe_gemm.hpp | 527 ++++ ...ice_multi_query_attention_forward_wmma.hpp | 1245 ++++++++ .../device_multiple_reduce_multiblock.hpp | 595 ++++ .../device_multiple_reduce_threadwise.hpp | 422 +++ .../device_normalization_bwd_data_impl.hpp | 465 +++ ...vice_normalization_bwd_gamma_beta_impl.hpp | 478 +++ .../impl/device_normalization_fwd_impl.hpp | 475 +++ .../device_normalization_fwd_splitk_impl.hpp | 750 +++++ .../gpu/device/impl/device_permute_impl.hpp | 282 ++ .../impl/device_pool2d_fwd_nhwc_nhwc.hpp | 388 +++ .../impl/device_pool3d_fwd_ndhwc_ndhwc.hpp | 411 +++ .../device/impl/device_put_element_impl.hpp | 155 + .../gpu/device/impl/device_reduce_common.hpp | 142 + .../device/impl/device_reduce_multiblock.hpp | 551 ++++ .../device/impl/device_reduce_threadwise.hpp | 392 +++ .../impl/device_reduce_threadwise_multi_d.hpp | 412 +++ .../gpu/device/impl/device_softmax_impl.hpp | 417 +++ ...ce_sparse_embeddings_forward_layernorm.hpp | 197 ++ ...tk_contraction_multiple_d_xdl_cshuffle.hpp | 1150 +++++++ .../gpu/device/masking_specialization.hpp | 87 + .../gpu/device/matrix_padder.hpp | 395 +++ .../gpu/device/reduction_operator_mapping.hpp | 186 ++ .../gpu/device/tensor_layout.hpp | 451 +++ .../gpu/device/tensor_specialization.hpp | 28 + .../gpu/device/welford_helper.hpp | 89 + .../element/binary_element_wise_operation.hpp | 669 ++++ .../combined_element_wise_operation.hpp | 114 + .../gpu/element/element_wise_operation.hpp | 588 ++++ .../gpu/element/quantization_operation.hpp | 286 ++ .../element/unary_element_wise_operation.hpp | 1625 ++++++++++ .../gridwise_multiblock_batchnorm_forward.hpp | 704 +++++ ...e_second_half_batchnorm_backward_final.hpp | 498 +++ ...gridwise_multiblock_welford_first_half.hpp | 261 ++ ..._half_batchnorm_forward_final_obsolete.hpp | 570 ++++ ...cond_half_multiblock_reduce_first_half.hpp | 556 ++++ .../gpu/grid/block_to_ctile_map.hpp | 1776 +++++++++++ ...iple_d_welford_first_half_xdl_cshuffle.hpp | 1124 +++++++ ...idwise_welford_second_half_layernorm2d.hpp | 394 +++ ...dwise_2d_multiple_reduction_multiblock.hpp | 321 ++ ...dwise_2d_multiple_reduction_threadwise.hpp | 264 ++ .../grid/gridwise_2d_reduction_multiblock.hpp | 613 ++++ .../grid/gridwise_2d_reduction_threadwise.hpp | 488 +++ ...idwise_2d_reduction_threadwise_multi_d.hpp | 260 ++ ...wise_batched_gemm_gemm_xdl_cshuffle_v1.hpp | 943 ++++++ ...iple_d_gemm_multiple_d_xdl_cshuffle_v1.hpp | 1292 ++++++++ ...ultiple_d_softmax_gemm_xdl_cshuffle_v1.hpp | 1322 ++++++++ ...atched_gemm_softmax_gemm_wmma_cshuffle.hpp | 1604 ++++++++++ ...ched_gemm_softmax_gemm_xdl_cshuffle_v1.hpp | 1139 +++++++ ...e_batchnorm_backward_blockwise_welford.hpp | 554 ++++ ...se_batchnorm_forward_blockwise_welford.hpp | 483 +++ .../grid/gridwise_elementwise_1d_scale.hpp | 224 ++ .../gpu/grid/gridwise_elementwise_2d.hpp | 400 +++ ...elementwise_layernorm_welford_variance.hpp | 500 +++ .../gpu/grid/gridwise_fpAintB_gemm_wmma.hpp | 1053 +++++++ ...e_gemm_bias_add_reduce_xdl_cshuffle_v1.hpp | 1011 ++++++ .../gpu/grid/gridwise_gemm_dl_multiple_d.hpp | 690 ++++ .../gpu/grid/gridwise_gemm_dl_v1r3.hpp | 1128 +++++++ .../gpu/grid/gridwise_gemm_dpp.hpp | 701 +++++ ...ridwise_gemm_multiple_abd_xdl_cshuffle.hpp | 1077 +++++++ ...emm_multiple_d_multiple_r_xdl_cshuffle.hpp | 955 ++++++ ...gridwise_gemm_multiple_d_wmma_cshuffle.hpp | 1376 ++++++++ .../gridwise_gemm_multiple_d_xdl_cshuffle.hpp | 1086 +++++++ ...ultiple_d_xdl_cshuffle_lds_direct_load.hpp | 1012 ++++++ ...se_gemm_multiple_d_xdl_splitk_cshuffle.hpp | 1180 +++++++ .../grid/gridwise_gemm_pipeline_selector.hpp | 79 + .../gpu/grid/gridwise_gemm_pipeline_v1.hpp | 770 +++++ .../gpu/grid/gridwise_gemm_pipeline_v2.hpp | 132 + .../gpu/grid/gridwise_gemm_pipeline_v3.hpp | 89 + .../gridwise_gemm_pipeline_v4_direct_load.hpp | 238 ++ .../gridwise_gemm_reduce_xdl_cshuffle_v1.hpp | 891 ++++++ ...e_gemm_split_k_multiple_d_xdl_cshuffle.hpp | 1283 ++++++++ ...emm_split_k_multiple_d_xdl_cshuffle_v2.hpp | 1084 +++++++ .../gpu/grid/gridwise_gemm_waveletmodel.hpp | 157 + .../gpu/grid/gridwise_gemm_wmma.hpp | 1023 ++++++ .../grid/gridwise_gemm_wmma_cshuffle_v3.hpp | 1725 ++++++++++ .../gridwise_gemm_xdl_cshuffle_conv_v3.hpp | 1377 ++++++++ .../gridwise_gemm_xdl_cshuffle_streamk_v3.hpp | 2711 ++++++++++++++++ .../grid/gridwise_gemm_xdl_cshuffle_v1.hpp | 1078 +++++++ .../grid/gridwise_gemm_xdl_cshuffle_v2.hpp | 1161 +++++++ .../grid/gridwise_gemm_xdl_cshuffle_v3.hpp | 2153 +++++++++++++ ...wise_gemm_xdl_cshuffle_v3_b_preshuffle.hpp | 1874 +++++++++++ .../gridwise_gemm_xdl_cshuffle_v3_b_scale.hpp | 2219 +++++++++++++ ...ridwise_gemm_xdl_cshuffle_v3_multi_abd.hpp | 2500 +++++++++++++++ .../gridwise_gemm_xdl_cshuffle_v3_multi_d.hpp | 2157 +++++++++++++ ..._gemm_xdl_cshuffle_v3_multi_d_ab_scale.hpp | 1684 ++++++++++ ...m_xdl_cshuffle_v3_multi_d_b_preshuffle.hpp | 1968 ++++++++++++ .../grid/gridwise_gemm_xdl_cshuffle_v3_mx.hpp | 2293 ++++++++++++++ ...ridwise_gemm_xdl_layernorm_cshuffle_v1.hpp | 1080 +++++++ ...ridwise_gemm_xdl_waveletmodel_cshuffle.hpp | 754 +++++ .../grid/gridwise_gemm_xdlops_bwd_weight.hpp | 1007 ++++++ .../gridwise_gemm_xdlops_skip_b_lds_v1.hpp | 679 ++++ ...ise_gemm_xdlops_splitk_lds_direct_load.hpp | 961 ++++++ .../gpu/grid/gridwise_gemm_xdlops_streamk.hpp | 1185 +++++++ .../gpu/grid/gridwise_gemm_xdlops_v2r3.hpp | 1053 +++++++ .../gpu/grid/gridwise_gemm_xdlops_v2r4.hpp | 617 ++++ .../gpu/grid/gridwise_gemm_xdlops_v2r4r2.hpp | 1130 +++++++ .../gpu/grid/gridwise_gemm_xdlops_v3r1.hpp | 732 +++++ .../gpu/grid/gridwise_gemm_xdlops_v3r2.hpp | 761 +++++ .../gpu/grid/gridwise_gemm_xdlops_v3r3.hpp | 799 +++++ .../gpu/grid/gridwise_moe_gemm.hpp | 2350 ++++++++++++++ .../gpu/grid/gridwise_permute.hpp | 339 ++ .../gpu/grid/gridwise_put_element_1d.hpp | 155 + .../gpu/grid/gridwise_set_buffer_value.hpp | 57 + .../gridwise_set_multiple_buffer_value.hpp | 86 + .../gpu/grid/gridwise_softmax.hpp | 407 +++ ...se_sparse_embeddings_forward_layernorm.hpp | 319 ++ ..._embeddings_forward_layernorm_builtins.hpp | 322 ++ .../gpu/grid/gridwise_tensor_rearrange.hpp | 151 + .../gridwise_normalization_bwd_data.hpp | 554 ++++ .../gridwise_normalization_bwd_gamma_beta.hpp | 352 +++ .../gridwise_normalization_naive_variance.hpp | 612 ++++ .../gridwise_normalization_selector.hpp | 229 ++ .../gridwise_normalization_splitk_1st.hpp | 256 ++ .../gridwise_normalization_splitk_2nd.hpp | 499 +++ ...ridwise_normalization_welford_variance.hpp | 564 ++++ .../thread/reduction_functions_threadwise.hpp | 99 + .../gpu/thread/threadwise_contraction_dl.hpp | 224 ++ .../gpu/thread/threadwise_gemm_dlops_v3.hpp | 168 + .../thread/threadwise_tensor_slice_set.hpp | 60 + .../threadwise_tensor_slice_transfer.hpp | 1874 +++++++++++ .../threadwise_tensor_slice_transfer_util.hpp | 67 + .../threadwise_tensor_slice_transfer_v3r1.hpp | 972 ++++++ ...ise_tensor_slice_transfer_v3r1_dequant.hpp | 1066 +++++++ ...wise_tensor_slice_transfer_v3r1_gather.hpp | 942 ++++++ .../threadwise_tensor_slice_transfer_v3r2.hpp | 804 +++++ .../threadwise_tensor_slice_transfer_v4r1.hpp | 175 ++ .../threadwise_tensor_slice_transfer_v5r1.hpp | 614 ++++ .../threadwise_tensor_slice_transfer_v6r1.hpp | 213 ++ ...hreadwise_tensor_slice_transfer_v6r1r2.hpp | 213 ++ .../threadwise_tensor_slice_transfer_v6r2.hpp | 260 ++ .../threadwise_tensor_slice_transfer_v6r3.hpp | 310 ++ .../threadwise_tensor_slice_transfer_v7.hpp | 298 ++ .../threadwise_tensor_slice_transfer_v7r2.hpp | 630 ++++ .../threadwise_tensor_slice_transfer_v7r3.hpp | 648 ++++ ...ise_tensor_slice_transfer_v7r3_scatter.hpp | 681 ++++ .../gpu/thread/threadwise_welford.hpp | 137 + .../ck/tensor_operation/gpu/warp/dpp_gemm.hpp | 538 ++++ .../gpu/warp/smfmac_xdlops_gemm.hpp | 433 +++ .../tensor_operation/gpu/warp/wmma_gemm.hpp | 874 ++++++ .../tensor_operation/gpu/warp/xdlops_gemm.hpp | 1538 +++++++++ .../transform_contraction_to_gemm.hpp | 288 ++ ...ransform_contraction_to_gemm_arraybase.hpp | 391 +++ .../transform_conv_bwd_data_to_gemm_v1.hpp | 1385 ++++++++ .../transform_conv_bwd_weight_to_gemm.hpp | 714 +++++ .../transform_conv_bwd_weight_to_gemm_v2.hpp | 909 ++++++ .../transform_conv_fwd_to_gemm.hpp | 1587 ++++++++++ .../transform_conv_ngchw_to_nhwgc.hpp | 466 +++ include/ck/utility/amd_address_space.hpp | 45 + include/ck/utility/amd_buffer_addressing.hpp | 1065 +++++++ .../amd_buffer_addressing_builtins.hpp | 886 ++++++ include/ck/utility/amd_ck_fp8.hpp | 1704 ++++++++++ include/ck/utility/amd_gemm_dpp.hpp | 68 + include/ck/utility/amd_inline_asm.hpp | 435 +++ include/ck/utility/amd_lds.hpp | 43 + include/ck/utility/amd_smfmac.hpp | 99 + .../ck/utility/amd_wave_read_first_lane.hpp | 161 + include/ck/utility/amd_wmma.hpp | 441 +++ include/ck/utility/amd_xdlops.hpp | 912 ++++++ include/ck/utility/array.hpp | 70 + include/ck/utility/array_multi_index.hpp | 80 + include/ck/utility/blkgemmpipe_scheduler.hpp | 125 + include/ck/utility/c_style_pointer_cast.hpp | 25 + include/ck/utility/common_header.hpp | 57 + .../ck/utility/container_element_picker.hpp | 158 + include/ck/utility/container_helper.hpp | 393 +++ include/ck/utility/data_type.hpp | 486 +++ include/ck/utility/debug.hpp | 93 + include/ck/utility/dtype_fp64.hpp | 7 + include/ck/utility/dtype_vector.hpp | 2136 +++++++++++++ include/ck/utility/dynamic_buffer.hpp | 488 +++ include/ck/utility/e8m0.hpp | 80 + include/ck/utility/enable_if.hpp | 29 + include/ck/utility/env.hpp | 192 ++ include/ck/utility/f8_utils.hpp | 293 ++ include/ck/utility/flush_icache.hpp | 30 + include/ck/utility/functional.hpp | 131 + include/ck/utility/functional2.hpp | 73 + include/ck/utility/functional3.hpp | 144 + include/ck/utility/functional4.hpp | 65 + .../utility/generic_memory_space_atomic.hpp | 124 + include/ck/utility/get_id.hpp | 28 + include/ck/utility/get_shift.hpp | 20 + include/ck/utility/ignore.hpp | 22 + include/ck/utility/inner_product.hpp | 250 ++ include/ck/utility/inner_product_dpp8.hpp | 146 + include/ck/utility/integral_constant.hpp | 56 + include/ck/utility/is_detected.hpp | 45 + .../ck/utility/is_known_at_compile_time.hpp | 62 + include/ck/utility/loop_scheduler.hpp | 42 + include/ck/utility/magic_division.hpp | 237 ++ include/ck/utility/math.hpp | 238 ++ include/ck/utility/math_v2.hpp | 946 ++++++ include/ck/utility/multi_index.hpp | 12 + include/ck/utility/mxf4_utils.hpp | 108 + include/ck/utility/mxf6_utils.hpp | 325 ++ include/ck/utility/mxf8_utils.hpp | 573 ++++ include/ck/utility/mxfp_utils.hpp | 388 +++ include/ck/utility/number.hpp | 18 + include/ck/utility/numeric_limits.hpp | 555 ++++ include/ck/utility/numeric_utils.hpp | 199 ++ include/ck/utility/random_gen.hpp | 60 + include/ck/utility/reduction_common.hpp | 28 + include/ck/utility/reduction_enums.hpp | 41 + .../reduction_functions_accumulate.hpp | 115 + include/ck/utility/reduction_operator.hpp | 523 ++++ include/ck/utility/scaled_type_convert.hpp | 699 +++++ include/ck/utility/sequence.hpp | 943 ++++++ include/ck/utility/sequence_helper.hpp | 37 + include/ck/utility/span.hpp | 67 + include/ck/utility/static_buffer.hpp | 197 ++ .../ck/utility/statically_indexed_array.hpp | 105 + .../statically_indexed_array_multi_index.hpp | 158 + include/ck/utility/synchronization.hpp | 61 + include/ck/utility/thread_group.hpp | 22 + include/ck/utility/transpose_vectors.hpp | 244 ++ include/ck/utility/tuple.hpp | 223 ++ include/ck/utility/tuple_helper.hpp | 210 ++ include/ck/utility/type.hpp | 313 ++ include/ck/utility/type_convert.hpp | 2235 +++++++++++++ include/ck/utility/workgroup_barrier.hpp | 73 + .../ck/utility/workgroup_synchronization.hpp | 74 + include/ck/version.h.in | 40 + include/ck/wrapper/layout.hpp | 484 +++ include/ck/wrapper/operations/copy.hpp | 231 ++ include/ck/wrapper/operations/gemm.hpp | 395 +++ include/ck/wrapper/tensor.hpp | 443 +++ .../traits/blockwise_gemm_xdl_traits.hpp | 81 + include/ck/wrapper/utils/kernel_utils.hpp | 17 + include/ck/wrapper/utils/layout_utils.hpp | 523 ++++ include/ck/wrapper/utils/tensor_partition.hpp | 470 +++ include/ck/wrapper/utils/tensor_utils.hpp | 277 ++ include/ck_tile/README.md | 52 + include/ck_tile/core.hpp | 75 + include/ck_tile/core/README.md | 18 + .../core/algorithm/cluster_descriptor.hpp | 38 + .../core/algorithm/coordinate_transform.hpp | 1752 +++++++++++ .../core/algorithm/indexing_adaptor.hpp | 60 + .../core/algorithm/space_filling_curve.hpp | 168 + .../algorithm/static_encoding_pattern.hpp | 213 ++ .../core/arch/amd_buffer_addressing.hpp | 2691 ++++++++++++++++ .../arch/amd_buffer_addressing_builtins.hpp | 2559 +++++++++++++++ include/ck_tile/core/arch/arch.hpp | 157 + .../core/arch/generic_memory_space_atomic.hpp | 458 +++ include/ck_tile/core/arch/utility.hpp | 129 + include/ck_tile/core/config.hpp | 261 ++ include/ck_tile/core/container/array.hpp | 262 ++ .../core/container/container_helper.hpp | 499 +++ include/ck_tile/core/container/map.hpp | 164 + .../core/container/meta_data_buffer.hpp | 99 + .../ck_tile/core/container/multi_index.hpp | 100 + include/ck_tile/core/container/sequence.hpp | 1236 ++++++++ include/ck_tile/core/container/span.hpp | 78 + .../container/statically_indexed_array.hpp | 41 + .../ck_tile/core/container/thread_buffer.hpp | 172 + include/ck_tile/core/container/tuple.hpp | 830 +++++ include/ck_tile/core/numeric/bfloat16.hpp | 423 +++ include/ck_tile/core/numeric/float8.hpp | 1123 +++++++ include/ck_tile/core/numeric/half.hpp | 404 +++ include/ck_tile/core/numeric/int8.hpp | 103 + include/ck_tile/core/numeric/integer.hpp | 13 + .../core/numeric/integral_constant.hpp | 82 + include/ck_tile/core/numeric/math.hpp | 1443 +++++++++ include/ck_tile/core/numeric/null_type.hpp | 13 + include/ck_tile/core/numeric/numeric.hpp | 196 ++ include/ck_tile/core/numeric/pk_int4.hpp | 150 + include/ck_tile/core/numeric/type_convert.hpp | 70 + include/ck_tile/core/numeric/vector_type.hpp | 240 ++ include/ck_tile/core/tensor/buffer_view.hpp | 1273 ++++++++ include/ck_tile/core/tensor/load_tile.hpp | 203 ++ include/ck_tile/core/tensor/null_tensor.hpp | 12 + .../ck_tile/core/tensor/null_tile_window.hpp | 97 + include/ck_tile/core/tensor/shuffle_tile.hpp | 177 ++ include/ck_tile/core/tensor/slice_tile.hpp | 92 + .../core/tensor/static_distributed_tensor.hpp | 235 ++ include/ck_tile/core/tensor/store_tile.hpp | 120 + include/ck_tile/core/tensor/sweep_tile.hpp | 308 ++ .../ck_tile/core/tensor/tensor_adaptor.hpp | 945 ++++++ .../core/tensor/tensor_adaptor_coordinate.hpp | 257 ++ .../ck_tile/core/tensor/tensor_coordinate.hpp | 92 + .../ck_tile/core/tensor/tensor_descriptor.hpp | 467 +++ include/ck_tile/core/tensor/tensor_view.hpp | 533 ++++ .../ck_tile/core/tensor/tile_distribution.hpp | 673 ++++ .../tensor/tile_distribution_encoding.hpp | 760 +++++ .../ck_tile/core/tensor/tile_elementwise.hpp | 342 ++ include/ck_tile/core/tensor/tile_window.hpp | 1167 +++++++ .../core/tensor/tile_window_linear.hpp | 1218 ++++++++ .../ck_tile/core/tensor/tile_window_utils.hpp | 54 + .../ck_tile/core/tensor/transpose_tile.hpp | 232 ++ include/ck_tile/core/tensor/update_tile.hpp | 105 + include/ck_tile/core/utility/bit_cast.hpp | 19 + include/ck_tile/core/utility/env.hpp | 208 ++ include/ck_tile/core/utility/functional.hpp | 232 ++ .../core/utility/functional_with_tuple.hpp | 173 + include/ck_tile/core/utility/ignore.hpp | 22 + include/ck_tile/core/utility/literals.hpp | 22 + include/ck_tile/core/utility/magic_div.hpp | 257 ++ include/ck_tile/core/utility/philox_rand.hpp | 122 + include/ck_tile/core/utility/random.hpp | 58 + .../ck_tile/core/utility/reduce_operator.hpp | 95 + .../ck_tile/core/utility/static_counter.hpp | 116 + include/ck_tile/core/utility/to_sequence.hpp | 73 + .../core/utility/transpose_vectors.hpp | 155 + include/ck_tile/core/utility/type_traits.hpp | 130 + .../core/utility/unary_element_function.hpp | 69 + include/ck_tile/host.hpp | 38 + include/ck_tile/host/arg_parser.hpp | 236 ++ include/ck_tile/host/check_err.hpp | 517 +++ include/ck_tile/host/concat.hpp | 122 + ...volution_host_tensor_descriptor_helper.hpp | 236 ++ .../ck_tile/host/convolution_parameter.hpp | 277 ++ include/ck_tile/host/device_memory.hpp | 170 + include/ck_tile/host/fill.hpp | 451 +++ include/ck_tile/host/hip_check_error.hpp | 36 + include/ck_tile/host/host_tensor.hpp | 722 +++++ include/ck_tile/host/joinable_thread.hpp | 27 + include/ck_tile/host/kernel_launch.hpp | 117 + include/ck_tile/host/ranges.hpp | 69 + .../reference/reference_batched_dropout.hpp | 33 + .../reference_batched_elementwise.hpp | 64 + .../host/reference/reference_batched_gemm.hpp | 50 + .../reference/reference_batched_masking.hpp | 32 + ...ence_batched_rotary_position_embedding.hpp | 73 + .../reference/reference_batched_softmax.hpp | 71 + .../reference/reference_batched_transpose.hpp | 59 + .../host/reference/reference_elementwise.hpp | 47 + .../host/reference/reference_fused_moe.hpp | 205 ++ .../ck_tile/host/reference/reference_gemm.hpp | 211 ++ .../host/reference/reference_im2col.hpp | 133 + .../reference/reference_layernorm2d_fwd.hpp | 96 + .../host/reference/reference_moe_sorting.hpp | 119 + .../host/reference/reference_permute.hpp | 76 + .../host/reference/reference_reduce.hpp | 33 + .../reference/reference_rmsnorm2d_fwd.hpp | 87 + .../reference_rowwise_quantization2d.hpp | 33 + .../host/reference/reference_softmax.hpp | 89 + .../ck_tile/host/reference/reference_topk.hpp | 124 + include/ck_tile/host/stream_config.hpp | 34 + include/ck_tile/host/timer.hpp | 79 + include/ck_tile/ops/add_rmsnorm2d_rdquant.hpp | 13 + .../add_rmsnorm2d_rdquant_fwd_kernel.hpp | 240 ++ ...2d_rdquant_fwd_pipeline_default_policy.hpp | 95 + ...msnorm2d_rdquant_fwd_pipeline_one_pass.hpp | 165 + ...rmsnorm2d_rdquant_fwd_pipeline_problem.hpp | 41 + ...norm2d_rdquant_fwd_pipeline_three_pass.hpp | 280 ++ include/ck_tile/ops/batched_transpose.hpp | 12 + .../kernel/batched_transpose_kernel.hpp | 129 + .../pipeline/batched_transpose_pipeline.hpp | 52 + .../pipeline/batched_transpose_policy.hpp | 44 + .../pipeline/batched_transpose_problem.hpp | 48 + include/ck_tile/ops/common.hpp | 8 + include/ck_tile/ops/common/README.md | 4 + .../ops/common/generic_2d_block_shape.hpp | 77 + include/ck_tile/ops/common/tensor_layout.hpp | 412 +++ include/ck_tile/ops/common/utils.hpp | 35 + include/ck_tile/ops/elementwise.hpp | 9 + .../unary_element_wise_operation.hpp | 1483 +++++++++ include/ck_tile/ops/epilogue.hpp | 12 + .../ops/epilogue/cshuffle_epilogue.hpp | 198 ++ .../default_2d_and_dynamic_quant_epilogue.hpp | 91 + .../ops/epilogue/default_2d_epilogue.hpp | 176 ++ .../ops/epilogue/dynamic_quant_epilogue.hpp | 212 ++ include/ck_tile/ops/flatmm.hpp | 18 + .../block_flatmm_asmem_bsmem_creg_v1.hpp | 187 ++ ...atmm_asmem_bsmem_creg_v1_custom_policy.hpp | 38 + .../flatmm_32x512x128_1x4x1_16x16x32.hpp | 663 ++++ .../flatmm_sn_32x128x512_1x4x1_16x16x32.hpp | 561 ++++ ...latmm_sn_32x128x512_1x4x1_16x16x32_itl.hpp | 510 +++ .../ops/flatmm/block/flatmm_uk_config.hpp | 10 + include/ck_tile/ops/flatmm/block/uk/README.md | 1 + ...m_sn_uk_gfx9_32x128x512_1x4x1_16x16x16.inc | 827 +++++ ..._uk_gfx9_32x128x512_1x4x1_16x16x16_itl.inc | 725 +++++ ...atmm_uk_gfx9_32x512x128_1x1x1_16x16x16.inc | 774 +++++ .../ops/flatmm/kernel/flatmm_kernel.hpp | 496 +++ .../flatmm_pipeline_agmem_bgmem_creg_v1.hpp | 210 ++ ...mm_pipeline_agmem_bgmem_creg_v1_policy.hpp | 265 ++ .../ops/flatmm/pipeline/tile_flatmm_shape.hpp | 43 + include/ck_tile/ops/fmha.hpp | 49 + .../fmha/block/block_attention_bias_enum.hpp | 37 + .../ck_tile/ops/fmha/block/block_dropout.hpp | 725 +++++ .../ck_tile/ops/fmha/block/block_masking.hpp | 443 +++ .../fmha/block/block_position_encoding.hpp | 205 ++ .../ops/fmha/block/block_rotary_embedding.hpp | 108 + .../ops/fmha/block/page_block_navigator.hpp | 287 ++ .../ops/fmha/kernel/fmha_bwd_kernel.hpp | 2151 +++++++++++++ .../fmha/kernel/fmha_fwd_appendkv_kernel.hpp | 691 ++++ .../fmha_fwd_appendkv_tile_partitioner.hpp | 42 + .../ops/fmha/kernel/fmha_fwd_kernel.hpp | 1374 ++++++++ .../fmha_fwd_splitkv_combine_kernel.hpp | 490 +++ .../fmha/kernel/fmha_fwd_splitkv_kernel.hpp | 1064 +++++++ .../pipeline/block_fmha_bwd_convert_dq.hpp | 141 + .../fmha/pipeline/block_fmha_bwd_dot_do_o.hpp | 95 + ...k_fmha_bwd_dq_dk_dv_pipeline_kr_ktr_vr.hpp | 779 +++++ ...a_bwd_dq_dk_dv_pipeline_kr_ktr_vr_iglp.hpp | 1040 ++++++ ...block_fmha_bwd_pipeline_default_policy.hpp | 1865 +++++++++++ .../pipeline/block_fmha_bwd_pipeline_enum.hpp | 15 + .../block_fmha_bwd_pipeline_problem.hpp | 125 + .../block_fmha_fwd_appendkv_pipeline.hpp | 277 ++ ...a_fwd_appendkv_pipeline_default_policy.hpp | 288 ++ ...lock_fmha_fwd_splitkv_combine_pipeline.hpp | 380 +++ ...plitkv_combine_pipeline_default_policy.hpp | 286 ++ ...litkv_pipeline_nwarp_sshuffle_qr_ks_vs.hpp | 802 +++++ ...nwarp_sshuffle_qr_ks_vs_default_policy.hpp | 224 ++ ...ock_fmha_fwd_splitkv_pipeline_qr_ks_vs.hpp | 707 +++++ ...litkv_pipeline_qr_ks_vs_default_policy.hpp | 27 + .../pipeline/block_fmha_pipeline_enum.hpp | 35 + .../pipeline/block_fmha_pipeline_problem.hpp | 204 ++ .../pipeline/block_fmha_pipeline_qr_ks_vs.hpp | 653 ++++ .../block_fmha_pipeline_qr_ks_vs_async.hpp | 774 +++++ ...pipeline_qr_ks_vs_async_default_policy.hpp | 18 + ..._fmha_pipeline_qr_ks_vs_default_policy.hpp | 17 + .../block_fmha_pipeline_qr_ks_vs_fp8.hpp | 515 +++ ...mha_pipeline_qr_ks_vs_whole_k_prefetch.hpp | 929 ++++++ ..._ks_vs_whole_k_prefetch_default_policy.hpp | 379 +++ .../pipeline/block_fmha_pipeline_qs_ks_vs.hpp | 650 ++++ ..._fmha_pipeline_qs_ks_vs_default_policy.hpp | 40 + ...k_fmha_pipeline_qx_ks_vs_custom_policy.hpp | 947 ++++++ .../ops/fmha/pipeline/tile_fmha_shape.hpp | 116 + .../ops/fmha/pipeline/tile_fmha_traits.hpp | 117 + include/ck_tile/ops/fused_moe.hpp | 20 + .../fused_moe/kernel/fused_moegemm_kernel.hpp | 424 +++ .../fused_moe/kernel/fused_moegemm_shape.hpp | 125 + .../kernel/fused_moegemm_tile_partitioner.hpp | 33 + .../fused_moe/kernel/moe_sorting_kernel.hpp | 1871 +++++++++++ .../fused_moe/kernel/moe_sorting_problem.hpp | 69 + .../fused_moegemm_pipeline_flatmm_ex.hpp | 651 ++++ .../fused_moegemm_pipeline_flatmm_policy.hpp | 856 +++++ .../fused_moegemm_pipeline_flatmm_uk.hpp | 417 +++ .../fused_moegemm_pipeline_problem.hpp | 46 + .../pipeline/fused_moegemm_traits.hpp | 50 + .../pipeline/moe_sorting_pipeline.hpp | 39 + .../fused_moe/pipeline/moe_sorting_policy.hpp | 15 + include/ck_tile/ops/gemm.hpp | 54 + .../block/block_gemm_areg_bgmem_creg_v1.hpp | 136 + ...gemm_areg_bgmem_creg_v1_default_policy.hpp | 110 + .../block/block_gemm_areg_breg_creg_v1.hpp | 230 ++ ...k_gemm_areg_breg_creg_v1_custom_policy.hpp | 36 + ..._gemm_areg_breg_creg_v1_default_policy.hpp | 33 + ...block_gemm_areg_bsmem_creg_one_warp_v1.hpp | 251 ++ .../block/block_gemm_areg_bsmem_creg_v1.hpp | 226 ++ ..._gemm_areg_bsmem_creg_v1_custom_policy.hpp | 36 + ...gemm_areg_bsmem_creg_v1_default_policy.hpp | 56 + .../block/block_gemm_areg_bsmem_creg_v2.hpp | 241 ++ ..._gemm_areg_bsmem_creg_v2_custom_policy.hpp | 36 + ...gemm_areg_bsmem_creg_v2_default_policy.hpp | 46 + .../block/block_gemm_asmem_breg_creg_v1.hpp | 225 ++ ..._gemm_asmem_breg_creg_v1_custom_policy.hpp | 36 + ...gemm_asmem_breg_creg_v1_default_policy.hpp | 56 + .../block/block_gemm_asmem_bsmem_creg_v1.hpp | 213 ++ ...gemm_asmem_bsmem_creg_v1_custom_policy.hpp | 38 + ...emm_asmem_bsmem_creg_v1_default_policy.hpp | 59 + .../ops/gemm/block/block_gemm_problem.hpp | 26 + .../block/block_universal_gemm_as_bs_cr.hpp | 576 ++++ .../ops/gemm/kernel/batched_gemm_kernel.hpp | 157 + .../ck_tile/ops/gemm/kernel/gemm_kernel.hpp | 769 +++++ .../ops/gemm/kernel/gemm_tile_partitioner.hpp | 352 +++ .../ops/gemm/kernel/grouped_gemm_kernel.hpp | 180 ++ .../pipeline/gemm_pipeline_ag_bg_cr_base.hpp | 137 + .../gemm_pipeline_ag_bg_cr_comp_v3.hpp | 573 ++++ .../gemm_pipeline_ag_bg_cr_comp_v4.hpp | 570 ++++ ...peline_ag_bg_cr_comp_v4_default_policy.hpp | 42 + .../pipeline/gemm_pipeline_ag_bg_cr_mem.hpp | 768 +++++ .../gemm_pipeline_ag_bg_cr_scheduler.hpp | 74 + .../gemm_pipeline_agmem_bgmem_creg_v1.hpp | 291 ++ ...ine_agmem_bgmem_creg_v1_default_policy.hpp | 413 +++ .../gemm_pipeline_agmem_bgmem_creg_v2.hpp | 252 ++ ...ine_agmem_bgmem_creg_v2_default_policy.hpp | 17 + .../gemm/pipeline/gemm_pipeline_problem.hpp | 202 ++ ...emm_universal_pipeline_ag_bg_cr_policy.hpp | 595 ++++ .../ops/gemm/pipeline/tile_gemm_shape.hpp | 42 + .../ops/gemm/pipeline/tile_gemm_traits.hpp | 59 + include/ck_tile/ops/gemm/warp/warp_gemm.hpp | 254 ++ .../gemm/warp/warp_gemm_attribute_mfma.hpp | 932 ++++++ .../warp/warp_gemm_attribute_mfma_impl.hpp | 1516 +++++++++ .../gemm/warp/warp_gemm_attribute_smfmac.hpp | 85 + .../warp/warp_gemm_attribute_smfmac_impl.hpp | 114 + .../ops/gemm/warp/warp_gemm_dispatcher.hpp | 99 + .../ck_tile/ops/gemm/warp/warp_gemm_impl.hpp | 120 + .../ops/gemm/warp/warp_gemm_smfmac_impl.hpp | 110 + include/ck_tile/ops/image_to_column.hpp | 11 + .../kernel/image_to_column_kernel.hpp | 224 ++ .../block_image_to_column_problem.hpp | 27 + .../pipeline/tile_image_to_column_shape.hpp | 32 + include/ck_tile/ops/layernorm2d.hpp | 14 + .../kernel/layernorm2d_fwd_kernel.hpp | 417 +++ ...ayernorm2d_fwd_pipeline_default_policy.hpp | 107 + .../layernorm2d_fwd_pipeline_one_pass.hpp | 199 ++ .../layernorm2d_fwd_pipeline_problem.hpp | 42 + .../layernorm2d_fwd_pipeline_two_pass.hpp | 266 ++ .../pipeline/layernorm2d_fwd_traits.hpp | 73 + include/ck_tile/ops/norm_reduce.hpp | 11 + .../norm_reduce/block/block_norm_reduce.hpp | 411 +++ .../block/block_norm_reduce_problem.hpp | 24 + .../ops/norm_reduce/thread/thread_welford.hpp | 57 + include/ck_tile/ops/permute.hpp | 10 + .../permute/kernel/generic_permute_kernel.hpp | 169 + .../pipeline/generic_petmute_problem.hpp | 28 + include/ck_tile/ops/reduce.hpp | 12 + .../ck_tile/ops/reduce/block/block_reduce.hpp | 385 +++ .../ops/reduce/block/block_reduce2d.hpp | 275 ++ .../block/block_reduce2d_default_policy.hpp | 79 + .../reduce/block/block_reduce2d_problem.hpp | 18 + include/ck_tile/ops/rmsnorm2d.hpp | 14 + .../rmsnorm2d/kernel/rmsnorm2d_fwd_kernel.hpp | 373 +++ .../rmsnorm2d_fwd_pipeline_default_policy.hpp | 95 + .../rmsnorm2d_fwd_pipeline_one_pass.hpp | 170 + .../rmsnorm2d_fwd_pipeline_problem.hpp | 38 + .../rmsnorm2d_fwd_pipeline_two_pass.hpp | 205 ++ .../pipeline/rmsnorm2d_fwd_traits.hpp | 56 + include/ck_tile/ops/smoothquant.hpp | 14 + .../kernel/moe_smoothquant_kernel.hpp | 207 ++ .../smoothquant/kernel/smoothquant_kernel.hpp | 184 ++ .../smoothquant_pipeline_default_policy.hpp | 95 + .../smoothquant_pipeline_one_pass.hpp | 121 + .../pipeline/smoothquant_pipeline_problem.hpp | 35 + .../smoothquant_pipeline_two_pass.hpp | 149 + include/ck_tile/ops/softmax.hpp | 10 + .../ops/softmax/block/block_softmax_2d.hpp | 81 + .../block/block_softmax_2d_problem.hpp | 16 + include/ck_tile/ops/topk.hpp | 10 + .../ops/topk/block/block_topk_stream_2d.hpp | 113 + .../block/block_topk_stream_2d_problem.hpp | 22 + include/ck_tile/ops/topk_softmax.hpp | 12 + .../kernel/topk_softmax_kernel.hpp | 166 + .../topk_softmax_warp_per_row_pipeline.hpp | 123 + .../topk_softmax_warp_per_row_policy.hpp | 63 + .../topk_softmax_warp_per_row_problem.hpp | 46 + include/ck_tile/ref/README.md | 5 + include/ck_tile/ref/naive_attention.hpp | 826 +++++ include/ck_tile/remod.py | 93 + library/CMakeLists.txt | 2 + .../cpu/reference_avgpool_bwd.hpp | 354 +++ .../cpu/reference_batched_gemm.hpp | 384 +++ .../cpu/reference_batchnorm_backward.hpp | 412 +++ .../cpu/reference_batchnorm_forward.hpp | 368 +++ .../cpu/reference_batchnorm_infer.hpp | 300 ++ .../cpu/reference_cgemm.hpp | 184 ++ .../cpu/reference_column_to_image.hpp | 368 +++ .../cpu/reference_contraction.hpp | 236 ++ .../cpu/reference_conv_bwd_data.hpp | 498 +++ .../cpu/reference_conv_bwd_weight.hpp | 453 +++ .../cpu/reference_conv_fwd.hpp | 467 +++ .../reference_conv_fwd_bias_activation.hpp | 192 ++ ...reference_conv_fwd_bias_activation_add.hpp | 200 ++ .../cpu/reference_elementwise.hpp | 110 + .../cpu/reference_fpAintB_gemm.hpp | 147 + .../cpu/reference_gemm.hpp | 168 + .../cpu/reference_gemm_layernorm.hpp | 236 ++ .../cpu/reference_gemm_multiple_d.hpp | 157 + .../cpu/reference_groupnorm.hpp | 212 ++ .../cpu/reference_groupnorm_bwd.hpp | 232 ++ .../cpu/reference_image_to_column.hpp | 332 ++ .../cpu/reference_layernorm.hpp | 260 ++ .../cpu/reference_layernorm_bwd.hpp | 201 ++ .../cpu/reference_maxpool_bwd.hpp | 112 + .../cpu/reference_moe_gemm.hpp | 295 ++ .../cpu/reference_moe_gemm2.hpp | 257 ++ .../cpu/reference_mx_gemm.hpp | 178 ++ .../cpu/reference_pool_fwd.hpp | 360 +++ .../cpu/reference_reduce.hpp | 435 +++ .../cpu/reference_softmax.hpp | 178 ++ ...ce_sparse_embedding3_forward_layernorm.hpp | 205 ++ .../gpu/naive_conv_fwd.hpp | 125 + .../gpu/reference_gemm.hpp | 245 ++ .../add_device_operation_instance.hpp | 35 + .../device_operation_instance_factory.hpp | 159 + .../gpu/avg_pool2d_bwd.hpp | 80 + .../gpu/avg_pool3d_bwd.hpp | 59 + .../gpu/batched_gemm.hpp | 268 ++ .../gpu/batched_gemm_add_relu_gemm_add.hpp | 140 + .../gpu/batched_gemm_b_scale.hpp | 92 + .../gpu/batched_gemm_bias_permute.hpp | 94 + ...batched_gemm_bias_softmax_gemm_permute.hpp | 194 ++ .../gpu/batched_gemm_gemm.hpp | 113 + .../gpu/batched_gemm_multi_d.hpp | 342 ++ .../gpu/batched_gemm_softmax_gemm.hpp | 122 + .../gpu/batched_gemm_softmax_gemm_permute.hpp | 190 ++ .../gpu/batchnorm_backward.hpp | 130 + .../gpu/batchnorm_forward.hpp | 123 + .../gpu/batchnorm_infer.hpp | 123 + .../device_contraction_instance.hpp | 316 ++ .../gpu/contraction_bilinear.hpp | 1010 ++++++ .../gpu/contraction_scale.hpp | 1009 ++++++ .../gpu/conv_tensor_rearrange.hpp | 507 +++ .../device_column_to_image_instance.hpp | 106 + .../device_image_to_column_instance.hpp | 105 + .../gpu/convolution_backward_data.hpp | 357 +++ .../gpu/convolution_forward.hpp | 139 + .../gpu/device_elementwise_instance.hpp | 63 + .../device_gemm_mean_squaremean_instance.hpp | 84 + ...uffle_fp8_fp8_fp8_mk_kn_mn_v1_instance.hpp | 59 + ...fp8_fp8_mk_kn_mn_v1_interwave_instance.hpp | 59 + ...uffle_fp8_fp8_fp8_mk_kn_mn_v2_instance.hpp | 59 + .../gpu/elementwise_normalization.hpp | 80 + .../tensor_operation_instance/gpu/gemm.hpp | 434 +++ .../gpu/gemm_ab_scale.hpp | 166 + .../gpu/gemm_add.hpp | 114 + .../gpu/gemm_add_add_fastgelu.hpp | 152 + .../gpu/gemm_add_fastgelu.hpp | 197 ++ .../gpu/gemm_add_multiply.hpp | 155 + .../gpu/gemm_add_relu.hpp | 116 + .../gpu/gemm_add_relu_add_layernorm.hpp | 173 + .../gpu/gemm_add_silu.hpp | 116 + .../gpu/gemm_b_scale.hpp | 91 + .../gpu/gemm_bilinear.hpp | 225 ++ .../tensor_operation_instance/gpu/gemm_dl.inc | 137 + .../gpu/gemm_dpp.inc | 65 + .../gpu/gemm_fastgelu.hpp | 139 + .../gpu/gemm_multi_abd.hpp | 750 +++++ .../gpu/gemm_multiply_add.hpp | 165 + .../gpu/gemm_multiply_multiply.hpp | 701 +++++ .../gpu/gemm_multiply_multiply_wp.hpp | 664 ++++ .../tensor_operation_instance/gpu/gemm_mx.hpp | 111 + .../gpu/gemm_splitk.hpp | 406 +++ .../gpu/gemm_streamk.hpp | 131 + .../gpu/gemm_universal.hpp | 434 +++ .../gpu/gemm_universal_batched.hpp | 185 ++ .../gpu/gemm_universal_reduce.hpp | 457 +++ .../gpu/gemm_universal_streamk.hpp | 1277 ++++++++ .../gpu/gemm_universal_wmma.inc | 68 + .../gpu/gemm_universal_xdl.inc | 521 +++ .../gpu/gemm_wmma.inc | 74 + .../gpu/gemm_xdl.inc | 238 ++ ...d_conv_bwd_data_transpose_xdl_instance.hpp | 144 + ...rouped_conv_bwd_data_wmma_f16_instance.hpp | 118 + ...grouped_conv_bwd_data_wmma_i8_instance.hpp | 118 + ...ed_conv_bwd_data_xdl_bilinear_instance.hpp | 149 + ...ice_grouped_conv_bwd_data_xdl_instance.hpp | 306 ++ ...ouped_conv_bwd_data_xdl_scale_instance.hpp | 149 + ...ce_grouped_conv_bwd_weight_dl_instance.hpp | 84 + ...conv_bwd_weight_two_stage_xdl_instance.hpp | 285 ++ ...rouped_conv_bwd_weight_v3_xdl_instance.hpp | 112 + ..._grouped_conv_bwd_weight_wmma_instance.hpp | 119 + ..._conv_bwd_weight_xdl_bilinear_instance.hpp | 186 ++ ...e_grouped_conv_bwd_weight_xdl_instance.hpp | 277 ++ ...ped_conv_bwd_weight_xdl_scale_instance.hpp | 185 ++ .../device_grouped_conv_fwd_dl_instance.hpp | 89 + .../device_grouped_conv_fwd_wmma_instance.hpp | 136 + ...grouped_conv_fwd_xdl_bilinear_instance.hpp | 179 ++ ...v_fwd_xdl_binary_outelementop_instance.hpp | 78 + ...ice_grouped_conv_fwd_xdl_comp_instance.hpp | 262 ++ ...ouped_conv_fwd_xdl_dynamic_op_instance.hpp | 183 ++ .../device_grouped_conv_fwd_xdl_instance.hpp | 436 +++ ...ped_conv_fwd_xdl_large_tensor_instance.hpp | 114 + ...vice_grouped_conv_fwd_xdl_mem_instance.hpp | 197 ++ ...ed_conv_fwd_xdl_merged_groups_instance.hpp | 154 + ...ped_conv_fwd_xdl_outelementop_instance.hpp | 227 ++ ...ce_grouped_conv_fwd_xdl_scale_instance.hpp | 179 ++ ...uped_conv_fwd_xdl_scaleadd_ab_instance.hpp | 124 + ...wd_xdl_scaleadd_scaleadd_relu_instance.hpp | 131 + .../gpu/grouped_convolution_backward_data.hpp | 483 +++ ...ped_convolution_backward_data_bilinear.hpp | 150 + ...rouped_convolution_backward_data_scale.hpp | 150 + ...grouped_convolution_backward_data_wmma.inc | 243 ++ .../grouped_convolution_backward_data_xdl.inc | 650 ++++ .../grouped_convolution_backward_weight.hpp | 795 +++++ ...d_convolution_backward_weight_bilinear.hpp | 186 ++ ...grouped_convolution_backward_weight_dl.inc | 243 ++ ...uped_convolution_backward_weight_scale.hpp | 186 ++ ...ouped_convolution_backward_weight_wmma.inc | 114 + ...rouped_convolution_backward_weight_xdl.inc | 1115 +++++++ .../gpu/grouped_convolution_forward.hpp | 705 +++++ .../grouped_convolution_forward_bilinear.hpp | 177 ++ .../grouped_convolution_forward_comp_xdl.inc | 394 +++ ...ouped_convolution_forward_convinvscale.hpp | 108 + .../grouped_convolution_forward_convscale.hpp | 263 ++ ...uped_convolution_forward_convscale_add.hpp | 105 + ...ped_convolution_forward_convscale_relu.hpp | 187 ++ .../gpu/grouped_convolution_forward_dl.inc | 73 + ...grouped_convolution_forward_dynamic_op.hpp | 278 ++ ...uped_convolution_forward_mem_inter_xdl.inc | 226 ++ ...uped_convolution_forward_mem_intra_xdl.inc | 226 ++ .../gpu/grouped_convolution_forward_scale.hpp | 175 ++ ...rouped_convolution_forward_scaleadd_ab.hpp | 180 ++ ...olution_forward_scaleadd_scaleadd_relu.hpp | 178 ++ .../gpu/grouped_convolution_forward_wmma.inc | 369 +++ .../gpu/grouped_convolution_forward_xdl.inc | 572 ++++ ...d_convolution_forward_xdl_large_tensor.inc | 128 + ..._convolution_forward_xdl_merged_groups.inc | 233 ++ .../gpu/grouped_gemm.hpp | 537 ++++ ...evice_grouped_gemm_xdl_splitk_instance.hpp | 138 + .../gpu/grouped_gemm_bias.hpp | 146 + .../gpu/grouped_gemm_fastgelu.hpp | 136 + .../gpu/grouped_gemm_fixed_nk.hpp | 284 ++ .../gpu/grouped_gemm_multi_abd_fixed_nk.hpp | 470 +++ .../gpu/grouped_gemm_tile_loop.hpp | 108 + .../gpu/grouped_gemm_tile_loop_multiply.hpp | 448 +++ .../gpu/groupnorm_bwd_data.hpp | 64 + .../gpu/groupnorm_bwd_gamma_beta.hpp | 64 + .../gpu/layernorm_bwd_data.hpp | 84 + .../gpu/layernorm_bwd_gamma_beta.hpp | 83 + .../gpu/max_pool_bwd.hpp | 78 + .../gpu/normalization_fwd.hpp | 121 + .../gpu/normalization_fwd_swish.hpp | 97 + .../gpu/permute_scale.hpp | 209 ++ .../device_permute_scale_instances.hpp | 237 ++ .../gpu/pool2d_fwd.hpp | 211 ++ .../gpu/pool3d_fwd.hpp | 198 ++ .../gpu/quantization/gemm_quantization.hpp | 233 ++ ...n_bias_forward_perchannel_quantization.hpp | 254 ++ ...ion_bias_forward_perlayer_quantization.hpp | 254 ++ ...lution_forward_perchannel_quantization.hpp | 157 + ...volution_forward_perlayer_quantization.hpp | 154 + .../gpu/reduce/device_reduce_instance.hpp | 78 + .../device_reduce_instance_blockwise.hpp | 131 + ...uce_instance_blockwise_b16_f32_b16_add.hpp | 27 + ...ce_instance_blockwise_b16_f32_b16_amax.hpp | 31 + ...uce_instance_blockwise_b16_f32_b16_avg.hpp | 27 + ...uce_instance_blockwise_b16_f32_b16_max.hpp | 31 + ...uce_instance_blockwise_b16_f32_b16_min.hpp | 31 + ...e_instance_blockwise_b16_f32_b16_norm2.hpp | 27 + ...ce_instance_blockwise_f16_f16_f16_amax.hpp | 31 + ...uce_instance_blockwise_f16_f16_f16_max.hpp | 31 + ...uce_instance_blockwise_f16_f16_f16_min.hpp | 31 + ...uce_instance_blockwise_f16_f32_f16_add.hpp | 27 + ...uce_instance_blockwise_f16_f32_f16_avg.hpp | 27 + ...e_instance_blockwise_f16_f32_f16_norm2.hpp | 27 + ...uce_instance_blockwise_f32_f32_f32_add.hpp | 27 + ...ce_instance_blockwise_f32_f32_f32_amax.hpp | 40 + ...uce_instance_blockwise_f32_f32_f32_avg.hpp | 27 + ...uce_instance_blockwise_f32_f32_f32_max.hpp | 31 + ...uce_instance_blockwise_f32_f32_f32_min.hpp | 31 + ...e_instance_blockwise_f32_f32_f32_norm2.hpp | 27 + ...uce_instance_blockwise_f32_f64_f32_add.hpp | 27 + ...uce_instance_blockwise_f32_f64_f32_avg.hpp | 27 + ...e_instance_blockwise_f32_f64_f32_norm2.hpp | 27 + ...uce_instance_blockwise_f64_f64_f64_add.hpp | 27 + ...ce_instance_blockwise_f64_f64_f64_amax.hpp | 31 + ...uce_instance_blockwise_f64_f64_f64_avg.hpp | 27 + ...uce_instance_blockwise_f64_f64_f64_max.hpp | 31 + ...uce_instance_blockwise_f64_f64_f64_min.hpp | 31 + ...e_instance_blockwise_f64_f64_f64_norm2.hpp | 27 + ...educe_instance_blockwise_i8_i32_i8_add.hpp | 27 + ...educe_instance_blockwise_i8_i32_i8_avg.hpp | 27 + ...educe_instance_blockwise_i8_i8_i8_amax.hpp | 31 + ...reduce_instance_blockwise_i8_i8_i8_max.hpp | 31 + ...reduce_instance_blockwise_i8_i8_i8_min.hpp | 31 + .../device_reduce_instance_impl_common.hpp | 53 + ..._reduce_instance_multiblock_atomic_add.hpp | 131 + ..._multiblock_atomic_add_b16_f32_f32_add.hpp | 27 + ..._multiblock_atomic_add_b16_f32_f32_avg.hpp | 27 + ..._multiblock_atomic_add_f16_f32_f32_add.hpp | 27 + ..._multiblock_atomic_add_f16_f32_f32_avg.hpp | 27 + ..._multiblock_atomic_add_f32_f32_f32_add.hpp | 27 + ..._multiblock_atomic_add_f32_f32_f32_avg.hpp | 27 + ..._multiblock_atomic_add_f32_f64_f32_add.hpp | 28 + ..._multiblock_atomic_add_f32_f64_f32_avg.hpp | 28 + ..._multiblock_atomic_add_f64_f64_f64_add.hpp | 27 + ..._multiblock_atomic_add_f64_f64_f64_avg.hpp | 27 + .../device_reduce_instance_threadwise.hpp | 109 + ...ce_instance_threadwise_b16_f32_b16_add.hpp | 27 + ...e_instance_threadwise_b16_f32_b16_amax.hpp | 31 + ...ce_instance_threadwise_b16_f32_b16_avg.hpp | 27 + ...ce_instance_threadwise_b16_f32_b16_max.hpp | 31 + ...ce_instance_threadwise_b16_f32_b16_min.hpp | 31 + ..._instance_threadwise_b16_f32_b16_norm2.hpp | 27 + ...e_instance_threadwise_f16_f16_f16_amax.hpp | 31 + ...ce_instance_threadwise_f16_f16_f16_max.hpp | 31 + ...ce_instance_threadwise_f16_f16_f16_min.hpp | 31 + ...ce_instance_threadwise_f16_f32_f16_add.hpp | 27 + ...ce_instance_threadwise_f16_f32_f16_avg.hpp | 27 + ..._instance_threadwise_f16_f32_f16_norm2.hpp | 27 + ...ce_instance_threadwise_f32_f32_f32_add.hpp | 27 + ...e_instance_threadwise_f32_f32_f32_amax.hpp | 31 + ...ce_instance_threadwise_f32_f32_f32_avg.hpp | 27 + ...ce_instance_threadwise_f32_f32_f32_max.hpp | 31 + ...ce_instance_threadwise_f32_f32_f32_min.hpp | 31 + ..._instance_threadwise_f32_f32_f32_norm2.hpp | 27 + ...ce_instance_threadwise_f32_f64_f32_add.hpp | 27 + ...ce_instance_threadwise_f32_f64_f32_avg.hpp | 27 + ..._instance_threadwise_f32_f64_f32_norm2.hpp | 27 + ...ce_instance_threadwise_f64_f64_f64_add.hpp | 27 + ...e_instance_threadwise_f64_f64_f64_amax.hpp | 31 + ...ce_instance_threadwise_f64_f64_f64_avg.hpp | 27 + ...ce_instance_threadwise_f64_f64_f64_max.hpp | 31 + ...ce_instance_threadwise_f64_f64_f64_min.hpp | 31 + ..._instance_threadwise_f64_f64_f64_norm2.hpp | 27 + ...duce_instance_threadwise_i8_i32_i8_add.hpp | 27 + ...duce_instance_threadwise_i8_i32_i8_avg.hpp | 27 + ...duce_instance_threadwise_i8_i8_i8_amax.hpp | 31 + ...educe_instance_threadwise_i8_i8_i8_max.hpp | 31 + ...educe_instance_threadwise_i8_i8_i8_min.hpp | 31 + .../gpu/reduce/reduce.hpp | 117 + .../tensor_operation_instance/gpu/softmax.hpp | 102 + ...softmax_f16_f16_instance_rank3_reduce1.hpp | 22 + ...softmax_f16_f16_instance_rank3_reduce2.hpp | 22 + ...softmax_f16_f16_instance_rank3_reduce3.hpp | 22 + ...softmax_f16_f16_instance_rank4_reduce1.hpp | 22 + ...softmax_f16_f16_instance_rank4_reduce2.hpp | 22 + ...softmax_f16_f16_instance_rank4_reduce3.hpp | 22 + ...softmax_f16_f16_instance_rank4_reduce4.hpp | 22 + .../device_softmax_f16_f16_instance_type.hpp | 45 + ...softmax_f32_f32_instance_rank3_reduce1.hpp | 22 + ...softmax_f32_f32_instance_rank3_reduce2.hpp | 22 + ...softmax_f32_f32_instance_rank3_reduce3.hpp | 22 + ...softmax_f32_f32_instance_rank4_reduce1.hpp | 22 + ...softmax_f32_f32_instance_rank4_reduce2.hpp | 22 + ...softmax_f32_f32_instance_rank4_reduce3.hpp | 22 + ...softmax_f32_f32_instance_rank4_reduce4.hpp | 22 + .../device_softmax_f32_f32_instance_type.hpp | 45 + .../gpu/softmax/device_softmax_instance.hpp | 19 + .../transpose/device_transpose_instance.hpp | 48 + .../gpu/transpose_3d.hpp | 62 + .../gpu/CMakeLists.txt | 468 +++ .../gpu/avg_pool2d_bwd/CMakeLists.txt | 8 + ...vice_avg_pool2d_bwd_nhwc_bf16_instance.cpp | 21 + ...evice_avg_pool2d_bwd_nhwc_f16_instance.cpp | 21 + ...evice_avg_pool2d_bwd_nhwc_f32_instance.cpp | 21 + ...device_avg_pool2d_bwd_nhwc_f8_instance.cpp | 20 + ...ce_avg_pool2d_bwd_nhwc_instance_common.hpp | 38 + ...vice_avg_pool2d_bwd_nhwc_int8_instance.cpp | 20 + .../gpu/avg_pool3d_bwd/CMakeLists.txt | 5 + .../avg_pool3d_bwd_ndhwc_instance_common.hpp | 59 + ...ice_avg_pool3d_bwd_ndhwc_bf16_instance.cpp | 20 + ...vice_avg_pool3d_bwd_ndhwc_f16_instance.cpp | 20 + ...vice_avg_pool3d_bwd_ndhwc_f32_instance.cpp | 20 + .../gpu/batched_gemm/CMakeLists.txt | 19 + ...dl_bf16_bf16_bf16_gkm_gkn_gmn_instance.cpp | 59 + ...dl_bf16_bf16_bf16_gkm_gnk_gmn_instance.cpp | 58 + ...dl_bf16_bf16_bf16_gmk_gkn_gmn_instance.cpp | 62 + ...dl_bf16_bf16_bf16_gmk_gnk_gmn_instance.cpp | 63 + ...m_xdl_f16_f16_f16_gkm_gkn_gmn_instance.cpp | 101 + ...m_xdl_f16_f16_f16_gkm_gnk_gmn_instance.cpp | 101 + ...m_xdl_f16_f16_f16_gmk_gkn_gmn_instance.cpp | 152 + ...m_xdl_f16_f16_f16_gmk_gnk_gmn_instance.cpp | 140 + ...m_xdl_f32_f32_f32_gkm_gkn_gmn_instance.cpp | 58 + ...m_xdl_f32_f32_f32_gkm_gnk_gmn_instance.cpp | 58 + ...m_xdl_f32_f32_f32_gmk_gkn_gmn_instance.cpp | 58 + ...m_xdl_f32_f32_f32_gmk_gnk_gmn_instance.cpp | 63 + ...dl_int8_int8_int8_gkm_gkn_gmn_instance.cpp | 79 + ...dl_int8_int8_int8_gkm_gnk_gmn_instance.cpp | 79 + ...dl_int8_int8_int8_gmk_gkn_gmn_instance.cpp | 79 + ...dl_int8_int8_int8_gmk_gnk_gmn_instance.cpp | 71 + .../CMakeLists.txt | 5 + ...6_f16_f16_f16_gmk_gnk_gno_gmo_instance.cpp | 82 + ...6_f16_f16_f16_gmk_gnk_gon_gmo_instance.cpp | 83 + .../gpu/batched_gemm_b_scale/CMakeLists.txt | 10 + ...d_gemm_b_scale_xdl_f16_i4_f16_mk_nk_mn.hpp | 95 + ...4_f16_mk_nk_mn_mem_v2_default_instance.cpp | 33 + .../batched_gemm_bias_permute/CMakeLists.txt | 5 + ...xdl_c_shuffle_f16_f16_f16_f16_instance.cpp | 98 + .../gpu/batched_gemm_gemm/CMakeLists.txt | 5 + ...6_f16_f16_f16_gmk_gnk_gno_gmo_instance.cpp | 80 + ...6_f16_f16_f16_gmk_gnk_gon_gmo_instance.cpp | 80 + .../gpu/batched_gemm_multi_d/CMakeLists.txt | 21 + ..._d_dl_f16_f16_f16_gkm_gkn_gmn_instance.cpp | 95 + ...f16_f16_gkm_gkn_gmn_irregular_instance.cpp | 84 + ..._d_dl_f16_f16_f16_gkm_gnk_gmn_instance.cpp | 95 + ...f16_f16_gkm_gnk_gmn_irregular_instance.cpp | 83 + ..._d_dl_f16_f16_f16_gmk_gkn_gmn_instance.cpp | 95 + ...f16_f16_gmk_gkn_gmn_irregular_instance.cpp | 83 + ..._d_dl_f16_f16_f16_gmk_gnk_gmn_instance.cpp | 95 + ...f16_f16_gmk_gnk_gmn_irregular_instance.cpp | 83 + ...lti_d_dl_i8_i8_i8_gkm_gkn_gmn_instance.cpp | 93 + ...8_i8_i8_gkm_gkn_gmn_irregular_instance.cpp | 90 + ...lti_d_dl_i8_i8_i8_gkm_gnk_gmn_instance.cpp | 93 + ...8_i8_i8_gkm_gnk_gmn_irregular_instance.cpp | 90 + ...lti_d_dl_i8_i8_i8_gmk_gkn_gmn_instance.cpp | 93 + ...8_i8_i8_gmk_gkn_gmn_irregular_instance.cpp | 90 + ...lti_d_dl_i8_i8_i8_gmk_gnk_gmn_instance.cpp | 93 + ...8_i8_i8_gmk_gnk_gmn_irregular_instance.cpp | 90 + .../gpu/batched_gemm_reduce/CMakeLists.txt | 7 + ...6_f16_f16_f32_f32_gkm_gkn_gmn_instance.cpp | 80 + ...6_f16_f16_f32_f32_gkm_gnk_gmn_instance.cpp | 80 + ...6_f16_f16_f32_f32_gmk_gkn_gmn_instance.cpp | 80 + ...6_f16_f16_f32_f32_gmk_gnk_gmn_instance.cpp | 77 + .../batched_gemm_softmax_gemm/CMakeLists.txt | 4 + ...6_f16_f16_f16_gmk_gnk_gno_gmo_instance.cpp | 131 + .../CMakeLists.txt | 8 + ...f16_bf16_bf16_gmk_gnk_gno_gmo_instance.cpp | 135 + ...6_f16_f16_f16_gmk_gnk_gno_gmo_instance.cpp | 137 + ...f16_bf16_bf16_gmk_gnk_gno_gmo_instance.cpp | 133 + ...6_f16_f16_f16_gmk_gnk_gno_gmo_instance.cpp | 175 ++ .../gpu/batchnorm/CMakeLists.txt | 14 + ...evice_batchnorm_backward_bf16_instance.cpp | 146 + ...device_batchnorm_backward_f16_instance.cpp | 147 + ...device_batchnorm_backward_f32_instance.cpp | 145 + ...device_batchnorm_backward_f64_instance.cpp | 145 + ...device_batchnorm_forward_bf16_instance.cpp | 147 + .../device_batchnorm_forward_f16_instance.cpp | 147 + .../device_batchnorm_forward_f32_instance.cpp | 145 + .../device_batchnorm_forward_f64_instance.cpp | 145 + .../device_batchnorm_infer_bf16_instance.cpp | 55 + .../device_batchnorm_infer_f16_instance.cpp | 54 + .../device_batchnorm_infer_f32_instance.cpp | 52 + .../device_batchnorm_infer_f64_instance.cpp | 47 + .../gpu/column_to_image/CMakeLists.txt | 8 + ...ice_column_to_image_gndhwc_3d_instance.cpp | 62 + ...vice_column_to_image_gnhwc_2d_instance.cpp | 62 + ...evice_column_to_image_gnwc_1d_instance.cpp | 61 + ...ice_column_to_image_ndhwgc_3d_instance.cpp | 62 + ...vice_column_to_image_nhwgc_2d_instance.cpp | 62 + ...evice_column_to_image_nwgc_1d_instance.cpp | 61 + ...16_bf16_bf16_compute_f32_kknn_instance.cpp | 58 + ...16_bf16_bf16_compute_f32_knnn_instance.cpp | 58 + ...16_bf16_bf16_compute_f32_mknn_instance.cpp | 58 + ...16_bf16_bf16_compute_f32_mnnn_instance.cpp | 58 + ..._f16_f16_f16_compute_f32_kknn_instance.cpp | 58 + ..._f16_f16_f16_compute_f32_knnn_instance.cpp | 58 + ..._f16_f16_f16_compute_f32_mknn_instance.cpp | 58 + ..._f16_f16_f16_compute_f32_mnnn_instance.cpp | 58 + ...f32_f32_f32_compute_bf16_kknn_instance.cpp | 58 + ...f32_f32_f32_compute_bf16_knnn_instance.cpp | 58 + ...f32_f32_f32_compute_bf16_mknn_instance.cpp | 58 + ...f32_f32_f32_compute_bf16_mnnn_instance.cpp | 58 + ..._f32_f32_f32_compute_f16_kknn_instance.cpp | 58 + ..._f32_f32_f32_compute_f16_knnn_instance.cpp | 58 + ..._f32_f32_f32_compute_f16_mknn_instance.cpp | 58 + ..._f32_f32_f32_compute_f16_mnnn_instance.cpp | 58 + ..._shuffle_f32_f32_f32_f32_kknn_instance.cpp | 58 + ..._shuffle_f32_f32_f32_f32_knnn_instance.cpp | 58 + ..._shuffle_f32_f32_f32_f32_mknn_instance.cpp | 58 + ..._shuffle_f32_f32_f32_f32_mnnn_instance.cpp | 58 + ..._f64_f64_f64_compute_f32_kknn_instance.cpp | 58 + ..._f64_f64_f64_compute_f32_knnn_instance.cpp | 58 + ..._f64_f64_f64_compute_f32_mknn_instance.cpp | 58 + ..._f64_f64_f64_compute_f32_mnnn_instance.cpp | 58 + ..._shuffle_f64_f64_f64_f64_kknn_instance.cpp | 58 + ..._shuffle_f64_f64_f64_f64_knnn_instance.cpp | 58 + ..._shuffle_f64_f64_f64_f64_mknn_instance.cpp | 58 + ..._shuffle_f64_f64_f64_f64_mnnn_instance.cpp | 58 + ...16_bf16_bf16_compute_f32_kknn_instance.cpp | 58 + ...16_bf16_bf16_compute_f32_knnn_instance.cpp | 58 + ...16_bf16_bf16_compute_f32_mknn_instance.cpp | 58 + ...16_bf16_bf16_compute_f32_mnnn_instance.cpp | 58 + ..._f16_f16_f16_compute_f32_kknn_instance.cpp | 58 + ..._f16_f16_f16_compute_f32_knnn_instance.cpp | 58 + ..._f16_f16_f16_compute_f32_mknn_instance.cpp | 58 + ..._f16_f16_f16_compute_f32_mnnn_instance.cpp | 58 + ...f32_f32_f32_compute_bf16_kknn_instance.cpp | 58 + ...f32_f32_f32_compute_bf16_knnn_instance.cpp | 58 + ...f32_f32_f32_compute_bf16_mknn_instance.cpp | 58 + ...f32_f32_f32_compute_bf16_mnnn_instance.cpp | 58 + ..._f32_f32_f32_compute_f16_kknn_instance.cpp | 58 + ..._f32_f32_f32_compute_f16_knnn_instance.cpp | 58 + ..._f32_f32_f32_compute_f16_mknn_instance.cpp | 58 + ..._f32_f32_f32_compute_f16_mnnn_instance.cpp | 58 + ..._shuffle_f32_f32_f32_f32_kknn_instance.cpp | 58 + ..._shuffle_f32_f32_f32_f32_knnn_instance.cpp | 58 + ..._shuffle_f32_f32_f32_f32_mknn_instance.cpp | 58 + ..._shuffle_f32_f32_f32_f32_mnnn_instance.cpp | 58 + ..._f64_f64_f64_compute_f32_kknn_instance.cpp | 58 + ..._f64_f64_f64_compute_f32_knnn_instance.cpp | 58 + ..._f64_f64_f64_compute_f32_mknn_instance.cpp | 58 + ..._f64_f64_f64_compute_f32_mnnn_instance.cpp | 58 + ..._shuffle_f64_f64_f64_f64_kknn_instance.cpp | 58 + ..._shuffle_f64_f64_f64_f64_knnn_instance.cpp | 58 + ..._shuffle_f64_f64_f64_f64_mknn_instance.cpp | 58 + ..._shuffle_f64_f64_f64_f64_mnnn_instance.cpp | 58 + .../gpu/contraction_bilinear/CMakeLists.txt | 49 + ...f16_bf16_bf16_compute_f32_kkn_instance.cpp | 58 + ...f16_bf16_bf16_compute_f32_knn_instance.cpp | 58 + ...f16_bf16_bf16_compute_f32_mkn_instance.cpp | 58 + ...f16_bf16_bf16_compute_f32_mnn_instance.cpp | 58 + ...e_f16_f16_f16_compute_f32_kkn_instance.cpp | 58 + ...e_f16_f16_f16_compute_f32_knn_instance.cpp | 58 + ...e_f16_f16_f16_compute_f32_mkn_instance.cpp | 58 + ...e_f16_f16_f16_compute_f32_mnn_instance.cpp | 58 + ..._f32_f32_f32_compute_bf16_kkn_instance.cpp | 58 + ..._f32_f32_f32_compute_bf16_knn_instance.cpp | 58 + ..._f32_f32_f32_compute_bf16_mkn_instance.cpp | 58 + ..._f32_f32_f32_compute_bf16_mnn_instance.cpp | 58 + ...e_f32_f32_f32_compute_f16_kkn_instance.cpp | 58 + ...e_f32_f32_f32_compute_f16_knn_instance.cpp | 58 + ...e_f32_f32_f32_compute_f16_mkn_instance.cpp | 58 + ...e_f32_f32_f32_compute_f16_mnn_instance.cpp | 58 + ...xdl_c_shuffle_f32_f32_f32_kkn_instance.cpp | 57 + ...xdl_c_shuffle_f32_f32_f32_knn_instance.cpp | 57 + ...xdl_c_shuffle_f32_f32_f32_mkn_instance.cpp | 57 + ...xdl_c_shuffle_f32_f32_f32_mnn_instance.cpp | 57 + ...e_f64_f64_f64_compute_f32_kkn_instance.cpp | 58 + ...e_f64_f64_f64_compute_f32_knn_instance.cpp | 58 + ...e_f64_f64_f64_compute_f32_mkn_instance.cpp | 58 + ...e_f64_f64_f64_compute_f32_mnn_instance.cpp | 58 + ...xdl_c_shuffle_f64_f64_f64_kkn_instance.cpp | 57 + ...xdl_c_shuffle_f64_f64_f64_knn_instance.cpp | 57 + ...xdl_c_shuffle_f64_f64_f64_mkn_instance.cpp | 57 + ...xdl_c_shuffle_f64_f64_f64_mnn_instance.cpp | 57 + ...f16_bf16_bf16_compute_f32_kkn_instance.cpp | 58 + ...f16_bf16_bf16_compute_f32_knn_instance.cpp | 58 + ...f16_bf16_bf16_compute_f32_mkn_instance.cpp | 58 + ...f16_bf16_bf16_compute_f32_mnn_instance.cpp | 58 + ...e_f16_f16_f16_compute_f32_kkn_instance.cpp | 58 + ...e_f16_f16_f16_compute_f32_knn_instance.cpp | 58 + ...e_f16_f16_f16_compute_f32_mkn_instance.cpp | 58 + ...e_f16_f16_f16_compute_f32_mnn_instance.cpp | 58 + ..._f32_f32_f32_compute_bf16_kkn_instance.cpp | 58 + ..._f32_f32_f32_compute_bf16_knn_instance.cpp | 58 + ..._f32_f32_f32_compute_bf16_mkn_instance.cpp | 58 + ..._f32_f32_f32_compute_bf16_mnn_instance.cpp | 58 + ...e_f32_f32_f32_compute_f16_kkn_instance.cpp | 58 + ...e_f32_f32_f32_compute_f16_knn_instance.cpp | 58 + ...e_f32_f32_f32_compute_f16_mkn_instance.cpp | 58 + ...e_f32_f32_f32_compute_f16_mnn_instance.cpp | 58 + ...xdl_c_shuffle_f32_f32_f32_kkn_instance.cpp | 57 + ...xdl_c_shuffle_f32_f32_f32_knn_instance.cpp | 57 + ...xdl_c_shuffle_f32_f32_f32_mkn_instance.cpp | 57 + ...xdl_c_shuffle_f32_f32_f32_mnn_instance.cpp | 57 + ...e_f64_f64_f64_compute_f32_kkn_instance.cpp | 58 + ...e_f64_f64_f64_compute_f32_knn_instance.cpp | 58 + ...e_f64_f64_f64_compute_f32_mkn_instance.cpp | 58 + ...e_f64_f64_f64_compute_f32_mnn_instance.cpp | 58 + ...xdl_c_shuffle_f64_f64_f64_kkn_instance.cpp | 57 + ...xdl_c_shuffle_f64_f64_f64_knn_instance.cpp | 57 + ...xdl_c_shuffle_f64_f64_f64_mkn_instance.cpp | 57 + ...xdl_c_shuffle_f64_f64_f64_mnn_instance.cpp | 57 + .../gpu/contraction_scale/CMakeLists.txt | 50 + .../gpu/conv1d_bwd_data/CMakeLists.txt | 7 + ...bwd_data_xdl_nwc_kxc_nwk_bf16_instance.cpp | 102 + ..._bwd_data_xdl_nwc_kxc_nwk_f16_instance.cpp | 95 + ..._bwd_data_xdl_nwc_kxc_nwk_f32_instance.cpp | 94 + ...bwd_data_xdl_nwc_kxc_nwk_int8_instance.cpp | 99 + .../gpu/conv2d_bwd_data/CMakeLists.txt | 11 + ...wd_data_dl_nhwc_kyxc_nhwk_f16_instance.cpp | 84 + ...wd_data_dl_nhwc_kyxc_nhwk_f32_instance.cpp | 84 + ...d_data_dl_nhwc_kyxc_nhwk_int8_instance.cpp | 84 + ..._data_xdl_nhwc_kyxc_nhwk_bf16_instance.cpp | 158 + ...d_data_xdl_nhwc_kyxc_nhwk_f16_instance.cpp | 158 + ...d_data_xdl_nhwc_kyxc_nhwk_f32_instance.cpp | 155 + ..._data_xdl_nhwc_kyxc_nhwk_int8_instance.cpp | 154 + .../gpu/conv2d_fwd/CMakeLists.txt | 9 + ..._c_shuffle_nhwc_kyxc_nhwk_f16_instance.cpp | 208 ++ ...d_fwd_xdl_nhwc_kyxc_nhwk_bf16_instance.cpp | 129 + ...2d_fwd_xdl_nhwc_kyxc_nhwk_f16_instance.cpp | 121 + ...2d_fwd_xdl_nhwc_kyxc_nhwk_f32_instance.cpp | 120 + ...d_fwd_xdl_nhwc_kyxc_nhwk_int8_instance.cpp | 126 + .../gpu/conv2d_fwd_bias_relu/CMakeLists.txt | 4 + ..._bias_relu_nhwc_kyxc_nhwk_f16_instance.cpp | 211 ++ .../conv2d_fwd_bias_relu_add/CMakeLists.txt | 5 + ...s_relu_add_nhwc_kyxc_nhwk_f16_instance.cpp | 212 ++ .../gpu/conv3d_bwd_data/CMakeLists.txt | 7 + ...ta_xdl_ndhwc_kzyxc_ndhwk_bf16_instance.cpp | 102 + ...ata_xdl_ndhwc_kzyxc_ndhwk_f16_instance.cpp | 102 + ...ata_xdl_ndhwc_kzyxc_ndhwk_f32_instance.cpp | 101 + ...ta_xdl_ndhwc_kzyxc_ndhwk_int8_instance.cpp | 99 + .../gpu/elementwise/CMakeLists.txt | 3 + .../elementwise/device_normalize_instance.cpp | 61 + .../elementwise_normalization/CMakeLists.txt | 3 + ...elementwise_normalization_f16_instance.cpp | 59 + .../gpu/gemm/CMakeLists.txt | 147 + ..._gemm_dl_f16_f16_f16_km_kn_mn_instance.cpp | 84 + ...16_f16_f16_km_kn_mn_irregular_instance.cpp | 73 + ..._gemm_dl_f16_f16_f16_km_nk_mn_instance.cpp | 84 + ...16_f16_f16_km_nk_mn_irregular_instance.cpp | 73 + ..._gemm_dl_f16_f16_f16_mk_kn_mn_instance.cpp | 84 + ...16_f16_f16_mk_kn_mn_irregular_instance.cpp | 73 + ..._gemm_dl_f16_f16_f16_mk_nk_mn_instance.cpp | 85 + ...16_f16_f16_mk_nk_mn_irregular_instance.cpp | 74 + ..._gemm_dl_f32_f32_f32_km_kn_mn_instance.cpp | 81 + ..._gemm_dl_f32_f32_f32_km_nk_mn_instance.cpp | 82 + ..._gemm_dl_f32_f32_f32_mk_kn_mn_instance.cpp | 82 + ..._gemm_dl_f32_f32_f32_mk_nk_mn_instance.cpp | 82 + ...ice_gemm_dl_i8_i8_i8_km_kn_mn_instance.cpp | 83 + ...l_i8_i8_i8_km_kn_mn_irregular_instance.cpp | 81 + ...ice_gemm_dl_i8_i8_i8_km_nk_mn_instance.cpp | 83 + ...l_i8_i8_i8_km_nk_mn_irregular_instance.cpp | 81 + ...ice_gemm_dl_i8_i8_i8_mk_kn_mn_instance.cpp | 83 + ...l_i8_i8_i8_mk_kn_mn_irregular_instance.cpp | 81 + ...ice_gemm_dl_i8_i8_i8_mk_nk_mn_instance.cpp | 83 + ...l_i8_i8_i8_mk_nk_mn_irregular_instance.cpp | 81 + ...gemm_dpp_f16_f16_f16_km_kn_mn_instance.cpp | 68 + ...16_f16_f16_km_kn_mn_irregular_instance.cpp | 64 + ...gemm_dpp_f16_f16_f16_km_nk_mn_instance.cpp | 68 + ...16_f16_f16_km_nk_mn_irregular_instance.cpp | 64 + ...gemm_dpp_f16_f16_f16_mk_kn_mn_instance.cpp | 67 + ...16_f16_f16_mk_kn_mn_irregular_instance.cpp | 63 + ...gemm_dpp_f16_f16_f16_mk_nk_mn_instance.cpp | 68 + ...16_f16_f16_mk_nk_mn_irregular_instance.cpp | 64 + ..._wmma_bf16_bf16_bf16_km_kn_mn_instance.cpp | 77 + ..._wmma_bf16_bf16_bf16_km_nk_mn_instance.cpp | 77 + ..._wmma_bf16_bf16_bf16_mk_kn_mn_instance.cpp | 77 + ..._wmma_bf16_bf16_bf16_mk_nk_mn_instance.cpp | 77 + ...emm_wmma_f16_f16_f16_km_kn_mn_instance.cpp | 78 + ...emm_wmma_f16_f16_f16_km_nk_mn_instance.cpp | 78 + ...emm_wmma_f16_f16_f16_mk_kn_mn_instance.cpp | 158 + ...emm_wmma_f16_f16_f16_mk_nk_mn_instance.cpp | 78 + ..._wmma_int8_int8_int8_km_kn_mn_instance.cpp | 76 + ..._wmma_int8_int8_int8_km_nk_mn_instance.cpp | 76 + ..._wmma_int8_int8_int8_mk_kn_mn_instance.cpp | 76 + ..._wmma_int8_int8_int8_mk_nk_mn_instance.cpp | 76 + ..._2_stage_f16_f16_f16_mk_nk_mn_instance.cpp | 118 + ...uffle_bf16_bf16_bf16_km_kn_mn_instance.cpp | 68 + ...uffle_bf16_bf16_bf16_km_nk_mn_instance.cpp | 68 + ...uffle_bf16_bf16_bf16_mk_kn_mn_instance.cpp | 124 + ...uffle_bf16_bf16_bf16_mk_nk_mn_instance.cpp | 140 + ..._shuffle_f16_f16_f16_km_kn_mn_instance.cpp | 129 + ..._shuffle_f16_f16_f16_km_nk_mn_instance.cpp | 129 + ..._shuffle_f16_f16_f16_mk_kn_mn_instance.cpp | 152 + ..._shuffle_f16_f16_f16_mk_nk_mn_instance.cpp | 145 + ...c_shuffle_f16_f8_f16_mk_kn_mn_instance.cpp | 122 + ...c_shuffle_f16_f8_f16_mk_nk_mn_instance.cpp | 111 + ..._shuffle_f32_f32_f32_km_kn_mn_instance.cpp | 67 + ..._shuffle_f32_f32_f32_km_nk_mn_instance.cpp | 67 + ..._shuffle_f32_f32_f32_mk_kn_mn_instance.cpp | 67 + ..._shuffle_f32_f32_f32_mk_nk_mn_instance.cpp | 64 + ..._shuffle_fp8_fp8_fp8_km_kn_mn_instance.cpp | 69 + ..._shuffle_fp8_fp8_fp8_km_nk_mn_instance.cpp | 69 + ...8_fp8_fp8_mk_kn_mn_v1_default_instance.cpp | 26 + ...mk_kn_mn_v1_interwave_default_instance.cpp | 27 + ..._mk_kn_mn_v1_interwave_padded_instance.cpp | 27 + ...p8_fp8_fp8_mk_kn_mn_v1_padded_instance.cpp | 26 + ...8_fp8_fp8_mk_kn_mn_v2_default_instance.cpp | 26 + ...p8_fp8_fp8_mk_kn_mn_v2_padded_instance.cpp | 26 + ..._shuffle_fp8_fp8_fp8_mk_nk_mn_instance.cpp | 72 + ...l_c_shuffle_i8_i8_i8_km_kn_mn_instance.cpp | 69 + ...l_c_shuffle_i8_i8_i8_km_nk_mn_instance.cpp | 69 + ...l_c_shuffle_i8_i8_i8_mk_kn_mn_instance.cpp | 69 + ...l_c_shuffle_i8_i8_i8_mk_nk_mn_instance.cpp | 86 + ...ect_load_f16_f16_f16_mk_nk_mn_instance.cpp | 65 + ...ect_load_f32_f32_f32_km_kn_mn_instance.cpp | 52 + ...ect_load_f32_f32_f32_km_nk_mn_instance.cpp | 52 + ...ect_load_f32_f32_f32_mk_kn_mn_instance.cpp | 51 + ...ect_load_f32_f32_f32_mk_nk_mn_instance.cpp | 52 + .../device_gemm_xdl_f16_f16_f16/common.hpp | 43 + .../km_kn_mn_add_instance.cpp | 38 + .../km_kn_mn_default_pipeline_v1_instance.cpp | 40 + .../km_kn_mn_default_pipeline_v2_instance.cpp | 42 + ...kn_mn_default_pipeline_v2_opt_instance.cpp | 35 + ...m_kn_mn_interwave_pipeline_v1_instance.cpp | 42 + ...irregular_default_pipeline_v1_instance.cpp | 32 + ...irregular_default_pipeline_v2_instance.cpp | 34 + ...regular_interwave_pipeline_v1_instance.cpp | 34 + .../km_nk_mn_add_instance.cpp | 38 + .../km_nk_mn_default_pipeline_v1_instance.cpp | 40 + .../km_nk_mn_default_pipeline_v2_instance.cpp | 42 + ...nk_mn_default_pipeline_v2_opt_instance.cpp | 35 + ...m_nk_mn_interwave_pipeline_v1_instance.cpp | 42 + ...irregular_default_pipeline_v1_instance.cpp | 32 + ...irregular_default_pipeline_v2_instance.cpp | 34 + ...regular_interwave_pipeline_v1_instance.cpp | 34 + .../mk_kn_mn_add_instance.cpp | 38 + .../mk_kn_mn_default_pipeline_v1_instance.cpp | 49 + .../mk_kn_mn_default_pipeline_v2_instance.cpp | 51 + ...kn_mn_default_pipeline_v2_opt_instance.cpp | 35 + ...k_kn_mn_interwave_pipeline_v1_instance.cpp | 51 + ...irregular_default_pipeline_v1_instance.cpp | 32 + ...irregular_default_pipeline_v2_instance.cpp | 34 + ...regular_interwave_pipeline_v1_instance.cpp | 34 + .../mk_nk_mn_add_instance.cpp | 38 + .../mk_nk_mn_default_pipeline_v1_instance.cpp | 44 + .../mk_nk_mn_default_pipeline_v2_instance.cpp | 46 + ...nk_mn_default_pipeline_v2_opt_instance.cpp | 34 + ...k_nk_mn_interwave_pipeline_v1_instance.cpp | 46 + ...irregular_default_pipeline_v1_instance.cpp | 34 + ...irregular_default_pipeline_v2_instance.cpp | 36 + ...regular_interwave_pipeline_v1_instance.cpp | 36 + ...gemm_xdl_f32_f32_f32_km_kn_mn_instance.cpp | 60 + ...gemm_xdl_f32_f32_f32_km_nk_mn_instance.cpp | 60 + ...gemm_xdl_f32_f32_f32_mk_kn_mn_instance.cpp | 60 + ...gemm_xdl_f32_f32_f32_mk_nk_mn_instance.cpp | 65 + ...gemm_xdl_f64_f64_f64_km_kn_mn_instance.cpp | 56 + ...gemm_xdl_f64_f64_f64_km_nk_mn_instance.cpp | 56 + ...gemm_xdl_f64_f64_f64_mk_kn_mn_instance.cpp | 56 + ...gemm_xdl_f64_f64_f64_mk_nk_mn_instance.cpp | 61 + .../gpu/gemm_ab_scale/CMakeLists.txt | 16 + ...le_xdl_f8_f8_bf16_mk_nk_mn_128_128_128.hpp | 86 + ...k_mn_128_128_128_comp_default_instance.cpp | 37 + ..._mn_128_128_128_comp_kpadding_instance.cpp | 37 + ...mn_128_128_128_mem_v1_default_instance.cpp | 38 + ...n_128_128_128_mem_v1_kpadding_instance.cpp | 38 + .../gpu/gemm_add/CMakeLists.txt | 5 + ...bf16_i8_bf16_bf16_mk_kn_mn_mn_instance.cpp | 69 + ...le_f16_i8_f16_f16_mk_kn_mn_mn_instance.cpp | 69 + .../gpu/gemm_add_add_fastgelu/CMakeLists.txt | 7 + ...16_f16_f16_f16_km_kn_mn_mn_mn_instance.cpp | 218 ++ ...16_f16_f16_f16_km_nk_mn_mn_mn_instance.cpp | 218 ++ ...16_f16_f16_f16_mk_kn_mn_mn_mn_instance.cpp | 218 ++ ...16_f16_f16_f16_mk_nk_mn_mn_mn_instance.cpp | 209 ++ .../gpu/gemm_add_fastgelu/CMakeLists.txt | 9 + ...bf16_i8_bf16_bf16_mk_kn_mn_mn_instance.cpp | 73 + ...e_f16_f16_f16_f16_km_kn_mn_mn_instance.cpp | 200 ++ ...e_f16_f16_f16_f16_km_nk_mn_mn_instance.cpp | 200 ++ ...e_f16_f16_f16_f16_mk_kn_mn_mn_instance.cpp | 200 ++ ...e_f16_f16_f16_f16_mk_nk_mn_mn_instance.cpp | 191 ++ ...le_f16_i8_f16_f16_mk_kn_mn_mn_instance.cpp | 72 + .../gpu/gemm_add_multiply/CMakeLists.txt | 7 + ...16_f16_f16_f16_km_kn_mn_mn_mn_instance.cpp | 106 + ...16_f16_f16_f16_km_nk_mn_mn_mn_instance.cpp | 106 + ...16_f16_f16_f16_mk_kn_mn_mn_mn_instance.cpp | 106 + ...16_f16_f16_f16_mk_nk_mn_mn_mn_instance.cpp | 143 + .../gpu/gemm_add_relu/CMakeLists.txt | 5 + ...bf16_i8_bf16_bf16_mk_kn_mn_mn_instance.cpp | 71 + ...le_f16_i8_f16_f16_mk_kn_mn_mn_instance.cpp | 70 + .../CMakeLists.txt | 7 + ..._layernorm_f16_km_kn_mn_mn_mn_instance.cpp | 130 + ..._layernorm_f16_km_nk_mn_mn_mn_instance.cpp | 130 + ..._layernorm_f16_mk_kn_mn_mn_mn_instance.cpp | 130 + ..._layernorm_f16_mk_nk_mn_mn_mn_instance.cpp | 127 + .../gpu/gemm_add_silu/CMakeLists.txt | 5 + ...bf16_i8_bf16_bf16_mk_kn_mn_mn_instance.cpp | 71 + ...le_f16_i8_f16_f16_mk_kn_mn_mn_instance.cpp | 70 + .../gpu/gemm_b_scale/CMakeLists.txt | 10 + ...e_gemm_b_scale_xdl_f16_i4_f16_mk_nk_mn.hpp | 101 + ...4_f16_mk_nk_mn_mem_v2_default_instance.cpp | 32 + .../gpu/gemm_bias_add_reduce/CMakeLists.txt | 7 + ..._f16_f16_f16_f32_f32_km_kn_mn_instance.cpp | 83 + ..._f16_f16_f16_f32_f32_km_nk_mn_instance.cpp | 82 + ..._f16_f16_f16_f32_f32_mk_kn_mn_instance.cpp | 82 + ..._f16_f16_f16_f32_f32_mk_nk_mn_instance.cpp | 79 + .../gpu/gemm_bilinear/CMakeLists.txt | 11 + ...uffle_i8_i8_i8_i8_km_kn_mn_mn_instance.cpp | 89 + ...uffle_i8_i8_i8_i8_km_nk_mn_mn_instance.cpp | 89 + ...uffle_i8_i8_i8_i8_mk_kn_mn_mn_instance.cpp | 89 + ...uffle_i8_i8_i8_i8_mk_nk_mn_mn_instance.cpp | 115 + ...e_f16_f16_f16_f16_km_kn_mn_mn_instance.cpp | 105 + ...e_f16_f16_f16_f16_km_nk_mn_mn_instance.cpp | 105 + ...e_f16_f16_f16_f16_mk_kn_mn_mn_instance.cpp | 105 + ...e_f16_f16_f16_f16_mk_nk_mn_mn_instance.cpp | 142 + .../gpu/gemm_fastgelu/CMakeLists.txt | 7 + ..._shuffle_f16_f16_f16_km_kn_mn_instance.cpp | 195 ++ ..._shuffle_f16_f16_f16_km_nk_mn_instance.cpp | 195 ++ ..._shuffle_f16_f16_f16_mk_kn_mn_instance.cpp | 195 ++ ..._shuffle_f16_f16_f16_mk_nk_mn_instance.cpp | 186 ++ .../gpu/gemm_multi_abd/CMakeLists.txt | 16 + ...multi_abd_bf16_i8_bf16_mk_kn_mn_common.hpp | 128 + ..._abd_bf16_i8_bf16_mk_kn_mn_v1_instance.cpp | 58 + ...multi_abd_bf16_i8_bf16_mk_nk_mn_common.hpp | 124 + ...bias_bf16_i8_bf16_mk_kn_mn_v1_instance.cpp | 58 + ...gelu_bf16_i8_bf16_mk_kn_mn_v1_instance.cpp | 58 + ...gelu_bf16_i8_bf16_mk_nk_mn_v1_instance.cpp | 111 + ...gelu_bf16_i8_bf16_mk_kn_mn_v1_instance.cpp | 59 + ...iply_bf16_i8_bf16_mk_kn_mn_v1_instance.cpp | 58 + ...bias_bf16_i8_bf16_mk_kn_mn_v1_instance.cpp | 58 + ...gelu_bf16_i8_bf16_mk_kn_mn_v1_instance.cpp | 58 + ...gelu_bf16_i8_bf16_mk_kn_mn_v1_instance.cpp | 58 + .../gpu/gemm_multiply_add/CMakeLists.txt | 7 + ...16_f16_f16_f16_mk_kn_mn_mn_mn_instance.cpp | 83 + ...16_f16_f16_f16_mk_nk_mn_mn_mn_instance.cpp | 82 + ...f8_f32_f32_f16_mk_kn_mn_mn_mn_instance.cpp | 100 + ...f8_f32_f32_f16_mk_nk_mn_mn_mn_instance.cpp | 99 + .../gpu/gemm_multiply_multiply/CMakeLists.txt | 68 + ...tiply_multiply_xdl_f8_f8_bf16_mk_nk_mn.hpp | 239 ++ ...6_mk_nk_mn_comp_default_instance_part1.cpp | 32 + ...6_mk_nk_mn_comp_default_instance_part2.cpp | 32 + ..._mk_nk_mn_comp_kpadding_instance_part1.cpp | 32 + ..._mk_nk_mn_comp_kpadding_instance_part2.cpp | 32 + ..._comp_mfma16x16_default_instance_part1.cpp | 33 + ..._comp_mfma16x16_default_instance_part2.cpp | 33 + ..._comp_mfma16x16_default_instance_part3.cpp | 33 + ...comp_mfma16x16_kpadding_instance_part1.cpp | 33 + ...comp_mfma16x16_kpadding_instance_part2.cpp | 33 + ...comp_mfma16x16_kpadding_instance_part3.cpp | 33 + ..._bf16_mk_nk_mn_mem_v1_default_instance.cpp | 33 + ...bf16_mk_nk_mn_mem_v1_kpadding_instance.cpp | 33 + ..._bf16_mk_nk_mn_mem_v2_default_instance.cpp | 33 + ...bf16_mk_nk_mn_mem_v2_kpadding_instance.cpp | 33 + ...ltiply_multiply_xdl_f8_f8_f16_mk_nk_mn.hpp | 226 ++ ..._f8_f16_mk_nk_mn_comp_default_instance.cpp | 32 + ...6_mk_nk_mn_comp_default_instance_part1.cpp | 32 + ...6_mk_nk_mn_comp_default_instance_part2.cpp | 32 + ...f8_f16_mk_nk_mn_comp_kpadding_instance.cpp | 32 + ..._mk_nk_mn_comp_kpadding_instance_part1.cpp | 32 + ..._mk_nk_mn_comp_kpadding_instance_part2.cpp | 32 + ..._comp_mfma16x16_default_instance_part1.cpp | 33 + ..._comp_mfma16x16_default_instance_part2.cpp | 33 + ..._comp_mfma16x16_default_instance_part3.cpp | 33 + ...comp_mfma16x16_kpadding_instance_part1.cpp | 33 + ...comp_mfma16x16_kpadding_instance_part2.cpp | 33 + ...comp_mfma16x16_kpadding_instance_part3.cpp | 33 + ...8_f16_mk_nk_mn_mem_v1_default_instance.cpp | 33 + ..._f16_mk_nk_mn_mem_v1_kpadding_instance.cpp | 33 + ...8_f16_mk_nk_mn_mem_v2_default_instance.cpp | 33 + ..._f16_mk_nk_mn_mem_v2_kpadding_instance.cpp | 33 + ...tiply_multiply_xdl_i8_i8_bf16_mk_nk_mn.hpp | 99 + ...i8_bf16_mk_nk_mn_comp_default_instance.cpp | 32 + ...8_bf16_mk_nk_mn_comp_kpadding_instance.cpp | 32 + ..._bf16_mk_nk_mn_mem_v1_default_instance.cpp | 33 + ...bf16_mk_nk_mn_mem_v1_kpadding_instance.cpp | 33 + ..._bf16_mk_nk_mn_mem_v2_default_instance.cpp | 33 + ...bf16_mk_nk_mn_mem_v2_kpadding_instance.cpp | 33 + ...ltiply_multiply_xdl_i8_i8_f16_mk_nk_mn.hpp | 120 + ..._i8_f16_mk_nk_mn_comp_default_instance.cpp | 32 + ...i8_f16_mk_nk_mn_comp_kpadding_instance.cpp | 32 + ...8_f16_mk_nk_mn_mem_v1_default_instance.cpp | 33 + ..._f16_mk_nk_mn_mem_v1_kpadding_instance.cpp | 33 + ...8_f16_mk_nk_mn_mem_v2_default_instance.cpp | 33 + ..._f16_mk_nk_mn_mem_v2_kpadding_instance.cpp | 33 + .../gemm_multiply_multiply_wp/CMakeLists.txt | 82 + ...ma16x16_mn_compute_default_instance_p1.cpp | 33 + ...ma16x16_mn_compute_default_instance_p2.cpp | 33 + ...ma16x16_mn_compute_default_instance_p3.cpp | 33 + ...ma16x16_mn_compute_default_instance_p4.cpp | 33 + ...ma16x16_mn_compute_default_instance_p5.cpp | 33 + ...ma16x16_mn_compute_default_instance_p6.cpp | 33 + ..._multiply_wp_xdl_f8_f8_bf16_mk_mfma_mn.hpp | 273 ++ ...mk_mfma_mn_compute_default_instance_p1.cpp | 33 + ...mk_mfma_mn_compute_default_instance_p2.cpp | 33 + ...f8_bf16_mk_mfma_mn_p1_default_instance.cpp | 34 + ...bf16_mk_mfma_mn_p1_default_instance_v2.cpp | 34 + ...f8_bf16_mk_mfma_mn_p2_default_instance.cpp | 34 + ...bf16_mk_mfma_mn_p2_default_instance_v2.cpp | 34 + ...f8_bf16_mk_mfma_mn_p3_default_instance.cpp | 34 + ...bf16_mk_mfma_mn_p3_default_instance_v2.cpp | 34 + ...f8_bf16_mk_mfma_mn_p4_default_instance.cpp | 34 + ...bf16_mk_mfma_mn_p4_default_instance_v2.cpp | 34 + ...f8_bf16_mk_mfma_mn_p5_default_instance.cpp | 34 + ...bf16_mk_mfma_mn_p5_default_instance_v2.cpp | 34 + ...ma16x16_mn_compute_default_instance_p1.cpp | 33 + ...ma16x16_mn_compute_default_instance_p2.cpp | 33 + ...ma16x16_mn_compute_default_instance_p3.cpp | 33 + ...ma16x16_mn_compute_default_instance_p4.cpp | 33 + ...ma16x16_mn_compute_default_instance_p5.cpp | 33 + ...ma16x16_mn_compute_default_instance_p6.cpp | 33 + ...y_multiply_wp_xdl_f8_f8_f16_mk_mfma_mn.hpp | 269 ++ ...mk_mfma_mn_compute_default_instance_p1.cpp | 33 + ...mk_mfma_mn_compute_default_instance_p2.cpp | 33 + ..._f8_f16_mk_mfma_mn_p1_default_instance.cpp | 34 + ..._f16_mk_mfma_mn_p1_default_instance_v2.cpp | 34 + ..._f8_f16_mk_mfma_mn_p2_default_instance.cpp | 34 + ..._f16_mk_mfma_mn_p2_default_instance_v2.cpp | 34 + ..._f8_f16_mk_mfma_mn_p3_default_instance.cpp | 34 + ..._f16_mk_mfma_mn_p3_default_instance_v2.cpp | 34 + ..._f8_f16_mk_mfma_mn_p4_default_instance.cpp | 34 + ..._f16_mk_mfma_mn_p4_default_instance_v2.cpp | 34 + ..._f8_f16_mk_mfma_mn_p5_default_instance.cpp | 34 + ..._f16_mk_mfma_mn_p5_default_instance_v2.cpp | 34 + .../gpu/gemm_mx/CMakeLists.txt | 14 + ...device_gemm_mx_xdl_f8_f8_bf16_mk_nk_mn.hpp | 63 + ...l_f8_f8_bf16_mk_nk_mn_default_instance.cpp | 32 + .../device_gemm_mx_xdl_f8_f8_f16_mk_nk_mn.hpp | 63 + ...dl_f8_f8_f16_mk_nk_mn_default_instance.cpp | 32 + .../gpu/gemm_reduce/CMakeLists.txt | 7 + ..._f16_f16_f16_f32_f32_km_kn_mn_instance.cpp | 80 + ..._f16_f16_f16_f32_f32_km_nk_mn_instance.cpp | 80 + ..._f16_f16_f16_f32_f32_mk_kn_mn_instance.cpp | 80 + ..._f16_f16_f16_f32_f32_mk_nk_mn_instance.cpp | 77 + .../gpu/gemm_splitk/CMakeLists.txt | 46 + ...f16_f16_f16_comp_fp8_km_kn_mn_instance.cpp | 62 + ...f16_f16_f16_comp_fp8_km_nk_mn_instance.cpp | 62 + ...f16_f16_f16_comp_fp8_mk_kn_mn_instance.cpp | 83 + ...f16_f16_f16_comp_fp8_mk_nk_mn_instance.cpp | 79 + ...l_splitk_f16_f16_f16_km_kn_mn_instance.cpp | 64 + ...l_splitk_f16_f16_f16_km_nk_mn_instance.cpp | 64 + ...plitk_f16_f16_f16_mk_kn_mn_v1_instance.cpp | 95 + ...f16_f16_mk_kn_mn_v1_interwave_instance.cpp | 81 + ..._kn_mn_v1_interwave_irregular_instance.cpp | 95 + ...f16_f16_mk_kn_mn_v1_irregular_instance.cpp | 96 + ...plitk_f16_f16_f16_mk_kn_mn_v2_instance.cpp | 79 + ...f16_f16_mk_kn_mn_v2_irregular_instance.cpp | 95 + ...plitk_f16_f16_f16_mk_nk_mn_v1_instance.cpp | 90 + ...f16_f16_mk_nk_mn_v1_interwave_instance.cpp | 76 + ..._nk_mn_v1_interwave_irregular_instance.cpp | 95 + ...f16_f16_mk_nk_mn_v1_irregular_instance.cpp | 95 + ...plitk_f16_f16_f16_mk_nk_mn_v2_instance.cpp | 76 + ...f16_f16_mk_nk_mn_v2_irregular_instance.cpp | 95 + ...l_splitk_f16_fp8_f16_km_kn_mn_instance.cpp | 62 + ...l_splitk_f16_fp8_f16_km_nk_mn_instance.cpp | 62 + ...16_fp8_f16_mk_kn_mn_irregular_instance.cpp | 61 + ...plitk_f16_fp8_f16_mk_kn_mn_v1_instance.cpp | 96 + ...fp8_f16_mk_kn_mn_v1_interwave_instance.cpp | 82 + ...plitk_f16_fp8_f16_mk_kn_mn_v2_instance.cpp | 80 + ...k_f16_fp8_f16_mk_nk_mn_kpb128_instance.cpp | 147 + ...plitk_f16_fp8_f16_mk_nk_mn_v1_instance.cpp | 91 + ...fp8_f16_mk_nk_mn_v1_interwave_instance.cpp | 77 + ...plitk_f16_fp8_f16_mk_nk_mn_v2_instance.cpp | 77 + ...l_splitk_f32_f32_f32_km_kn_mn_instance.cpp | 64 + ...l_splitk_f32_f32_f32_km_nk_mn_instance.cpp | 64 + ...l_splitk_f32_f32_f32_mk_kn_mn_instance.cpp | 61 + ...l_splitk_f32_f32_f32_mk_nk_mn_instance.cpp | 66 + ...l_splitk_fp8_f16_f16_km_kn_mn_instance.cpp | 62 + ...l_splitk_fp8_f16_f16_km_nk_mn_instance.cpp | 62 + ...plitk_fp8_f16_f16_mk_kn_mn_v1_instance.cpp | 95 + ...f16_f16_mk_kn_mn_v1_interwave_instance.cpp | 81 + ...plitk_fp8_f16_f16_mk_kn_mn_v2_instance.cpp | 79 + ...l_splitk_fp8_f16_f16_mk_nk_mn_instance.cpp | 67 + ...ect_load_f16_f16_f16_mk_nk_mn_instance.cpp | 79 + .../gpu/gemm_streamk/CMakeLists.txt | 11 + ..._streamk_f16_f16_f16_mk_kn_mn_instance.cpp | 83 + .../gpu/gemm_universal/CMakeLists.txt | 184 ++ ...wmma_universal_bf16_bf16_bf16_km_kn_mn.hpp | 64 + ...16_bf16_km_kn_mn_comp_default_instance.cpp | 25 + ...wmma_universal_bf16_bf16_bf16_km_nk_mn.hpp | 64 + ...16_bf16_km_nk_mn_comp_default_instance.cpp | 25 + ...wmma_universal_bf16_bf16_bf16_mk_kn_mn.hpp | 67 + ...16_bf16_mk_kn_mn_comp_default_instance.cpp | 25 + ...wmma_universal_bf16_bf16_bf16_mk_nk_mn.hpp | 64 + ...16_bf16_mk_nk_mn_comp_default_instance.cpp | 25 + ...mm_wmma_universal_f16_f16_f16_km_kn_mn.hpp | 64 + ...f16_f16_km_kn_mn_comp_default_instance.cpp | 24 + ...mm_wmma_universal_f16_f16_f16_km_nk_mn.hpp | 64 + ...f16_f16_km_nk_mn_comp_default_instance.cpp | 24 + ...mm_wmma_universal_f16_f16_f16_mk_kn_mn.hpp | 67 + ...f16_f16_mk_kn_mn_comp_default_instance.cpp | 24 + ...mm_wmma_universal_f16_f16_f16_mk_nk_mn.hpp | 64 + ...f16_f16_mk_nk_mn_comp_default_instance.cpp | 24 + ...emm_wmma_universal_f8_f8_bf16_mk_kn_mn.hpp | 51 + ...f8_bf16_mk_kn_mn_comp_default_instance.cpp | 27 + ...emm_wmma_universal_f8_f8_bf16_mk_nk_mn.hpp | 51 + ...f8_bf16_mk_nk_mn_comp_default_instance.cpp | 27 + ..._xdl_universal_bf16_bf16_bf16_km_kn_mn.hpp | 89 + ...16_bf16_km_kn_mn_comp_default_instance.cpp | 23 + ...6_bf16_km_kn_mn_comp_kpadding_instance.cpp | 24 + ...bf16_km_kn_mn_comp_mnkpadding_instance.cpp | 24 + ..._bf16_km_kn_mn_comp_mnpadding_instance.cpp | 24 + ..._bf16_km_kn_mn_mem_v1_default_instance.cpp | 24 + ...bf16_km_kn_mn_mem_v1_kpadding_instance.cpp | 24 + ...16_km_kn_mn_mem_v1_mnkpadding_instance.cpp | 25 + ..._bf16_km_kn_mn_mem_v2_default_instance.cpp | 24 + ...bf16_km_kn_mn_mem_v2_kpadding_instance.cpp | 24 + ...16_km_kn_mn_mem_v2_mnkpadding_instance.cpp | 25 + ..._xdl_universal_bf16_bf16_bf16_km_nk_mn.hpp | 107 + ...16_bf16_km_nk_mn_comp_default_instance.cpp | 31 + ...6_bf16_km_nk_mn_comp_kpadding_instance.cpp | 32 + ..._bf16_km_nk_mn_comp_mkpadding_instance.cpp | 33 + ...6_bf16_km_nk_mn_comp_mpadding_instance.cpp | 32 + ..._bf16_km_nk_mn_mem_v1_default_instance.cpp | 33 + ...bf16_km_nk_mn_mem_v1_kpadding_instance.cpp | 33 + ...f16_km_nk_mn_mem_v1_mkpadding_instance.cpp | 34 + ..._bf16_km_nk_mn_mem_v2_default_instance.cpp | 33 + ...bf16_km_nk_mn_mem_v2_kpadding_instance.cpp | 33 + ...f16_km_nk_mn_mem_v2_mkpadding_instance.cpp | 34 + ..._xdl_universal_bf16_bf16_bf16_mk_kn_mn.hpp | 99 + ...16_bf16_mk_kn_mn_comp_default_instance.cpp | 31 + ...6_bf16_mk_kn_mn_comp_kpadding_instance.cpp | 32 + ...bf16_mk_kn_mn_comp_mnkpadding_instance.cpp | 33 + ..._bf16_mk_kn_mn_comp_mnpadding_instance.cpp | 33 + ..._bf16_mk_kn_mn_mem_v1_default_instance.cpp | 33 + ...bf16_mk_kn_mn_mem_v1_kpadding_instance.cpp | 33 + ...16_mk_kn_mn_mem_v1_mnkpadding_instance.cpp | 35 + ..._bf16_mk_kn_mn_mem_v2_default_instance.cpp | 33 + ...bf16_mk_kn_mn_mem_v2_kpadding_instance.cpp | 33 + ...16_mk_kn_mn_mem_v2_mnkpadding_instance.cpp | 35 + ..._xdl_universal_bf16_bf16_bf16_mk_nk_mn.hpp | 105 + ...16_bf16_mk_nk_mn_comp_default_instance.cpp | 31 + ...6_bf16_mk_nk_mn_comp_kpadding_instance.cpp | 32 + ..._bf16_mk_nk_mn_mem_v1_default_instance.cpp | 33 + ...bf16_mk_nk_mn_mem_v1_kpadding_instance.cpp | 33 + ..._bf16_mk_nk_mn_mem_v2_default_instance.cpp | 33 + ...bf16_mk_nk_mn_mem_v2_kpadding_instance.cpp | 33 + ...mm_xdl_universal_bf16_i4_bf16_mk_nk_mn.hpp | 87 + ..._bf16_mk_nk_mn_mem_v2_default_instance.cpp | 24 + ...emm_xdl_universal_f16_f16_f16_mk_kn_mn.hpp | 101 + ...f16_f16_mk_kn_mn_comp_default_instance.cpp | 31 + ...16_f16_mk_kn_mn_comp_kpadding_instance.cpp | 31 + ..._f16_mk_kn_mn_comp_mnkpadding_instance.cpp | 31 + ...6_f16_mk_kn_mn_comp_mnpadding_instance.cpp | 31 + ...6_f16_mk_kn_mn_mem_v1_default_instance.cpp | 24 + ..._f16_mk_kn_mn_mem_v1_kpadding_instance.cpp | 24 + ...16_mk_kn_mn_mem_v1_mnkpadding_instance.cpp | 24 + ...6_f16_mk_kn_mn_mem_v2_default_instance.cpp | 24 + ..._f16_mk_kn_mn_mem_v2_kpadding_instance.cpp | 24 + ...16_mk_kn_mn_mem_v2_mnkpadding_instance.cpp | 24 + ...emm_xdl_universal_f16_f16_f16_mk_nk_mn.hpp | 126 + ...f16_f16_mk_nk_mn_comp_default_instance.cpp | 31 + ...16_f16_mk_nk_mn_comp_kpadding_instance.cpp | 31 + ...6_f16_mk_nk_mn_mem_v1_default_instance.cpp | 33 + ..._f16_mk_nk_mn_mem_v1_kpadding_instance.cpp | 33 + ...6_f16_mk_nk_mn_mem_v2_default_instance.cpp | 33 + ..._f16_mk_nk_mn_mem_v2_kpadding_instance.cpp | 33 + ...gemm_xdl_universal_f16_f8_f16_mk_kn_mn.hpp | 85 + ..._f8_f16_mk_kn_mn_comp_default_instance.cpp | 31 + ...f8_f16_mk_kn_mn_comp_kpadding_instance.cpp | 31 + ..._f16_mk_kn_mn_comp_mnkpadding_instance.cpp | 31 + ...8_f16_mk_kn_mn_comp_mnpadding_instance.cpp | 31 + ...8_f16_mk_kn_mn_mem_v1_default_instance.cpp | 24 + ..._f16_mk_kn_mn_mem_v1_kpadding_instance.cpp | 24 + ...16_mk_kn_mn_mem_v1_mnkpadding_instance.cpp | 24 + ...8_f16_mk_kn_mn_mem_v2_default_instance.cpp | 24 + ..._f16_mk_kn_mn_mem_v2_kpadding_instance.cpp | 24 + ...16_mk_kn_mn_mem_v2_mnkpadding_instance.cpp | 27 + ...gemm_xdl_universal_f16_f8_f16_mk_nk_mn.hpp | 90 + ..._f8_f16_mk_nk_mn_comp_default_instance.cpp | 31 + ...f8_f16_mk_nk_mn_comp_kpadding_instance.cpp | 31 + ...8_f16_mk_nk_mn_mem_v1_default_instance.cpp | 24 + ..._f16_mk_nk_mn_mem_v1_kpadding_instance.cpp | 24 + ...8_f16_mk_nk_mn_mem_v2_default_instance.cpp | 24 + ..._f16_mk_nk_mn_mem_v2_kpadding_instance.cpp | 24 + ...gemm_xdl_universal_f16_i4_f16_mk_nk_mn.hpp | 86 + ...4_f16_mk_nk_mn_mem_v2_default_instance.cpp | 24 + ...gemm_xdl_universal_f8_f16_f16_mk_kn_mn.hpp | 81 + ...f16_f16_mk_kn_mn_comp_default_instance.cpp | 23 + ...16_f16_mk_kn_mn_comp_kpadding_instance.cpp | 23 + ..._f16_mk_kn_mn_comp_mnkpadding_instance.cpp | 23 + ...6_f16_mk_kn_mn_comp_mnpadding_instance.cpp | 23 + ...6_f16_mk_kn_mn_mem_v1_default_instance.cpp | 24 + ..._f16_mk_kn_mn_mem_v1_kpadding_instance.cpp | 24 + ...16_mk_kn_mn_mem_v1_mnkpadding_instance.cpp | 24 + ...6_f16_mk_kn_mn_mem_v2_default_instance.cpp | 24 + ..._f16_mk_kn_mn_mem_v2_kpadding_instance.cpp | 24 + ...16_mk_kn_mn_mem_v2_mnkpadding_instance.cpp | 27 + ...gemm_xdl_universal_f8_f16_f16_mk_nk_mn.hpp | 86 + ...f16_f16_mk_nk_mn_comp_default_instance.cpp | 23 + ...16_f16_mk_nk_mn_comp_kpadding_instance.cpp | 23 + ...6_f16_mk_nk_mn_mem_v1_default_instance.cpp | 24 + ..._f16_mk_nk_mn_mem_v1_kpadding_instance.cpp | 24 + ...6_f16_mk_nk_mn_mem_v2_default_instance.cpp | 24 + ..._f16_mk_nk_mn_mem_v2_kpadding_instance.cpp | 24 + ...gemm_xdl_universal_f8_f8_bf16_mk_kn_mn.hpp | 113 + ...f8_bf16_mk_kn_mn_comp_default_instance.cpp | 31 + ...8_bf16_mk_kn_mn_comp_kpadding_instance.cpp | 31 + ..._bf16_mk_kn_mn_comp_nkpadding_instance.cpp | 31 + ..._bf16_mk_kn_mn_mem_v1_default_instance.cpp | 24 + ...bf16_mk_kn_mn_mem_v1_kpadding_instance.cpp | 24 + ...f16_mk_kn_mn_mem_v1_nkpadding_instance.cpp | 24 + ..._bf16_mk_kn_mn_mem_v2_default_instance.cpp | 24 + ...bf16_mk_kn_mn_mem_v2_kpadding_instance.cpp | 24 + ...f16_mk_kn_mn_mem_v2_nkpadding_instance.cpp | 24 + ...gemm_xdl_universal_f8_f8_bf16_mk_nk_mn.hpp | 121 + ...f8_bf16_mk_nk_mn_comp_default_instance.cpp | 31 + ...8_bf16_mk_nk_mn_comp_kpadding_instance.cpp | 31 + ..._bf16_mk_nk_mn_mem_v1_default_instance.cpp | 24 + ...bf16_mk_nk_mn_mem_v1_kpadding_instance.cpp | 24 + ..._bf16_mk_nk_mn_mem_v2_default_instance.cpp | 24 + ...bf16_mk_nk_mn_mem_v2_kpadding_instance.cpp | 24 + .../gpu/gemm_universal_batched/CMakeLists.txt | 19 + ..._xdl_universal_bf16_bf16_bf16_mk_nk_mn.hpp | 106 + ...16_bf16_mk_nk_mn_comp_default_instance.cpp | 41 + ..._bf16_mk_nk_mn_mem_v1_default_instance.cpp | 33 + ..._bf16_mk_nk_mn_mem_v2_default_instance.cpp | 33 + ...gemm_xdl_universal_f8_f8_bf16_mk_nk_mn.hpp | 111 + ...f8_bf16_mk_nk_mn_comp_default_instance.cpp | 32 + ..._bf16_mk_nk_mn_mem_v1_default_instance.cpp | 33 + ..._bf16_mk_nk_mn_mem_v2_default_instance.cpp | 33 + .../gpu/gemm_universal_reduce/CMakeLists.txt | 33 + ..._xdl_universal_bf16_bf16_bf16_mk_kn_mn.hpp | 105 + ...16_bf16_mk_kn_mn_comp_default_instance.cpp | 41 + ...6_bf16_mk_kn_mn_comp_kpadding_instance.cpp | 41 + ...bf16_mk_kn_mn_comp_mnkpadding_instance.cpp | 41 + ..._bf16_mk_kn_mn_comp_mnpadding_instance.cpp | 41 + ..._bf16_mk_kn_mn_mem_v2_default_instance.cpp | 33 + ...bf16_mk_kn_mn_mem_v2_kpadding_instance.cpp | 33 + ...16_mk_kn_mn_mem_v2_mnkpadding_instance.cpp | 33 + ...mm_xdl_universal_bf16_i8_bf16_mk_kn_mn.hpp | 99 + ...i8_bf16_mk_kn_mn_comp_default_instance.cpp | 41 + ...8_bf16_mk_kn_mn_comp_kpadding_instance.cpp | 41 + ...bf16_mk_kn_mn_comp_mnkpadding_instance.cpp | 41 + ..._bf16_mk_kn_mn_comp_mnpadding_instance.cpp | 41 + ..._bf16_mk_kn_mn_mem_v2_default_instance.cpp | 33 + ...bf16_mk_kn_mn_mem_v2_kpadding_instance.cpp | 33 + ...16_mk_kn_mn_mem_v2_mnkpadding_instance.cpp | 36 + ...emm_xdl_universal_f16_f16_f16_mk_kn_mn.hpp | 105 + ...f16_f16_mk_kn_mn_comp_default_instance.cpp | 41 + ...16_f16_mk_kn_mn_comp_kpadding_instance.cpp | 41 + ..._f16_mk_kn_mn_comp_mnkpadding_instance.cpp | 41 + ...6_f16_mk_kn_mn_comp_mnpadding_instance.cpp | 41 + ...6_f16_mk_kn_mn_mem_v1_default_instance.cpp | 33 + ..._f16_mk_kn_mn_mem_v1_kpadding_instance.cpp | 33 + ...16_mk_kn_mn_mem_v1_mnkpadding_instance.cpp | 33 + ...6_f16_mk_kn_mn_mem_v2_default_instance.cpp | 33 + ..._f16_mk_kn_mn_mem_v2_kpadding_instance.cpp | 33 + ...16_mk_kn_mn_mem_v2_mnkpadding_instance.cpp | 33 + .../gpu/gemm_universal_streamk/CMakeLists.txt | 117 + ...versal_streamk_bf16_bf16_bf16_km_kn_mn.hpp | 91 + ...16_bf16_km_kn_mn_comp_default_instance.cpp | 30 + ...6_bf16_km_kn_mn_comp_kpadding_instance.cpp | 30 + ...bf16_km_kn_mn_comp_mnkpadding_instance.cpp | 30 + ..._bf16_km_kn_mn_comp_mnpadding_instance.cpp | 30 + ..._bf16_km_kn_mn_mem_v1_default_instance.cpp | 31 + ...bf16_km_kn_mn_mem_v1_kpadding_instance.cpp | 31 + ...16_km_kn_mn_mem_v1_mnkpadding_instance.cpp | 31 + ..._bf16_km_kn_mn_mem_v2_default_instance.cpp | 31 + ...bf16_km_kn_mn_mem_v2_kpadding_instance.cpp | 31 + ...16_km_kn_mn_mem_v2_mnkpadding_instance.cpp | 31 + ...versal_streamk_bf16_bf16_bf16_km_nk_mn.hpp | 97 + ...16_bf16_km_nk_mn_comp_default_instance.cpp | 30 + ...6_bf16_km_nk_mn_comp_kpadding_instance.cpp | 30 + ..._bf16_km_nk_mn_comp_mkpadding_instance.cpp | 30 + ...6_bf16_km_nk_mn_comp_mpadding_instance.cpp | 30 + ..._bf16_km_nk_mn_mem_v1_default_instance.cpp | 31 + ...bf16_km_nk_mn_mem_v1_kpadding_instance.cpp | 31 + ...f16_km_nk_mn_mem_v1_mkpadding_instance.cpp | 31 + ..._bf16_km_nk_mn_mem_v2_default_instance.cpp | 31 + ...bf16_km_nk_mn_mem_v2_kpadding_instance.cpp | 31 + ...f16_km_nk_mn_mem_v2_mkpadding_instance.cpp | 31 + ...versal_streamk_bf16_bf16_bf16_mk_kn_mn.hpp | 95 + ...16_bf16_mk_kn_mn_comp_default_instance.cpp | 39 + ...6_bf16_mk_kn_mn_comp_kpadding_instance.cpp | 39 + ...bf16_mk_kn_mn_comp_mnkpadding_instance.cpp | 39 + ..._bf16_mk_kn_mn_comp_mnpadding_instance.cpp | 39 + ..._bf16_mk_kn_mn_mem_v1_default_instance.cpp | 31 + ...bf16_mk_kn_mn_mem_v1_kpadding_instance.cpp | 31 + ...16_mk_kn_mn_mem_v1_mnkpadding_instance.cpp | 31 + ..._bf16_mk_kn_mn_mem_v2_default_instance.cpp | 31 + ...bf16_mk_kn_mn_mem_v2_kpadding_instance.cpp | 31 + ...16_mk_kn_mn_mem_v2_mnkpadding_instance.cpp | 31 + ...versal_streamk_bf16_bf16_bf16_mk_nk_mn.hpp | 107 + ...16_bf16_mk_nk_mn_comp_default_instance.cpp | 39 + ...6_bf16_mk_nk_mn_comp_kpadding_instance.cpp | 39 + ...bf16_mk_nk_mn_comp_mnkpadding_instance.cpp | 31 + ..._bf16_mk_nk_mn_comp_mnpadding_instance.cpp | 30 + ..._bf16_mk_nk_mn_mem_v1_default_instance.cpp | 31 + ...bf16_mk_nk_mn_mem_v1_kpadding_instance.cpp | 31 + ...16_mk_nk_mn_mem_v1_mnkpadding_instance.cpp | 31 + ..._bf16_mk_nk_mn_mem_v2_default_instance.cpp | 31 + ...bf16_mk_nk_mn_mem_v2_kpadding_instance.cpp | 31 + ...16_mk_nk_mn_mem_v2_mnkpadding_instance.cpp | 31 + ...universal_streamk_f16_f16_f16_mk_kn_mn.hpp | 102 + ...f16_f16_mk_kn_mn_comp_default_instance.cpp | 30 + ...16_f16_mk_kn_mn_comp_kpadding_instance.cpp | 30 + ..._f16_mk_kn_mn_comp_mnkpadding_instance.cpp | 30 + ...6_f16_mk_kn_mn_comp_mnpadding_instance.cpp | 30 + ...6_f16_mk_kn_mn_mem_v1_default_instance.cpp | 31 + ..._f16_mk_kn_mn_mem_v1_kpadding_instance.cpp | 31 + ...16_mk_kn_mn_mem_v1_mnkpadding_instance.cpp | 31 + ...6_f16_mk_kn_mn_mem_v2_default_instance.cpp | 31 + ..._f16_mk_kn_mn_mem_v2_kpadding_instance.cpp | 31 + ...16_mk_kn_mn_mem_v2_mnkpadding_instance.cpp | 31 + ...universal_streamk_f16_f16_f16_mk_nk_mn.hpp | 121 + ...f16_f16_mk_nk_mn_comp_default_instance.cpp | 39 + ...16_f16_mk_nk_mn_comp_kpadding_instance.cpp | 39 + ..._f16_mk_nk_mn_comp_mnkpadding_instance.cpp | 39 + ...6_f16_mk_nk_mn_comp_mnpadding_instance.cpp | 39 + ...6_f16_mk_nk_mn_mem_v1_default_instance.cpp | 31 + ..._f16_mk_nk_mn_mem_v1_kpadding_instance.cpp | 31 + ...16_mk_nk_mn_mem_v1_mnkpadding_instance.cpp | 31 + ...6_f16_mk_nk_mn_mem_v2_default_instance.cpp | 31 + ..._f16_mk_nk_mn_mem_v2_kpadding_instance.cpp | 31 + ...16_mk_nk_mn_mem_v2_mnkpadding_instance.cpp | 31 + ..._universal_streamk_f16_f8_f16_mk_kn_mn.hpp | 84 + ..._f8_f16_mk_kn_mn_comp_default_instance.cpp | 24 + ...f8_f16_mk_kn_mn_comp_kpadding_instance.cpp | 24 + ..._f16_mk_kn_mn_comp_mnkpadding_instance.cpp | 24 + ...8_f16_mk_kn_mn_comp_mnpadding_instance.cpp | 24 + ...8_f16_mk_kn_mn_mem_v1_default_instance.cpp | 25 + ..._f16_mk_kn_mn_mem_v1_kpadding_instance.cpp | 25 + ...16_mk_kn_mn_mem_v1_mnkpadding_instance.cpp | 25 + ...8_f16_mk_kn_mn_mem_v2_default_instance.cpp | 25 + ..._f16_mk_kn_mn_mem_v2_kpadding_instance.cpp | 25 + ...16_mk_kn_mn_mem_v2_mnkpadding_instance.cpp | 25 + ..._universal_streamk_f16_f8_f16_mk_nk_mn.hpp | 90 + ..._f8_f16_mk_nk_mn_comp_default_instance.cpp | 24 + ...f8_f16_mk_nk_mn_comp_kpadding_instance.cpp | 24 + ..._f16_mk_nk_mn_comp_mnkpadding_instance.cpp | 24 + ...8_f16_mk_nk_mn_comp_mnpadding_instance.cpp | 24 + ...8_f16_mk_nk_mn_mem_v1_default_instance.cpp | 25 + ..._f16_mk_nk_mn_mem_v1_kpadding_instance.cpp | 25 + ...16_mk_nk_mn_mem_v1_mnkpadding_instance.cpp | 25 + ...8_f16_mk_nk_mn_mem_v2_default_instance.cpp | 25 + ..._f16_mk_nk_mn_mem_v2_kpadding_instance.cpp | 25 + ...16_mk_nk_mn_mem_v2_mnkpadding_instance.cpp | 25 + ..._universal_streamk_f8_f16_f16_mk_kn_mn.hpp | 85 + ...f16_f16_mk_kn_mn_comp_default_instance.cpp | 24 + ...16_f16_mk_kn_mn_comp_kpadding_instance.cpp | 24 + ..._f16_mk_kn_mn_comp_mnkpadding_instance.cpp | 24 + ...6_f16_mk_kn_mn_comp_mnpadding_instance.cpp | 24 + ...6_f16_mk_kn_mn_mem_v1_default_instance.cpp | 25 + ..._f16_mk_kn_mn_mem_v1_kpadding_instance.cpp | 25 + ...16_mk_kn_mn_mem_v1_mnkpadding_instance.cpp | 25 + ...6_f16_mk_kn_mn_mem_v2_default_instance.cpp | 25 + ..._f16_mk_kn_mn_mem_v2_kpadding_instance.cpp | 25 + ...16_mk_kn_mn_mem_v2_mnkpadding_instance.cpp | 25 + ..._universal_streamk_f8_f16_f16_mk_nk_mn.hpp | 90 + ...f16_f16_mk_nk_mn_comp_default_instance.cpp | 24 + ...16_f16_mk_nk_mn_comp_kpadding_instance.cpp | 24 + ..._f16_mk_nk_mn_comp_mnkpadding_instance.cpp | 24 + ...6_f16_mk_nk_mn_comp_mnpadding_instance.cpp | 24 + ...6_f16_mk_nk_mn_mem_v1_default_instance.cpp | 25 + ..._f16_mk_nk_mn_mem_v1_kpadding_instance.cpp | 25 + ...16_mk_nk_mn_mem_v1_mnkpadding_instance.cpp | 25 + ...6_f16_mk_nk_mn_mem_v2_default_instance.cpp | 25 + ..._f16_mk_nk_mn_mem_v2_kpadding_instance.cpp | 25 + ...16_mk_nk_mn_mem_v2_mnkpadding_instance.cpp | 25 + ..._universal_streamk_f8_f8_bf16_mk_kn_mn.hpp | 99 + ...f8_bf16_mk_kn_mn_comp_default_instance.cpp | 24 + ...8_bf16_mk_kn_mn_comp_kpadding_instance.cpp | 24 + ..._bf16_mk_kn_mn_comp_nkpadding_instance.cpp | 24 + ..._bf16_mk_kn_mn_mem_v1_default_instance.cpp | 25 + ...bf16_mk_kn_mn_mem_v1_kpadding_instance.cpp | 25 + ...f16_mk_kn_mn_mem_v1_nkpadding_instance.cpp | 25 + ..._bf16_mk_kn_mn_mem_v2_default_instance.cpp | 25 + ...bf16_mk_kn_mn_mem_v2_kpadding_instance.cpp | 25 + ...f16_mk_kn_mn_mem_v2_nkpadding_instance.cpp | 25 + ..._universal_streamk_f8_f8_bf16_mk_nk_mn.hpp | 107 + ...f8_bf16_mk_nk_mn_comp_default_instance.cpp | 24 + ...8_bf16_mk_nk_mn_comp_kpadding_instance.cpp | 24 + ..._bf16_mk_nk_mn_mem_v1_default_instance.cpp | 25 + ...bf16_mk_nk_mn_mem_v1_kpadding_instance.cpp | 25 + ..._bf16_mk_nk_mn_mem_v2_default_instance.cpp | 25 + ...bf16_mk_nk_mn_mem_v2_kpadding_instance.cpp | 25 + .../grouped_conv1d_bwd_weight/CMakeLists.txt | 17 + ..._gnwc_gkxc_gnwk_bf16_f32_bf16_instance.cpp | 45 + ..._weight_dl_gnwc_gkxc_gnwk_f16_instance.cpp | 45 + ..._weight_dl_gnwc_gkxc_gnwk_f32_instance.cpp | 45 + ..._nwgc_gkxc_nwgk_bf16_f32_bf16_instance.cpp | 45 + ..._weight_dl_nwgc_gkxc_nwgk_f16_instance.cpp | 45 + ..._weight_dl_nwgc_gkxc_nwgk_f32_instance.cpp | 45 + ..._gnwc_gkxc_gnwk_bf16_f32_bf16_instance.cpp | 47 + ...weight_xdl_gnwc_gkxc_gnwk_f16_instance.cpp | 45 + ...weight_xdl_gnwc_gkxc_gnwk_f32_instance.cpp | 45 + .../gpu/grouped_conv1d_fwd/CMakeLists.txt | 7 + ...d_fwd_xdl_gnwc_gkxc_gnwk_bf16_instance.cpp | 52 + ...1d_fwd_xdl_gnwc_gkxc_gnwk_f16_instance.cpp | 52 + ...1d_fwd_xdl_gnwc_gkxc_gnwk_f32_instance.cpp | 52 + ...d_fwd_xdl_gnwc_gkxc_gnwk_int8_instance.cpp | 52 + .../grouped_conv2d_bwd_data/CMakeLists.txt | 34 + ...gnhwc_gkyxc_gnhwk_f16_1x1s1p0_instance.cpp | 40 + ...ta_wmma_gnhwc_gkyxc_gnhwk_f16_instance.cpp | 40 + ..._gnhwc_gkyxc_gnhwk_i8_1x1s1p0_instance.cpp | 40 + ...ata_wmma_gnhwc_gkyxc_gnhwk_i8_instance.cpp | 40 + ...nhwgc_gkyxc_nhwgk_f16_1x1s1p0_instance.cpp | 40 + ...ta_wmma_nhwgc_gkyxc_nhwgk_f16_instance.cpp | 40 + ..._nhwgc_gkyxc_nhwgk_i8_1x1s1p0_instance.cpp | 40 + ...ata_wmma_nhwgc_gkyxc_nhwgk_i8_instance.cpp | 40 + ...ta_xdl_gnhwc_gkyxc_gnhwk_bf16_instance.cpp | 49 + ...ata_xdl_gnhwc_gkyxc_gnhwk_f16_instance.cpp | 49 + ...ata_xdl_gnhwc_gkyxc_gnhwk_f32_instance.cpp | 49 + ..._ngchw_gkcyx_ngkhw_bf16_16_16_instance.cpp | 40 + ...ta_xdl_ngchw_gkcyx_ngkhw_bf16_instance.cpp | 40 + ...kcyx_ngkhw_bf16_vec_transpose_instance.cpp | 40 + ...l_ngchw_gkcyx_ngkhw_f16_16_16_instance.cpp | 40 + ...ata_xdl_ngchw_gkcyx_ngkhw_f16_instance.cpp | 40 + ...gkcyx_ngkhw_f16_vec_transpose_instance.cpp | 40 + ...l_ngchw_gkcyx_ngkhw_f32_16_16_instance.cpp | 40 + ...ata_xdl_ngchw_gkcyx_ngkhw_f32_instance.cpp | 40 + ...gkcyx_ngkhw_f32_vec_transpose_instance.cpp | 40 + ...ta_xdl_ngchw_gkyxc_ngkhw_bf16_instance.cpp | 40 + ...ata_xdl_ngchw_gkyxc_ngkhw_f16_instance.cpp | 40 + ...ata_xdl_ngchw_gkyxc_ngkhw_f32_instance.cpp | 40 + ..._nhwgc_gkyxc_nhwgk_bf16_16_16_instance.cpp | 49 + ...ta_xdl_nhwgc_gkyxc_nhwgk_bf16_instance.cpp | 49 + ...l_nhwgc_gkyxc_nhwgk_f16_16_16_instance.cpp | 49 + ...ata_xdl_nhwgc_gkyxc_nhwgk_f16_instance.cpp | 49 + ...l_nhwgc_gkyxc_nhwgk_f32_16_16_instance.cpp | 49 + ...ata_xdl_nhwgc_gkyxc_nhwgk_f32_instance.cpp | 49 + .../grouped_conv2d_bwd_weight/CMakeLists.txt | 63 + ...hwc_gkyxc_gnhwk_bf16_f32_bf16_instance.cpp | 46 + ...ight_dl_gnhwc_gkyxc_gnhwk_f16_instance.cpp | 46 + ...ight_dl_gnhwc_gkyxc_gnhwk_f32_instance.cpp | 46 + ...wgc_gkyxc_nhwgk_bf16_f32_bf16_instance.cpp | 46 + ...ight_dl_nhwgc_gkyxc_nhwgk_f16_instance.cpp | 46 + ...ight_dl_nhwgc_gkyxc_nhwgk_f32_instance.cpp | 46 + ...hwc_gkyxc_gnhwk_bf16_f32_bf16_instance.cpp | 48 + ...kyxc_gnhwk_f16_default_pipev1_instance.cpp | 38 + ...ght_xdl_gnhwc_gkyxc_gnhwk_f16_instance.cpp | 47 + ...c_gkyxc_gnhwk_f16_pad0_pipev1_instance.cpp | 39 + ...kyxc_gnhwk_f32_default_pipev1_instance.cpp | 39 + ...ght_xdl_gnhwc_gkyxc_gnhwk_f32_instance.cpp | 47 + ...c_gkyxc_gnhwk_f32_pad0_pipev1_instance.cpp | 39 + ...ngchw_gkcyx_ngkhw_bf16_pipev1_instance.cpp | 41 + ...ngchw_gkcyx_ngkhw_bf16_pipev2_instance.cpp | 41 + ...ngchw_gkcyx_ngkhw_bf16_pipev5_instance.cpp | 41 + ..._ngchw_gkcyx_ngkhw_f16_pipev1_instance.cpp | 41 + ..._ngchw_gkcyx_ngkhw_f16_pipev2_instance.cpp | 41 + ..._ngchw_gkcyx_ngkhw_f16_pipev5_instance.cpp | 41 + ...ht_xdl_ngchw_gkcyx_ngkhw_bf16_instance.cpp | 49 + ...ght_xdl_ngchw_gkcyx_ngkhw_f16_instance.cpp | 49 + ...ght_xdl_ngchw_gkcyx_ngkhw_f32_instance.cpp | 49 + ...ngchw_gkyxc_ngkhw_bf16_pipev1_instance.cpp | 41 + ..._ngchw_gkyxc_ngkhw_f16_pipev1_instance.cpp | 41 + ...ght_xdl_ngchw_gkyxc_ngkhw_f32_instance.cpp | 38 + ...nhwgc_gkyxc_nhwgk_bf16_pipev1_instance.cpp | 41 + ...nhwgc_gkyxc_nhwgk_bf16_pipev2_instance.cpp | 41 + ...c_nhwgk_bf16_pipev2_irregular_instance.cpp | 41 + ...nhwgc_gkyxc_nhwgk_bf16_pipev5_instance.cpp | 41 + ...c_nhwgk_bf16_pipev5_irregular_instance.cpp | 41 + ..._nhwgc_gkyxc_nhwgk_f16_pipev1_instance.cpp | 41 + ..._nhwgc_gkyxc_nhwgk_f16_pipev2_instance.cpp | 41 + ...xc_nhwgk_f16_pipev2_irregular_instance.cpp | 41 + ..._nhwgc_gkyxc_nhwgk_f16_pipev5_instance.cpp | 41 + ...xc_nhwgk_f16_pipev5_irregular_instance.cpp | 41 + ...yxc_nhwgk_bf16_default_pipev2_instance.cpp | 39 + ...yxc_nhwgk_bf16_default_pipev5_instance.cpp | 39 + ...wgc_gkyxc_nhwgk_bf16_f32_bf16_instance.cpp | 48 + ...ht_xdl_nhwgc_gkyxc_nhwgk_bf16_instance.cpp | 46 + ..._gkyxc_nhwgk_bf16_pad0_pipev2_instance.cpp | 40 + ..._gkyxc_nhwgk_bf16_pad0_pipev5_instance.cpp | 40 + ...kyxc_nhwgk_f16_default_pipev2_instance.cpp | 40 + ...kyxc_nhwgk_f16_default_pipev5_instance.cpp | 40 + ...ght_xdl_nhwgc_gkyxc_nhwgk_f16_instance.cpp | 46 + ...c_gkyxc_nhwgk_f16_pad0_pipev2_instance.cpp | 39 + ...c_gkyxc_nhwgk_f16_pad0_pipev5_instance.cpp | 39 + ...kyxc_nhwgk_f32_default_pipev2_instance.cpp | 39 + ...kyxc_nhwgk_f32_default_pipev5_instance.cpp | 39 + ...ght_xdl_nhwgc_gkyxc_nhwgk_f32_instance.cpp | 46 + ...c_gkyxc_nhwgk_f32_pad0_pipev2_instance.cpp | 39 + ...c_gkyxc_nhwgk_f32_pad0_pipev5_instance.cpp | 39 + .../gpu/grouped_conv2d_fwd/CMakeLists.txt | 97 + ..._fwd_dl_gnhwc_gkyxc_gnhwk_f16_instance.cpp | 57 + ..._fwd_dl_gnhwc_gkyxc_gnhwk_f32_instance.cpp | 57 + ..._fwd_dl_nhwgc_gkyxc_nhwgk_f16_instance.cpp | 57 + ..._fwd_dl_nhwgc_gkyxc_nhwgk_f32_instance.cpp | 57 + ...a_gnhwc_gkyxc_gnhwk_f16_1x1p0_instance.cpp | 40 + ...gnhwc_gkyxc_gnhwk_f16_1x1s1p0_instance.cpp | 40 + ...wd_wmma_gnhwc_gkyxc_gnhwk_f16_instance.cpp | 40 + ...ma_gnhwc_gkyxc_gnhwk_i8_1x1p0_instance.cpp | 40 + ..._gnhwc_gkyxc_gnhwk_i8_1x1s1p0_instance.cpp | 40 + ...fwd_wmma_gnhwc_gkyxc_gnhwk_i8_instance.cpp | 40 + ...a_nhwgc_gkyxc_nhwgk_f16_1x1p0_instance.cpp | 40 + ...nhwgc_gkyxc_nhwgk_f16_1x1s1p0_instance.cpp | 40 + ...wd_wmma_nhwgc_gkyxc_nhwgk_f16_instance.cpp | 40 + ...ma_nhwgc_gkyxc_nhwgk_i8_1x1p0_instance.cpp | 40 + ..._nhwgc_gkyxc_nhwgk_i8_1x1s1p0_instance.cpp | 40 + ...fwd_wmma_nhwgc_gkyxc_nhwgk_i8_instance.cpp | 40 + ...gchw_gkcyx_ngkhw_bf16_comp_2x_instance.cpp | 43 + ...l_ngchw_gkcyx_ngkhw_bf16_comp_instance.cpp | 40 + ...w_gkcyx_ngkhw_bf16_comp_part2_instance.cpp | 45 + ...ngchw_gkcyx_ngkhw_f16_comp_2x_instance.cpp | 43 + ...dl_ngchw_gkcyx_ngkhw_f16_comp_instance.cpp | 40 + ...hw_gkcyx_ngkhw_f16_comp_part2_instance.cpp | 45 + ...dl_ngchw_gkcyx_ngkhw_f32_comp_instance.cpp | 39 + ...hwgc_gkyxc_nhwgk_bf16_comp_2x_instance.cpp | 61 + ...l_nhwgc_gkyxc_nhwgk_bf16_comp_instance.cpp | 57 + ...c_gkyxc_nhwgk_bf16_comp_part2_instance.cpp | 61 + ...nhwgc_gkyxc_nhwgk_f16_comp_2x_instance.cpp | 61 + ...dl_nhwgc_gkyxc_nhwgk_f16_comp_instance.cpp | 57 + ...gc_gkyxc_nhwgk_f16_comp_part2_instance.cpp | 61 + ...dl_nhwgc_gkyxc_nhwgk_f32_comp_instance.cpp | 56 + ...l_nhwgc_gkyxc_nhwgk_int8_comp_instance.cpp | 117 + ...wd_xdl_gnhwc_gkyxc_gnhwk_bf16_instance.cpp | 54 + ...fwd_xdl_gnhwc_gkyxc_gnhwk_f16_instance.cpp | 54 + ...fwd_xdl_gnhwc_gkyxc_gnhwk_f32_instance.cpp | 54 + ...wd_xdl_ngchw_gkcyx_ngkhw_bf16_instance.cpp | 38 + ...fwd_xdl_ngchw_gkcyx_ngkhw_f16_instance.cpp | 38 + ...fwd_xdl_ngchw_gkcyx_ngkhw_f32_instance.cpp | 38 + ...wd_xdl_ngchw_gkyxc_ngkhw_bf16_instance.cpp | 39 + ...fwd_xdl_ngchw_gkyxc_ngkhw_f16_instance.cpp | 39 + ...fwd_xdl_ngchw_gkyxc_ngkhw_f32_instance.cpp | 39 + ...wd_xdl_ngchw_gkyxc_ngkhw_int8_instance.cpp | 39 + ...wd_xdl_nhwgc_gkyxc_nhwgk_bf16_instance.cpp | 54 + ...fwd_xdl_nhwgc_gkyxc_nhwgk_f16_instance.cpp | 54 + ...fwd_xdl_nhwgc_gkyxc_nhwgk_f32_instance.cpp | 54 + ...wd_xdl_nhwgc_gkyxc_nhwgk_int8_instance.cpp | 54 + ...tensor_nhwgc_gkyxc_nhwgk_bf16_instance.cpp | 39 + ..._tensor_nhwgc_gkyxc_nhwgk_f16_instance.cpp | 39 + ..._tensor_nhwgc_gkyxc_nhwgk_f32_instance.cpp | 39 + ...tensor_nhwgc_gkyxc_nhwgk_int8_instance.cpp | 39 + ...hw_gkcyx_ngkhw_bf16_mem_inter_instance.cpp | 39 + ...hw_gkcyx_ngkhw_bf16_mem_intra_instance.cpp | 39 + ...chw_gkcyx_ngkhw_f16_mem_inter_instance.cpp | 39 + ...chw_gkcyx_ngkhw_f16_mem_intra_instance.cpp | 39 + ...chw_gkcyx_ngkhw_f32_mem_inter_instance.cpp | 39 + ...chw_gkcyx_ngkhw_f32_mem_intra_instance.cpp | 39 + ...gc_gkyxc_nhwgk_bf16_mem_inter_instance.cpp | 57 + ...gc_gkyxc_nhwgk_bf16_mem_intra_instance.cpp | 57 + ...wgc_gkyxc_nhwgk_f16_mem_inter_instance.cpp | 57 + ...wgc_gkyxc_nhwgk_f16_mem_intra_instance.cpp | 57 + ...wgc_gkyxc_nhwgk_f32_mem_inter_instance.cpp | 57 + ...wgc_gkyxc_nhwgk_f32_mem_intra_instance.cpp | 57 + ...gc_gkyxc_nhwgk_int8_mem_inter_instance.cpp | 57 + ...gc_gkyxc_nhwgk_int8_mem_intra_instance.cpp | 57 + ...groups_ngchw_gkcyx_ngkhw_bf16_instance.cpp | 48 + ..._groups_ngchw_gkcyx_ngkhw_f16_instance.cpp | 48 + ..._groups_ngchw_gkcyx_ngkhw_f32_instance.cpp | 48 + ...groups_nhwgc_gkyxc_nhwgk_bf16_instance.cpp | 72 + ..._groups_nhwgc_gkyxc_nhwgk_f16_instance.cpp | 72 + ..._groups_nhwgc_gkyxc_nhwgk_f32_instance.cpp | 48 + ...groups_nhwgc_gkyxc_nhwgk_int8_instance.cpp | 48 + .../CMakeLists.txt | 8 + ...mic_op_nhwgc_gkyxc_nhwgk_bf16_instance.cpp | 58 + ...amic_op_nhwgc_gkyxc_nhwgk_f16_instance.cpp | 58 + ...amic_op_nhwgc_gkyxc_nhwgk_f32_instance.cpp | 58 + ...mic_op_nhwgc_gkyxc_nhwgk_int8_instance.cpp | 57 + .../grouped_conv3d_bwd_data/CMakeLists.txt | 39 + ...hwc_gkzyxc_gndhwk_f16_1x1s1p0_instance.cpp | 40 + ...wmma_gndhwc_gkzyxc_gndhwk_f16_instance.cpp | 40 + ...dhwc_gkzyxc_gndhwk_i8_1x1s1p0_instance.cpp | 40 + ..._wmma_gndhwc_gkzyxc_gndhwk_i8_instance.cpp | 40 + ...wgc_gkzyxc_ndhwgk_f16_1x1s1p0_instance.cpp | 40 + ...wmma_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp | 40 + ...hwgc_gkzyxc_ndhwgk_i8_1x1s1p0_instance.cpp | 40 + ..._wmma_ndhwgc_gkzyxc_ndhwgk_i8_instance.cpp | 40 + ...xdl_gndhwc_gkzyxc_gndhwk_bf16_instance.cpp | 50 + ..._xdl_gndhwc_gkzyxc_gndhwk_f16_instance.cpp | 50 + ..._xdl_gndhwc_gkzyxc_gndhwk_f32_instance.cpp | 50 + ...hwgc_gkzyxc_ndhwgk_bf16_16_16_instance.cpp | 49 + ...xdl_ndhwgc_gkzyxc_ndhwgk_bf16_instance.cpp | 49 + ...dhwgc_gkzyxc_ndhwgk_f16_16_16_instance.cpp | 49 + ..._xdl_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp | 49 + ...dhwgc_gkzyxc_ndhwgk_f32_16_16_instance.cpp | 49 + ..._xdl_ndhwgc_gkzyxc_ndhwgk_f32_instance.cpp | 49 + ..._ndhwgk_input_f16_comp_bf8_f8_instance.cpp | 57 + ...cdhw_gkczyx_ngkdhw_bf16_16_16_instance.cpp | 40 + ...xdl_ngcdhw_gkczyx_ngkdhw_bf16_instance.cpp | 40 + ...zyx_ngkdhw_bf16_vec_transpose_instance.cpp | 40 + ...gcdhw_gkczyx_ngkdhw_f16_16_16_instance.cpp | 40 + ..._xdl_ngcdhw_gkczyx_ngkdhw_f16_instance.cpp | 40 + ...czyx_ngkdhw_f16_vec_transpose_instance.cpp | 40 + ...gcdhw_gkczyx_ngkdhw_f32_16_16_instance.cpp | 40 + ..._xdl_ngcdhw_gkczyx_ngkdhw_f32_instance.cpp | 40 + ...czyx_ngkdhw_f32_vec_transpose_instance.cpp | 40 + ...xdl_ngcdhw_gkzyxc_ngkdhw_bf16_instance.cpp | 40 + ..._xdl_ngcdhw_gkzyxc_ngkdhw_f16_instance.cpp | 40 + ..._xdl_ngcdhw_gkzyxc_ngkdhw_f32_instance.cpp | 40 + .../CMakeLists.txt | 7 + ...ear_ndhwgc_gkzyxc_ndhwgk_bf16_instance.cpp | 49 + ...near_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp | 49 + ...near_ndhwgc_gkzyxc_ndhwgk_f32_instance.cpp | 49 + .../CMakeLists.txt | 7 + ...ale_ndhwgc_gkzyxc_ndhwgk_bf16_instance.cpp | 49 + ...cale_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp | 49 + ...cale_ndhwgc_gkzyxc_ndhwgk_f32_instance.cpp | 49 + .../grouped_conv3d_bwd_weight/CMakeLists.txt | 74 + ...c_gkzyxc_gndhwk_bf16_f32_bf16_instance.cpp | 45 + ...t_dl_gndhwc_gkzyxc_gndhwk_f16_instance.cpp | 45 + ...t_dl_gndhwc_gkzyxc_gndhwk_f32_instance.cpp | 45 + ...c_gkzyxc_ndhwgk_bf16_f32_bf16_instance.cpp | 46 + ...t_dl_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp | 46 + ...t_dl_ndhwgc_gkzyxc_ndhwgk_f32_instance.cpp | 46 + ...hwc_gkzyxc_gndhwk_f16_1x1s1p0_instance.cpp | 35 + ...wmma_gndhwc_gkzyxc_gndhwk_f16_instance.cpp | 35 + ...dhwc_gkzyxc_gndhwk_i8_1x1s1p0_instance.cpp | 35 + ..._wmma_gndhwc_gkzyxc_gndhwk_i8_instance.cpp | 35 + ...wgc_gkzyxc_ndhwgk_f16_1x1s1p0_instance.cpp | 35 + ...wmma_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp | 35 + ...hwgc_gkzyxc_ndhwgk_i8_1x1s1p0_instance.cpp | 35 + ..._wmma_ndhwgc_gkzyxc_ndhwgk_i8_instance.cpp | 35 + ...c_gkzyxc_gndhwk_bf16_f32_bf16_instance.cpp | 47 + ..._xdl_gndhwc_gkzyxc_gndhwk_f16_instance.cpp | 46 + ..._xdl_gndhwc_gkzyxc_gndhwk_f32_instance.cpp | 46 + ...wgc_gkzyxc_ndhwgk_bf16_pipev1_instance.cpp | 41 + ...wgc_gkzyxc_ndhwgk_bf16_pipev2_instance.cpp | 41 + ..._ndhwgk_bf16_pipev2_irregular_instance.cpp | 41 + ...wgc_gkzyxc_ndhwgk_bf16_pipev5_instance.cpp | 41 + ..._ndhwgk_bf16_pipev5_irregular_instance.cpp | 41 + ...hwgc_gkzyxc_ndhwgk_f16_pipev1_instance.cpp | 41 + ...hwgc_gkzyxc_ndhwgk_f16_pipev2_instance.cpp | 41 + ...c_ndhwgk_f16_pipev2_irregular_instance.cpp | 41 + ...hwgc_gkzyxc_ndhwgk_f16_pipev5_instance.cpp | 41 + ...c_ndhwgk_f16_pipev5_irregular_instance.cpp | 41 + ...xc_ndhwgk_bf16_default_pipev2_instance.cpp | 39 + ...xc_ndhwgk_bf16_default_pipev5_instance.cpp | 39 + ...c_gkzyxc_ndhwgk_bf16_f32_bf16_instance.cpp | 48 + ...xdl_ndhwgc_gkzyxc_ndhwgk_bf16_instance.cpp | 46 + ...kzyxc_ndhwgk_bf16_pad0_pipev2_instance.cpp | 39 + ...kzyxc_ndhwgk_bf16_pad0_pipev5_instance.cpp | 39 + ...kzyxc_ndhwgk_f16_comp_bf8_fp8_instance.cpp | 55 + ...yxc_ndhwgk_f16_default_pipev2_instance.cpp | 39 + ...yxc_ndhwgk_f16_default_pipev5_instance.cpp | 39 + ..._xdl_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp | 46 + ...gkzyxc_ndhwgk_f16_pad0_pipev2_instance.cpp | 39 + ...gkzyxc_ndhwgk_f16_pad0_pipev5_instance.cpp | 39 + ...yxc_ndhwgk_f32_default_pipev2_instance.cpp | 39 + ...yxc_ndhwgk_f32_default_pipev5_instance.cpp | 39 + ..._xdl_ndhwgc_gkzyxc_ndhwgk_f32_instance.cpp | 46 + ...gkzyxc_ndhwgk_f32_pad0_pipev2_instance.cpp | 39 + ...gkzyxc_ndhwgk_f32_pad0_pipev5_instance.cpp | 39 + ...dhw_gkczyx_ngkdhw_bf16_pipev1_instance.cpp | 41 + ...dhw_gkczyx_ngkdhw_bf16_pipev2_instance.cpp | 41 + ...dhw_gkczyx_ngkdhw_bf16_pipev5_instance.cpp | 41 + ...cdhw_gkczyx_ngkdhw_f16_pipev1_instance.cpp | 41 + ...cdhw_gkczyx_ngkdhw_f16_pipev2_instance.cpp | 41 + ...cdhw_gkczyx_ngkdhw_f16_pipev5_instance.cpp | 41 + ...xdl_ngcdhw_gkczyx_ngkdhw_bf16_instance.cpp | 49 + ..._xdl_ngcdhw_gkczyx_ngkdhw_f16_instance.cpp | 49 + ..._xdl_ngcdhw_gkczyx_ngkdhw_f32_instance.cpp | 49 + ...dhw_gkzyxc_ngkdhw_bf16_pipev1_instance.cpp | 41 + ...cdhw_gkzyxc_ngkdhw_f16_pipev1_instance.cpp | 41 + ..._xdl_ngcdhw_gkzyxc_ngkdhw_f32_instance.cpp | 38 + .../CMakeLists.txt | 12 + ...ear_ndhwgc_gkzyxc_ndhwgk_bf16_instance.cpp | 50 + ...kzyxc_ndhwgk_f16_comp_bf8_fp8_instance.cpp | 51 + ...near_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp | 50 + ...near_ndhwgc_gkzyxc_ndhwgk_f32_instance.cpp | 50 + .../CMakeLists.txt | 12 + ...ale_ndhwgc_gkzyxc_ndhwgk_bf16_instance.cpp | 49 + ...kzyxc_ndhwgk_f16_comp_bf8_fp8_instance.cpp | 51 + ...cale_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp | 48 + ...cale_ndhwgc_gkzyxc_ndhwgk_f32_instance.cpp | 48 + .../gpu/grouped_conv3d_fwd/CMakeLists.txt | 87 + ...ndhwc_gkzyxc_gndhwk_f16_1x1p0_instance.cpp | 41 + ...hwc_gkzyxc_gndhwk_f16_1x1s1p0_instance.cpp | 41 + ...wmma_gndhwc_gkzyxc_gndhwk_f16_instance.cpp | 41 + ...gndhwc_gkzyxc_gndhwk_i8_1x1p0_instance.cpp | 41 + ...dhwc_gkzyxc_gndhwk_i8_1x1s1p0_instance.cpp | 41 + ..._wmma_gndhwc_gkzyxc_gndhwk_i8_instance.cpp | 41 + ...dhwgc_gkzyxc_ndhwgk_f16_1x1p0_instance.cpp | 41 + ...wgc_gkzyxc_ndhwgk_f16_1x1s1p0_instance.cpp | 41 + ...wmma_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp | 41 + ...ndhwgc_gkzyxc_ndhwgk_i8_1x1p0_instance.cpp | 41 + ...hwgc_gkzyxc_ndhwgk_i8_1x1s1p0_instance.cpp | 41 + ..._wmma_ndhwgc_gkzyxc_ndhwgk_i8_instance.cpp | 41 + ...dhwgc_gkzyxc_ndhwgk_bf16_comp_instance.cpp | 111 + ...ndhwgc_gkzyxc_ndhwgk_f16_comp_instance.cpp | 111 + ...ndhwgc_gkzyxc_ndhwgk_f32_comp_instance.cpp | 54 + ...hw_gkczyx_ngkdhw_bf16_comp_2x_instance.cpp | 43 + ...gcdhw_gkczyx_ngkdhw_bf16_comp_instance.cpp | 54 + ...gkczyx_ngkdhw_bf16_comp_part2_instance.cpp | 45 + ...dhw_gkczyx_ngkdhw_f16_comp_2x_instance.cpp | 43 + ...ngcdhw_gkczyx_ngkdhw_f16_comp_instance.cpp | 54 + ..._gkczyx_ngkdhw_f16_comp_part2_instance.cpp | 45 + ...ngcdhw_gkczyx_ngkdhw_f32_comp_instance.cpp | 54 + ...xdl_gndhwc_gkzyxc_gndhwk_bf16_instance.cpp | 52 + ..._xdl_gndhwc_gkzyxc_gndhwk_f16_instance.cpp | 52 + ..._xdl_gndhwc_gkzyxc_gndhwk_f32_instance.cpp | 52 + ...xdl_gndhwc_gkzyxc_gndhwk_int8_instance.cpp | 52 + ...xdl_ndhwgc_gkzyxc_ndhwgk_bf16_instance.cpp | 52 + ..._ndhwgc_gkzyxc_ndhwgk_bf8_fp8_instance.cpp | 54 + ..._xdl_ndhwgc_gkzyxc_ndhwgk_bf8_instance.cpp | 53 + ...gc_gkzyxc_ndhwgk_f16_comp_fp8_instance.cpp | 62 + ..._xdl_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp | 52 + ..._xdl_ndhwgc_gkzyxc_ndhwgk_f32_instance.cpp | 52 + ..._ndhwgc_gkzyxc_ndhwgk_fp8_bf8_instance.cpp | 54 + ..._xdl_ndhwgc_gkzyxc_ndhwgk_fp8_instance.cpp | 53 + ...xdl_ndhwgc_gkzyxc_ndhwgk_int8_instance.cpp | 51 + ...xdl_ngcdhw_gkczyx_ngkdhw_bf16_instance.cpp | 53 + ..._xdl_ngcdhw_gkczyx_ngkdhw_f16_instance.cpp | 53 + ..._xdl_ngcdhw_gkczyx_ngkdhw_f32_instance.cpp | 53 + ...sor_ndhwgc_gkzyxc_ndhwgk_bf16_instance.cpp | 39 + ...nsor_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp | 39 + ...nsor_ndhwgc_gkzyxc_ndhwgk_f32_instance.cpp | 39 + ..._gkzyxc_ndhwgk_bf16_mem_inter_instance.cpp | 55 + ..._gkzyxc_ndhwgk_bf16_mem_intra_instance.cpp | 55 + ...c_gkzyxc_ndhwgk_f16_mem_inter_instance.cpp | 55 + ...c_gkzyxc_ndhwgk_f16_mem_intra_instance.cpp | 55 + ...c_gkzyxc_ndhwgk_f32_mem_inter_instance.cpp | 55 + ...c_gkzyxc_ndhwgk_f32_mem_intra_instance.cpp | 55 + ..._gkczyx_ngkdhw_bf16_mem_inter_instance.cpp | 55 + ..._gkczyx_ngkdhw_bf16_mem_intra_instance.cpp | 55 + ...w_gkczyx_ngkdhw_f16_mem_inter_instance.cpp | 55 + ...w_gkczyx_ngkdhw_f16_mem_intra_instance.cpp | 55 + ...w_gkczyx_ngkdhw_f32_mem_inter_instance.cpp | 55 + ...w_gkczyx_ngkdhw_f32_mem_intra_instance.cpp | 55 + ...ups_ndhwgc_gkzyxc_ndhwgk_bf16_instance.cpp | 47 + ...oups_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp | 47 + ...oups_ndhwgc_gkzyxc_ndhwgk_f32_instance.cpp | 47 + ...ups_ngcdhw_gkczyx_ngkdhw_bf16_instance.cpp | 47 + ...oups_ngcdhw_gkczyx_ngkdhw_f16_instance.cpp | 47 + ...oups_ngcdhw_gkczyx_ngkdhw_f32_instance.cpp | 47 + .../CMakeLists.txt | 8 + ...ear_ndhwgc_gkzyxc_ndhwgk_bf16_instance.cpp | 55 + ...near_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp | 55 + ...near_ndhwgc_gkzyxc_ndhwgk_f32_instance.cpp | 55 + ...ear_ndhwgc_gkzyxc_ndhwgk_int8_instance.cpp | 54 + .../CMakeLists.txt | 5 + ...scale_ndhwgc_gkzyxc_ndhwgk_f8_instance.cpp | 62 + .../CMakeLists.txt | 9 + ...dhwgc_gkzyxc_ndhwgk_f8_f8_f32_instance.cpp | 61 + ...e_ndhwgc_gkzyxc_ndhwgk_bf8_f8_instance.cpp | 62 + ...cale_ndhwgc_gkzyxc_ndhwgk_bf8_instance.cpp | 62 + ...e_ndhwgc_gkzyxc_ndhwgk_f8_bf8_instance.cpp | 62 + ...scale_ndhwgc_gkzyxc_ndhwgk_f8_instance.cpp | 62 + .../CMakeLists.txt | 5 + ...e_add_ndhwgc_gkzyxc_ndhwgk_f8_instance.cpp | 63 + .../CMakeLists.txt | 6 + ...dhwgc_gkzyxc_ndhwgk_f8_f8_f32_instance.cpp | 61 + ..._relu_ndhwgc_gkzyxc_ndhwgk_f8_instance.cpp | 60 + .../CMakeLists.txt | 8 + ..._op_ndhwgc_gkzyxc_ndhwgk_bf16_instance.cpp | 58 + ...c_op_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp | 58 + ...c_op_ndhwgc_gkzyxc_ndhwgk_f32_instance.cpp | 58 + ..._op_ndhwgc_gkzyxc_ndhwgk_int8_instance.cpp | 57 + .../grouped_conv3d_fwd_scale/CMakeLists.txt | 8 + ...ale_ndhwgc_gkzyxc_ndhwgk_bf16_instance.cpp | 55 + ...cale_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp | 54 + ...cale_ndhwgc_gkzyxc_ndhwgk_f32_instance.cpp | 54 + ...ale_ndhwgc_gkzyxc_ndhwgk_int8_instance.cpp | 54 + .../CMakeLists.txt | 8 + ..._ab_ndhwgc_gkzyxc_ndhwgk_bf16_instance.cpp | 52 + ...d_ab_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp | 52 + ...d_ab_ndhwgc_gkzyxc_ndhwgk_f32_instance.cpp | 52 + ..._ab_ndhwgc_gkzyxc_ndhwgk_int8_instance.cpp | 51 + .../CMakeLists.txt | 8 + ...elu_ndhwgc_gkzyxc_ndhwgk_bf16_instance.cpp | 55 + ...relu_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp | 55 + ...relu_ndhwgc_gkzyxc_ndhwgk_f32_instance.cpp | 55 + ...elu_ndhwgc_gkzyxc_ndhwgk_int8_instance.cpp | 54 + .../gpu/grouped_gemm/CMakeLists.txt | 36 + ...stage_bf16_bf16_bf16_mk_kn_mn_instance.cpp | 99 + ...stage_bf16_bf16_bf16_mk_nk_mn_instance.cpp | 99 + ...o_stage_bf16_i8_bf16_mk_kn_mn_instance.cpp | 99 + ...o_stage_bf16_i8_bf16_mk_nk_mn_instance.cpp | 99 + ...wo_stage_f16_f16_f16_mk_kn_mn_instance.cpp | 96 + ...gemm_xdl_f16_f16_f16_km_kn_mn_instance.cpp | 102 + ...gemm_xdl_f16_f16_f16_km_nk_mn_instance.cpp | 102 + ...gemm_xdl_f16_f16_f16_mk_kn_mn_instance.cpp | 102 + ...gemm_xdl_f16_f16_f16_mk_nk_mn_instance.cpp | 102 + ..._bf16_bf16_bf16_km_kn_mn_irregular_pv1.cpp | 32 + ...bf16_bf16_km_kn_mn_irregular_pv1_inter.cpp | 36 + ..._bf16_bf16_bf16_km_kn_mn_irregular_pv2.cpp | 33 + ..._bf16_bf16_bf16_mk_kn_mn_irregular_pv1.cpp | 32 + ...bf16_bf16_mk_kn_mn_irregular_pv1_inter.cpp | 36 + ..._bf16_bf16_bf16_mk_kn_mn_irregular_pv2.cpp | 38 + ..._bf16_bf16_bf16_mk_nk_mn_irregular_pv1.cpp | 32 + ...bf16_bf16_mk_nk_mn_irregular_pv1_inter.cpp | 36 + ..._bf16_bf16_bf16_mk_nk_mn_irregular_pv2.cpp | 33 + ...l_splitk_f16_f16_f16_mk_kn_mn_instance.cpp | 32 + ...itk_f16_f16_f16_mk_kn_mn_irregular_pv1.cpp | 32 + ...6_f16_f16_mk_kn_mn_irregular_pv1_inter.cpp | 36 + ...itk_f16_f16_f16_mk_kn_mn_irregular_pv2.cpp | 33 + ...l_splitk_f16_f16_f16_mk_nk_mn_instance.cpp | 32 + ...16_f16_f16_mk_nk_mn_irregular_instance.cpp | 32 + ...f16_f8_f16_mk_kn_mn_irregular_instance.cpp | 123 + ...f8_f16_f16_mk_kn_mn_irregular_instance.cpp | 124 + .../gpu/grouped_gemm_bias/CMakeLists.txt | 8 + ..._nk_bias_f16_f16_f16_mk_kn_mn_instance.cpp | 79 + ..._nk_bias_f16_f16_f16_mk_nk_mn_instance.cpp | 82 + ..._nk_bias_f16_f16_f32_mk_kn_mn_instance.cpp | 83 + ..._nk_bias_f16_f16_f32_mk_nk_mn_instance.cpp | 83 + .../gpu/grouped_gemm_fastgelu/CMakeLists.txt | 7 + ...gelu_xdl_f16_f16_f16_km_kn_mn_instance.cpp | 104 + ...gelu_xdl_f16_f16_f16_km_nk_mn_instance.cpp | 104 + ...gelu_xdl_f16_f16_f16_mk_kn_mn_instance.cpp | 103 + ...gelu_xdl_f16_f16_f16_mk_nk_mn_instance.cpp | 104 + .../gpu/grouped_gemm_fixed_nk/CMakeLists.txt | 15 + ...ed_nk_bf16_bf16_bf16_mk_kn_mn_instance.cpp | 73 + ...ed_nk_bf16_bf16_bf16_mk_nk_mn_instance.cpp | 76 + ...ixed_nk_bf16_i8_bf16_mk_kn_mn_instance.cpp | 73 + ...ixed_nk_bf16_i8_bf16_mk_nk_mn_instance.cpp | 76 + ...fixed_nk_f16_f16_f16_mk_kn_mn_instance.cpp | 75 + ...fixed_nk_f16_f16_f16_mk_nk_mn_instance.cpp | 78 + ...fixed_nk_f16_fp8_f16_mk_kn_mn_instance.cpp | 75 + ...fixed_nk_f16_fp8_f16_mk_nk_mn_instance.cpp | 78 + ..._fixed_nk_f16_i8_f16_mk_kn_mn_instance.cpp | 75 + ..._fixed_nk_f16_i8_f16_mk_nk_mn_instance.cpp | 78 + .../CMakeLists.txt | 10 + ..._fixed_nk_bf16_i8_bf16_km_kn_mn_common.hpp | 89 + ..._fixed_nk_bf16_i8_bf16_mk_kn_mn_common.hpp | 89 + ..._fixed_nk_bf16_i8_bf16_mk_nk_mn_common.hpp | 89 + ...as_gelu_bf16_i8_bf16_km_kn_mn_instance.cpp | 111 + ...as_gelu_bf16_i8_bf16_mk_kn_mn_instance.cpp | 111 + ...as_gelu_bf16_i8_bf16_mk_nk_mn_instance.cpp | 111 + .../gpu/grouped_gemm_tile_loop/CMakeLists.txt | 26 + ...ile_loop_f16_f16_f16_mk_kn_mn_instance.cpp | 75 + ...ile_loop_f16_f16_f16_mk_nk_mn_instance.cpp | 77 + ...le_loop_multiply_bf16_i8_bf16_mk_kn_mn.hpp | 108 + ...i8_bf16_mk_kn_mn_comp_default_instance.cpp | 47 + ...8_bf16_mk_kn_mn_comp_kpadding_instance.cpp | 47 + ...bf16_mk_kn_mn_comp_mnkpadding_instance.cpp | 47 + ..._bf16_mk_kn_mn_comp_mnpadding_instance.cpp | 47 + ..._bf16_mk_kn_mn_mem_v1_default_instance.cpp | 36 + ...bf16_mk_kn_mn_mem_v1_kpadding_instance.cpp | 36 + ...16_mk_kn_mn_mem_v1_mnkpadding_instance.cpp | 36 + ...f16_mk_kn_mn_mem_v1_mnpadding_instance.cpp | 36 + ..._bf16_mk_kn_mn_mem_v2_default_instance.cpp | 36 + ...bf16_mk_kn_mn_mem_v2_kpadding_instance.cpp | 36 + ...16_mk_kn_mn_mem_v2_mnkpadding_instance.cpp | 36 + ...f16_mk_kn_mn_mem_v2_mnpadding_instance.cpp | 36 + ...ly_bias_bf16_i8_bf16_mk_kn_mn_instance.cpp | 40 + ...astgelu_bf16_i8_bf16_mk_kn_mn_instance.cpp | 41 + ...astgelu_bf16_i8_bf16_mk_kn_mn_instance.cpp | 39 + .../gpu/image_to_column/CMakeLists.txt | 8 + ...ice_image_to_column_gndhwc_3d_instance.cpp | 62 + ...vice_image_to_column_gnhwc_2d_instance.cpp | 62 + ...evice_image_to_column_gnwc_1d_instance.cpp | 61 + ...ice_image_to_column_ndhwgc_3d_instance.cpp | 62 + ...vice_image_to_column_nhwgc_2d_instance.cpp | 62 + ...evice_image_to_column_nwgc_1d_instance.cpp | 61 + .../gpu/max_pool_bwd/CMakeLists.txt | 7 + .../device_max_pool_bwd_bf16_instance.cpp | 20 + .../device_max_pool_bwd_f16_instance.cpp | 20 + .../device_max_pool_bwd_f32_instance.cpp | 20 + .../device_max_pool_bwd_f8_instance.cpp | 20 + .../device_max_pool_bwd_int8_instance.cpp | 20 + .../max_pool_bwd_instance_common.hpp | 37 + .../gpu/mha/CMakeLists.txt | 77 + .../gpu/normalization_bwd_data/CMakeLists.txt | 8 + ...device_groupnorm_bwd_data_f32_instance.cpp | 22 + ...vice_layernorm2d_bwd_data_f16_instance.cpp | 23 + ...vice_layernorm2d_bwd_data_f32_instance.cpp | 23 + ...normalization_bwd_data_instance_common.hpp | 73 + .../CMakeLists.txt | 8 + ..._groupnorm_bwd_gamma_beta_f32_instance.cpp | 23 + ...ayernorm2d_bwd_gamma_beta_f16_instance.cpp | 24 + ...ayernorm2d_bwd_gamma_beta_f32_instance.cpp | 24 + ...ization_bwd_gamma_beta_instance_common.hpp | 73 + .../gpu/normalization_fwd/CMakeLists.txt | 14 + .../device_groupnorm_fwd_f16_instance.cpp | 27 + .../device_groupnorm_fwd_f32_instance.cpp | 27 + ...orm_fwd_swish_f16_f32_f32_f16_instance.cpp | 28 + ...evice_groupnorm_fwd_swish_f16_instance.cpp | 27 + ...evice_groupnorm_fwd_swish_f32_instance.cpp | 27 + .../device_layernorm2d_fwd_f16_instance.cpp | 27 + .../device_layernorm2d_fwd_f32_instance.cpp | 27 + .../device_layernorm4d_fwd_f16_instance.cpp | 27 + .../device_layernorm4d_fwd_f32_instance.cpp | 27 + .../normalization_fwd_instance_common.hpp | 201 ++ .../gpu/permute_scale/CMakeLists.txt | 14 + ...device_permute_scale_1d_fp16_instances.cpp | 24 + ...device_permute_scale_1d_fp32_instances.cpp | 24 + ...device_permute_scale_2d_fp16_instances.cpp | 24 + ...device_permute_scale_2d_fp32_instances.cpp | 24 + ...device_permute_scale_3d_fp16_instances.cpp | 24 + ...device_permute_scale_3d_fp32_instances.cpp | 24 + ...device_permute_scale_4d_fp16_instances.cpp | 24 + ...device_permute_scale_4d_fp32_instances.cpp | 24 + ...device_permute_scale_5d_fp16_instances.cpp | 24 + ...device_permute_scale_5d_fp32_instances.cpp | 24 + ...device_permute_scale_6d_fp16_instances.cpp | 24 + ...ce_permute_scale_6d_fp32_fp8_instances.cpp | 28 + ...device_permute_scale_6d_fp32_instances.cpp | 24 + .../gpu/pool2d_fwd/CMakeLists.txt | 12 + ...vice_avg_pool2d_fwd_nhwc_bf16_instance.cpp | 25 + ...evice_avg_pool2d_fwd_nhwc_f16_instance.cpp | 24 + ...evice_avg_pool2d_fwd_nhwc_f32_instance.cpp | 24 + ...device_avg_pool2d_fwd_nhwc_f8_instance.cpp | 24 + ...device_avg_pool2d_fwd_nhwc_i8_instance.cpp | 24 + ...vice_max_pool2d_fwd_nhwc_bf16_instance.cpp | 34 + ...evice_max_pool2d_fwd_nhwc_f16_instance.cpp | 32 + ...evice_max_pool2d_fwd_nhwc_f32_instance.cpp | 32 + ...device_max_pool2d_fwd_nhwc_f8_instance.cpp | 32 + ...device_max_pool2d_fwd_nhwc_i8_instance.cpp | 32 + .../pool2d_fwd/pool2d_fwd_instance_common.hpp | 43 + .../gpu/pool3d_fwd/CMakeLists.txt | 12 + ...ice_avg_pool3d_fwd_ndhwc_bf16_instance.cpp | 25 + ...vice_avg_pool3d_fwd_ndhwc_f16_instance.cpp | 25 + ...vice_avg_pool3d_fwd_ndhwc_f32_instance.cpp | 25 + ...evice_avg_pool3d_fwd_ndhwc_f8_instance.cpp | 24 + ...evice_avg_pool3d_fwd_ndhwc_i8_instance.cpp | 24 + ...ice_max_pool3d_fwd_ndhwc_bf16_instance.cpp | 34 + ...vice_max_pool3d_fwd_ndhwc_f16_instance.cpp | 34 + ...vice_max_pool3d_fwd_ndhwc_f32_instance.cpp | 34 + ...evice_max_pool3d_fwd_ndhwc_f8_instance.cpp | 32 + ...evice_max_pool3d_fwd_ndhwc_i8_instance.cpp | 32 + .../pool3d_fwd/pool_fwd_instance_common.hpp | 44 + .../gpu/quantization/CMakeLists.txt | 29 + .../conv2d_fwd/conv2d_quantization_common.hpp | 68 + ..._perchannel_quantization_int8_instance.cpp | 146 + ...as_perlayer_quantization_int8_instance.cpp | 147 + .../device_conv2d_dl_int8_instance.hpp | 36 + ..._perchannel_quantization_int8_instance.cpp | 98 + ...dl_perlayer_quantization_int8_instance.cpp | 98 + ..._perchannel_quantization_int8_instance.cpp | 143 + ...as_perlayer_quantization_int8_instance.cpp | 147 + .../device_conv2d_xdl_int8_instance.hpp | 48 + ..._perchannel_quantization_int8_instance.cpp | 98 + ...dl_perlayer_quantization_int8_instance.cpp | 98 + ...ization_dl_c_shuffle_i8_i8_i8_instance.hpp | 59 + ...l_c_shuffle_i8_i8_i8_km_kn_mn_instance.cpp | 32 + ...l_c_shuffle_i8_i8_i8_km_nk_mn_instance.cpp | 32 + ...l_c_shuffle_i8_i8_i8_mk_kn_mn_instance.cpp | 32 + ...l_c_shuffle_i8_i8_i8_mk_nk_mn_instance.cpp | 32 + ...zation_xdl_c_shuffle_i8_i8_i8_instance.hpp | 116 + ...l_c_shuffle_i8_i8_i8_km_kn_mn_instance.cpp | 49 + ...l_c_shuffle_i8_i8_i8_km_nk_mn_instance.cpp | 49 + ...l_c_shuffle_i8_i8_i8_mk_kn_mn_instance.cpp | 49 + ...l_c_shuffle_i8_i8_i8_mk_nk_mn_instance.cpp | 49 + .../gemm/gemm_quantization_common.hpp | 41 + .../gpu/reduce/CMakeLists.txt | 76 + ...uce_instance_blockwise_b16_f32_b16_add.cpp | 24 + ...ce_instance_blockwise_b16_f32_b16_amax.cpp | 28 + ...uce_instance_blockwise_b16_f32_b16_avg.cpp | 24 + ...uce_instance_blockwise_b16_f32_b16_max.cpp | 28 + ...uce_instance_blockwise_b16_f32_b16_min.cpp | 28 + ...e_instance_blockwise_b16_f32_b16_norm2.cpp | 24 + ...ce_instance_blockwise_f16_f16_f16_amax.cpp | 28 + ...uce_instance_blockwise_f16_f16_f16_max.cpp | 28 + ...uce_instance_blockwise_f16_f16_f16_min.cpp | 28 + ...uce_instance_blockwise_f16_f32_f16_add.cpp | 24 + ...uce_instance_blockwise_f16_f32_f16_avg.cpp | 24 + ...e_instance_blockwise_f16_f32_f16_norm2.cpp | 24 + ...uce_instance_blockwise_f32_f32_f32_add.cpp | 24 + ...ce_instance_blockwise_f32_f32_f32_amax.cpp | 37 + ...uce_instance_blockwise_f32_f32_f32_avg.cpp | 24 + ...uce_instance_blockwise_f32_f32_f32_max.cpp | 28 + ...uce_instance_blockwise_f32_f32_f32_min.cpp | 28 + ...e_instance_blockwise_f32_f32_f32_norm2.cpp | 25 + ...uce_instance_blockwise_f32_f64_f32_add.cpp | 23 + ...uce_instance_blockwise_f32_f64_f32_avg.cpp | 23 + ...e_instance_blockwise_f32_f64_f32_norm2.cpp | 23 + ...uce_instance_blockwise_f64_f64_f64_add.cpp | 24 + ...ce_instance_blockwise_f64_f64_f64_amax.cpp | 28 + ...uce_instance_blockwise_f64_f64_f64_avg.cpp | 24 + ...uce_instance_blockwise_f64_f64_f64_max.cpp | 28 + ...uce_instance_blockwise_f64_f64_f64_min.cpp | 28 + ...e_instance_blockwise_f64_f64_f64_norm2.cpp | 24 + ...educe_instance_blockwise_i8_i32_i8_add.cpp | 24 + ...educe_instance_blockwise_i8_i32_i8_avg.cpp | 24 + ...educe_instance_blockwise_i8_i8_i8_amax.cpp | 28 + ...reduce_instance_blockwise_i8_i8_i8_max.cpp | 28 + ...reduce_instance_blockwise_i8_i8_i8_min.cpp | 28 + ..._multiblock_atomic_add_b16_f32_f32_add.cpp | 23 + ..._multiblock_atomic_add_b16_f32_f32_avg.cpp | 23 + ..._multiblock_atomic_add_f16_f32_f32_add.cpp | 24 + ..._multiblock_atomic_add_f16_f32_f32_avg.cpp | 24 + ..._multiblock_atomic_add_f32_f32_f32_add.cpp | 23 + ..._multiblock_atomic_add_f32_f32_f32_avg.cpp | 23 + ..._multiblock_atomic_add_f32_f64_f32_add.cpp | 23 + ..._multiblock_atomic_add_f32_f64_f32_avg.cpp | 23 + ..._multiblock_atomic_add_f64_f64_f64_add.cpp | 24 + ..._multiblock_atomic_add_f64_f64_f64_avg.cpp | 24 + ...ce_instance_threadwise_b16_f32_b16_add.cpp | 24 + ...e_instance_threadwise_b16_f32_b16_amax.cpp | 28 + ...ce_instance_threadwise_b16_f32_b16_avg.cpp | 24 + ...ce_instance_threadwise_b16_f32_b16_max.cpp | 28 + ...ce_instance_threadwise_b16_f32_b16_min.cpp | 28 + ..._instance_threadwise_b16_f32_b16_norm2.cpp | 24 + ...e_instance_threadwise_f16_f16_f16_amax.cpp | 28 + ...ce_instance_threadwise_f16_f16_f16_max.cpp | 28 + ...ce_instance_threadwise_f16_f16_f16_min.cpp | 28 + ...ce_instance_threadwise_f16_f32_f16_add.cpp | 23 + ...ce_instance_threadwise_f16_f32_f16_avg.cpp | 23 + ..._instance_threadwise_f16_f32_f16_norm2.cpp | 23 + ...ce_instance_threadwise_f32_f32_f32_add.cpp | 24 + ...e_instance_threadwise_f32_f32_f32_amax.cpp | 28 + ...ce_instance_threadwise_f32_f32_f32_avg.cpp | 24 + ...ce_instance_threadwise_f32_f32_f32_max.cpp | 28 + ...ce_instance_threadwise_f32_f32_f32_min.cpp | 28 + ..._instance_threadwise_f32_f32_f32_norm2.cpp | 24 + ...ce_instance_threadwise_f32_f64_f32_add.cpp | 24 + ...ce_instance_threadwise_f32_f64_f32_avg.cpp | 24 + ..._instance_threadwise_f32_f64_f32_norm2.cpp | 24 + ...ce_instance_threadwise_f64_f64_f64_add.cpp | 23 + ...e_instance_threadwise_f64_f64_f64_amax.cpp | 27 + ...ce_instance_threadwise_f64_f64_f64_avg.cpp | 23 + ...ce_instance_threadwise_f64_f64_f64_max.cpp | 27 + ...ce_instance_threadwise_f64_f64_f64_min.cpp | 27 + ..._instance_threadwise_f64_f64_f64_norm2.cpp | 23 + ...duce_instance_threadwise_i8_i32_i8_add.cpp | 25 + ...duce_instance_threadwise_i8_i32_i8_avg.cpp | 24 + ...duce_instance_threadwise_i8_i8_i8_amax.cpp | 28 + ...educe_instance_threadwise_i8_i8_i8_max.cpp | 28 + ...educe_instance_threadwise_i8_i8_i8_min.cpp | 28 + .../gpu/softmax/CMakeLists.txt | 15 + ...softmax_f16_f16_instance_rank3_reduce1.cpp | 26 + ...softmax_f16_f16_instance_rank3_reduce2.cpp | 26 + ...softmax_f16_f16_instance_rank3_reduce3.cpp | 26 + ...softmax_f16_f16_instance_rank4_reduce1.cpp | 26 + ...softmax_f16_f16_instance_rank4_reduce2.cpp | 26 + ...softmax_f16_f16_instance_rank4_reduce3.cpp | 26 + ...softmax_f16_f16_instance_rank4_reduce4.cpp | 26 + ...softmax_f32_f32_instance_rank3_reduce1.cpp | 26 + ...softmax_f32_f32_instance_rank3_reduce2.cpp | 26 + ...softmax_f32_f32_instance_rank3_reduce3.cpp | 26 + ...softmax_f32_f32_instance_rank4_reduce1.cpp | 26 + ...softmax_f32_f32_instance_rank4_reduce2.cpp | 26 + ...softmax_f32_f32_instance_rank4_reduce3.cpp | 26 + ...softmax_f32_f32_instance_rank4_reduce4.cpp | 26 + .../gpu/transpose/CMakeLists.txt | 3 + .../device_transpose_instances_3d.cpp | 35 + library/src/utility/CMakeLists.txt | 34 + library/src/utility/convolution_parameter.cpp | 229 ++ library/src/utility/device_memory.cpp | 76 + library/src/utility/host_tensor.cpp | 59 + profiler/CMakeLists.txt | 5 + profiler/README.md | 194 ++ profiler/include/profiler/data_type_enum.hpp | 21 + .../profiler/profile_avg_pool2d_bwd_impl.hpp | 255 ++ .../profiler/profile_avg_pool3d_bwd_impl.hpp | 253 ++ ...le_batched_gemm_add_relu_gemm_add_impl.hpp | 360 +++ .../profile_batched_gemm_b_scale_impl.hpp | 488 +++ ...ed_gemm_bias_softmax_gemm_permute_impl.hpp | 395 +++ .../profile_batched_gemm_gemm_impl.hpp | 319 ++ .../profiler/profile_batched_gemm_impl.hpp | 264 ++ .../profile_batched_gemm_reduce_impl.hpp | 362 +++ ...profile_batched_gemm_softmax_gemm_impl.hpp | 347 ++ ...batched_gemm_softmax_gemm_permute_impl.hpp | 367 +++ .../profile_batchnorm_backward_impl.hpp | 390 +++ .../profile_batchnorm_forward_impl.hpp | 412 +++ .../profiler/profile_batchnorm_infer_impl.hpp | 335 ++ .../profiler/profile_contraction_impl.hpp | 373 +++ .../profiler/profile_contraction_utils.hpp | 83 + .../profiler/profile_conv_bwd_data_impl.hpp | 271 ++ .../profile_conv_fwd_bias_relu_add_impl.hpp | 278 ++ .../profile_conv_fwd_bias_relu_impl.hpp | 266 ++ .../profiler/profile_conv_fwd_impl.hpp | 244 ++ .../profile_conv_tensor_rearrange_impl.hpp | 299 ++ .../profile_elementwise_layernorm_impl.hpp | 277 ++ .../profiler/profile_gemm_ab_scale_impl.hpp | 363 +++ .../profile_gemm_add_add_fastgelu_impl.hpp | 242 ++ .../profile_gemm_add_fastgelu_impl.hpp | 232 ++ .../profiler/profile_gemm_add_impl.hpp | 232 ++ .../profile_gemm_add_multiply_impl.hpp | 242 ++ ...ofile_gemm_add_relu_add_layernorm_impl.hpp | 349 +++ .../profiler/profile_gemm_add_relu_impl.hpp | 232 ++ .../profiler/profile_gemm_add_silu_impl.hpp | 232 ++ .../profiler/profile_gemm_b_scale_impl.hpp | 448 +++ .../profile_gemm_bias_add_reduce_impl.hpp | 384 +++ .../profiler/profile_gemm_bilinear_impl.hpp | 234 ++ .../profiler/profile_gemm_fastgelu_impl.hpp | 222 ++ .../include/profiler/profile_gemm_impl.hpp | 305 ++ .../profile_gemm_multiply_add_impl.hpp | 242 ++ .../profile_gemm_multiply_multiply_impl.hpp | 359 +++ ...profile_gemm_multiply_multiply_wp_impl.hpp | 396 +++ .../profiler/profile_gemm_reduce_impl.hpp | 353 +++ .../profiler/profile_gemm_splitk_impl.hpp | 302 ++ .../profiler/profile_gemm_streamk_impl.hpp | 267 ++ .../profile_gemm_universal_batched_impl.hpp | 292 ++ .../profiler/profile_gemm_universal_impl.hpp | 410 +++ .../profile_gemm_universal_reduce_impl.hpp | 323 ++ .../profile_gemm_universal_streamk_impl.hpp | 342 ++ .../profile_grouped_conv_bwd_data_impl.hpp | 305 ++ .../profile_grouped_conv_bwd_weight_impl.hpp | 316 ++ .../profile_grouped_conv_fwd_impl.hpp | 263 ++ ...ile_grouped_conv_fwd_outelementop_impl.hpp | 352 +++ .../profile_grouped_gemm_fastgelu_impl.hpp | 280 ++ .../profile_grouped_gemm_fixed_nk_impl.hpp | 374 +++ .../profiler/profile_grouped_gemm_impl.hpp | 379 +++ ...e_grouped_gemm_multiply_tile_loop_impl.hpp | 347 ++ .../profile_grouped_gemm_tile_loop_impl.hpp | 321 ++ .../profile_groupnorm_bwd_data_impl.hpp | 250 ++ .../profile_groupnorm_bwd_gamma_beta_impl.hpp | 261 ++ .../profiler/profile_groupnorm_fwd_impl.hpp | 274 ++ .../profile_layernorm_bwd_data_impl.hpp | 255 ++ .../profile_layernorm_bwd_gamma_beta_impl.hpp | 263 ++ .../profiler/profile_layernorm_fwd_impl.hpp | 293 ++ .../profiler/profile_max_pool2d_bwd_impl.hpp | 295 ++ .../profiler/profile_max_pool3d_bwd_impl.hpp | 288 ++ .../profiler/profile_permute_scale_impl.hpp | 168 + .../profiler/profile_pool2d_fwd_impl.hpp | 274 ++ .../profiler/profile_pool3d_fwd_impl.hpp | 335 ++ .../include/profiler/profile_reduce_impl.hpp | 517 +++ .../include/profiler/profile_softmax_impl.hpp | 227 ++ .../profiler/profile_transpose_impl.hpp | 178 ++ profiler/src/CMakeLists.txt | 186 ++ profiler/src/profile_avg_pool2d_bwd.cpp | 188 ++ profiler/src/profile_avg_pool3d_bwd.cpp | 175 ++ profiler/src/profile_batched_gemm.cpp | 222 ++ ...profile_batched_gemm_add_relu_gemm_add.cpp | 214 ++ profiler/src/profile_batched_gemm_b_scale.cpp | 200 ++ profiler/src/profile_batched_gemm_gemm.cpp | 187 ++ profiler/src/profile_batched_gemm_multi_d.cpp | 194 ++ profiler/src/profile_batched_gemm_reduce.cpp | 159 + profiler/src/profile_batchnorm_bwd.cpp | 207 ++ profiler/src/profile_batchnorm_fwd.cpp | 219 ++ profiler/src/profile_batchnorm_infer.cpp | 202 ++ profiler/src/profile_contraction_bilinear.cpp | 250 ++ profiler/src/profile_contraction_scale.cpp | 246 ++ profiler/src/profile_conv_bwd_data.cpp | 198 ++ profiler/src/profile_conv_fwd.cpp | 192 ++ profiler/src/profile_conv_fwd_bias_relu.cpp | 122 + .../src/profile_conv_fwd_bias_relu_add.cpp | 122 + .../src/profile_conv_tensor_rearrange.cpp | 370 +++ profiler/src/profile_gemm.cpp | 246 ++ profiler/src/profile_gemm_ab_scale.cpp | 184 ++ profiler/src/profile_gemm_add.cpp | 139 + .../src/profile_gemm_add_add_fastgelu.cpp | 158 + profiler/src/profile_gemm_add_fastgelu.cpp | 159 + profiler/src/profile_gemm_add_multiply.cpp | 158 + profiler/src/profile_gemm_add_relu.cpp | 139 + .../profile_gemm_add_relu_add_layernorm.cpp | 215 ++ profiler/src/profile_gemm_add_silu.cpp | 139 + profiler/src/profile_gemm_b_scale.cpp | 181 ++ profiler/src/profile_gemm_bias_add_reduce.cpp | 167 + profiler/src/profile_gemm_bilinear.cpp | 171 + profiler/src/profile_gemm_fastgelu.cpp | 137 + profiler/src/profile_gemm_multiply_add.cpp | 157 + .../src/profile_gemm_multiply_multiply.cpp | 194 ++ .../src/profile_gemm_multiply_multiply_wp.cpp | 167 + profiler/src/profile_gemm_reduce.cpp | 154 + profiler/src/profile_gemm_splitk.cpp | 228 ++ profiler/src/profile_gemm_streamk.cpp | 155 + profiler/src/profile_gemm_universal.cpp | 234 ++ .../src/profile_gemm_universal_batched.cpp | 189 ++ .../src/profile_gemm_universal_reduce.cpp | 158 + .../src/profile_gemm_universal_streamk.cpp | 223 ++ .../src/profile_grouped_conv_bwd_data.cpp | 252 ++ .../src/profile_grouped_conv_bwd_weight.cpp | 305 ++ profiler/src/profile_grouped_conv_fwd.cpp | 394 +++ .../profile_grouped_conv_fwd_outelementop.cpp | 220 ++ profiler/src/profile_grouped_gemm.cpp | 309 ++ .../src/profile_grouped_gemm_fastgelu.cpp | 177 ++ .../src/profile_grouped_gemm_fixed_nk.cpp | 340 ++ ...rofile_grouped_gemm_multiply_tile_loop.cpp | 133 + .../src/profile_grouped_gemm_tile_loop.cpp | 152 + profiler/src/profile_groupnorm_bwd_data.cpp | 104 + .../src/profile_groupnorm_bwd_gamma_beta.cpp | 104 + profiler/src/profile_groupnorm_fwd.cpp | 112 + profiler/src/profile_layernorm_bwd_data.cpp | 112 + .../src/profile_layernorm_bwd_gamma_beta.cpp | 112 + profiler/src/profile_layernorm_fwd.cpp | 128 + profiler/src/profile_max_pool2d_bwd.cpp | 178 ++ profiler/src/profile_max_pool2d_fwd.cpp | 310 ++ profiler/src/profile_max_pool3d_bwd.cpp | 177 ++ profiler/src/profile_permute_scale.cpp | 189 ++ profiler/src/profile_pool3d_fwd.cpp | 331 ++ profiler/src/profile_reduce.cpp | 434 +++ profiler/src/profile_softmax.cpp | 288 ++ profiler/src/profile_transpose.cpp | 81 + profiler/src/profiler.cpp | 30 + profiler/src/profiler_operation_registry.hpp | 79 + pyproject.toml | 39 + python/ck4inductor/__init__.py | 0 .../batched_universal_gemm/gen_instances.py | 149 + .../ck4inductor/batched_universal_gemm/op.py | 99 + .../grouped_conv_fwd/gen_instances.py | 165 + python/ck4inductor/grouped_conv_fwd/op.py | 93 + .../universal_gemm/gen_instances.py | 572 ++++ python/ck4inductor/universal_gemm/op.py | 99 + python/ck4inductor/util.py | 10 + python/test/test_gen_instances.py | 46 + rbuild.ini | 8 + requirements.txt | 1 + script/check_copyright_year.sh | 17 + script/clang-format-overwrite.sh | 2 + script/cmake-ck-dev.sh | 27 + script/cmake-ck-release.sh | 28 + script/convert_miopen_driver_to_profiler.py | 413 +++ script/count_vgpr.sh | 20 + script/hip_fatbin_insert | 7 + script/hipclang_opt.sh | 25 + script/install_precommit.sh | 20 + script/process_perf_data.py | 382 +++ script/process_perf_data.sh | 54 + script/process_qa_data.sh | 63 + script/profile_batched_gemm.sh | 37 + script/profile_gemm.sh | 58 + script/profile_gemm_bilinear.sh | 41 + script/profile_grouped_conv_bwd_data.sh | 38 + script/profile_grouped_conv_bwd_weight.sh | 39 + script/profile_grouped_conv_fwd.sh | 39 + .../profile_grouped_conv_fwd_outelementop.sh | 20 + script/profile_grouped_gemm.sh | 18 + script/profile_mixed_gemm.sh | 52 + script/profile_onnx_gemm.sh | 31 + script/profile_permute_scale.sh | 43 + script/profile_reduce_no_index.sh | 78 + script/profile_reduce_with_index.sh | 70 + script/profile_resnet50.sh | 69 + script/profile_splitK_gemm.sh | 41 + script/redis-cli.conf | 10 + script/run_full_performance_tests.sh | 151 + script/run_gemm_performance_tests.sh | 41 + script/run_performance_tests.sh | 66 + script/sccache_wrapper.sh | 56 + script/test_convnd_fwd.sh | 110 + script/test_reduce_no_index.sh | 63 + script/uninstall_precommit.sh | 1 + test/CMakeLists.txt | 285 ++ test/batched_gemm/CMakeLists.txt | 4 + test/batched_gemm/test_batched_gemm_xdl.cpp | 185 ++ test/batched_gemm_gemm/CMakeLists.txt | 6 + .../test_batched_gemm_gemm_fp16_xdl.cpp | 149 + .../test_batched_gemm_gemm_util.hpp | 189 ++ test/batched_gemm_multi_d/CMakeLists.txt | 4 + .../test_batched_gemm_multi_d_dl.cpp | 76 + test/batched_gemm_reduce/CMakeLists.txt | 4 + .../batched_gemm_reduce_fp16_xdl.cpp | 67 + test/batched_gemm_softmax_gemm/CMakeLists.txt | 6 + ...est_batched_gemm_softmax_gemm_fp16_xdl.cpp | 176 ++ .../test_batched_gemm_softmax_gemm_util.hpp | 197 ++ .../CMakeLists.txt | 21 + ...emm_bias_softmax_gemm_permute_bf16_xdl.cpp | 182 ++ ...emm_bias_softmax_gemm_permute_fp16_xdl.cpp | 182 ++ ...ed_gemm_bias_softmax_gemm_permute_util.hpp | 380 +++ ...hed_gemm_softmax_gemm_permute_bf16_xdl.cpp | 177 ++ ...hed_gemm_softmax_gemm_permute_fp16_xdl.cpp | 182 ++ ...batched_gemm_softmax_gemm_permute_util.hpp | 368 +++ test/batchnorm/CMakeLists.txt | 6 + test/batchnorm/batchnorm_bwd_rank_4.cpp | 105 + test/batchnorm/batchnorm_fwd_rank_4.cpp | 122 + test/batchnorm/batchnorm_infer_rank_4.cpp | 102 + .../block_swizzle_test/block_swizzle_test.cpp | 406 +++ test/block_swizzle_test/rebuild.sh | 3 + test/block_swizzle_test/simple_args.h | 159 + test/block_to_ctile_map/CMakeLists.txt | 1 + .../test_block_to_ctile_map.cpp | 322 ++ test/ck_tile/CMakeLists.txt | 5 + test/ck_tile/batched_gemm/CMakeLists.txt | 4 + .../batched_gemm/test_batched_gemm.cpp | 29 + .../test_batched_gemm_ut_cases.inc | 9 + .../batched_gemm/test_batched_gemm_util.hpp | 281 ++ test/ck_tile/data_type/CMakeLists.txt | 4 + test/ck_tile/data_type/test_pk_int4.cpp | 65 + test/ck_tile/gemm/CMakeLists.txt | 28 + .../gemm/test_gemm_pipeline_compv3.cpp | 16 + .../gemm/test_gemm_pipeline_compv4.cpp | 16 + .../gemm/test_gemm_pipeline_kernel_types.hpp | 62 + test/ck_tile/gemm/test_gemm_pipeline_mem.cpp | 16 + .../gemm/test_gemm_pipeline_ut_cases.inc | 103 + test/ck_tile/gemm/test_gemm_pipeline_util.hpp | 458 +++ test/ck_tile/grouped_gemm/CMakeLists.txt | 4 + .../grouped_gemm/test_grouped_gemm.cpp | 29 + .../test_grouped_gemm_ut_cases.inc | 25 + .../grouped_gemm/test_grouped_gemm_util.hpp | 325 ++ test/ck_tile/image_to_column/CMakeLists.txt | 4 + .../test_tile_image_to_column.cpp | 142 + test/contraction/CMakeLists.txt | 10 + .../test_contraction_interface_xdl.cpp | 183 ++ test/contraction/test_contraction_xdl.cpp | 221 ++ test/conv_tensor_rearrange/CMakeLists.txt | 5 + .../test_conv_tensor_rearrange.cpp | 159 + .../test_conv_tensor_rearrange_interface.cpp | 264 ++ test/conv_util/CMakeLists.txt | 2 + test/conv_util/conv_util.cpp | 158 + test/convnd_bwd_data/CMakeLists.txt | 4 + test/convnd_bwd_data/convnd_bwd_data_xdl.cpp | 93 + test/convnd_fwd/CMakeLists.txt | 4 + test/convnd_fwd/convnd_fwd_xdl.cpp | 92 + test/data_type/CMakeLists.txt | 97 + test/data_type/test_bf6.cpp | 388 +++ test/data_type/test_bf8_fnuz.cpp | 173 + test/data_type/test_bf8_ocp.cpp | 861 +++++ test/data_type/test_bhalf.cpp | 48 + test/data_type/test_custom_type.cpp | 1068 +++++++ test/data_type/test_e8m0.cpp | 99 + test/data_type/test_fp4.cpp | 470 +++ test/data_type/test_fp6.cpp | 385 +++ test/data_type/test_fp8_fnuz.cpp | 177 ++ test/data_type/test_fp8_ocp.cpp | 819 +++++ test/data_type/test_int4.cpp | 211 ++ test/data_type/test_mx_bf8.cpp | 654 ++++ test/data_type/test_mx_fp4.cpp | 543 ++++ test/data_type/test_mx_fp8.cpp | 616 ++++ test/data_type/test_pk_i4.cpp | 77 + test/data_type/type_convert_const.cpp | 93 + test/elementwise_normalization/CMakeLists.txt | 6 + .../test_elementwise_layernorm_fp16.cpp | 47 + test/gemm/CMakeLists.txt | 28 + test/gemm/gemm_bf16.cpp | 34 + test/gemm/gemm_fp16.cpp | 34 + test/gemm/gemm_fp32.cpp | 34 + test/gemm/gemm_fp64.cpp | 34 + test/gemm/gemm_int8.cpp | 34 + test/gemm/gemm_standalone_xdl_fp16.cpp | 167 + test/gemm/gemm_util.hpp | 267 ++ test/gemm/instance/gemm_f16_nn_instance.cpp | 86 + test/gemm/instance/gemm_f16_nn_instance.hpp | 41 + test/gemm/instance/gemm_f16_nt_instance.cpp | 86 + test/gemm/instance/gemm_f16_nt_instance.hpp | 41 + test/gemm/instance/gemm_f16_tn_instance.cpp | 86 + test/gemm/instance/gemm_f16_tn_instance.hpp | 41 + test/gemm/instance/gemm_f16_tt_instance.cpp | 86 + test/gemm/instance/gemm_f16_tt_instance.hpp | 41 + .../instance/gemm_wavelet_f16_tn_instance.cpp | 96 + .../instance/gemm_wavelet_f16_tn_instance.hpp | 25 + test/gemm/run_gemm_test.inc | 41 + test/gemm_add/CMakeLists.txt | 19 + test/gemm_add/test_gemm_add_fastgelu_xdl.cpp | 41 + test/gemm_add/test_gemm_add_relu_xdl.cpp | 41 + test/gemm_add/test_gemm_add_silu_xdl.cpp | 41 + test/gemm_add/test_gemm_add_xdl.hpp | 72 + test/gemm_layernorm/CMakeLists.txt | 6 + ...t_gemm_add_relu_add_layernorm_fp16_xdl.cpp | 77 + test/gemm_mx/CMakeLists.txt | 4 + test/gemm_mx/test_gemm_mx.cpp | 108 + test/gemm_mx/test_gemm_mx_util.hpp | 498 +++ test/gemm_reduce/CMakeLists.txt | 4 + test/gemm_reduce/gemm_reduce_fp16_xdl.cpp | 49 + test/gemm_split_k/CMakeLists.txt | 4 + .../test_gemm_splitk_ut_cases.inc | 217 ++ test/gemm_split_k/test_gemm_splitk_util.hpp | 91 + test/gemm_split_k/test_gemm_splitk_xdl.cpp | 66 + test/gemm_universal/CMakeLists.txt | 29 + .../test_gemm_universal_ut_cases_bf16.inc | 209 ++ .../test_gemm_universal_ut_cases_fp16.inc | 113 + .../test_gemm_universal_ut_cases_fp8.inc | 113 + .../test_gemm_universal_util.hpp | 93 + .../test_gemm_universal_wmma_bf16.cpp | 80 + .../test_gemm_universal_wmma_fp16.cpp | 57 + .../test_gemm_universal_wmma_fp8.cpp | 61 + .../test_gemm_universal_xdl_bf16.cpp | 82 + .../test_gemm_universal_xdl_fp16.cpp | 82 + .../test_gemm_universal_xdl_fp8.cpp | 71 + test/gemm_universal_streamk/CMakeLists.txt | 15 + ...t_gemm_universal_streamk_ut_cases_bf16.inc | 149 + ...t_gemm_universal_streamk_ut_cases_fp16.inc | 85 + ...st_gemm_universal_streamk_ut_cases_fp8.inc | 85 + .../test_gemm_universal_streamk_util.hpp | 102 + .../test_gemm_universal_streamk_xdl_bf16.cpp | 85 + .../test_gemm_universal_streamk_xdl_fp16.cpp | 84 + .../test_gemm_universal_streamk_xdl_fp8.cpp | 74 + test/grouped_convnd_bwd_data/CMakeLists.txt | 21 + ...grouped_convnd_bwd_data_interface_wmma.cpp | 186 ++ ..._grouped_convnd_bwd_data_interface_xdl.cpp | 178 ++ .../test_grouped_convnd_bwd_data_wmma.cpp | 108 + .../test_grouped_convnd_bwd_data_xdl.cpp | 129 + ...rouped_convnd_bwd_data_xdl_large_cases.cpp | 120 + test/grouped_convnd_bwd_weight/CMakeLists.txt | 23 + ...t_grouped_conv_bwd_weight_xdl_bilinear.cpp | 270 ++ .../test_grouped_convnd_bwd_weight.cpp | 225 ++ ...ouped_convnd_bwd_weight_interface_wmma.cpp | 199 ++ ...rouped_convnd_bwd_weight_interface_xdl.cpp | 179 ++ ...ped_convnd_bwd_weight_v3_interface_xdl.cpp | 179 ++ test/grouped_convnd_fwd/CMakeLists.txt | 24 + .../test_grouped_convnd_fwd.cpp | 150 + ...est_grouped_convnd_fwd_large_cases_xdl.cpp | 131 + ..._grouped_convnd_fwd_multi_ab_interface.cpp | 235 ++ ...lti_d_interface_compatibility_xdl_wmma.cpp | 59 + test/grouped_gemm/CMakeLists.txt | 13 + .../test_grouped_gemm_interface_xdl.cpp | 206 ++ .../test_grouped_gemm_splitk_xdl.cpp | 44 + ...d_gemm_two_stage_multiple_d_splitk_xdl.cpp | 62 + .../test_grouped_gemm_two_stage_ut_cases.inc | 61 + .../test_grouped_gemm_ut_cases.inc | 75 + test/grouped_gemm/test_grouped_gemm_util.hpp | 316 ++ test/magic_number_division/CMakeLists.txt | 2 + .../magic_number_division.cpp | 150 + test/mx_mfma_op/CMakeLists.txt | 9 + test/mx_mfma_op/mx_mfma_op.cpp | 124 + test/mx_mfma_op/mx_mfma_op.hpp | 1295 ++++++++ test/normalization_bwd_data/CMakeLists.txt | 13 + .../test_groupnorm_bwd_data_fp32.cpp | 51 + .../test_layernorm2d_bwd_data_fp32.cpp | 48 + .../CMakeLists.txt | 11 + .../test_groupnorm_bwd_gamma_beta_fp32.cpp | 51 + .../test_layernorm2d_bwd_gamma_beta_fp32.cpp | 48 + test/normalization_fwd/CMakeLists.txt | 30 + .../test_groupnorm_fwd_fp16.cpp | 54 + .../test_groupnorm_fwd_fp32.cpp | 52 + .../test_layernorm2d_fwd_fp16.cpp | 48 + .../test_layernorm2d_fwd_fp32.cpp | 48 + .../test_layernorm4d_fwd_fp16.cpp | 48 + test/permute_scale/CMakeLists.txt | 4 + test/permute_scale/test_permute_scale.cpp | 100 + test/pool/CMakeLists.txt | 28 + test/pool/test_avg_pool2d_bwd.cpp | 133 + test/pool/test_avg_pool2d_fwd.cpp | 145 + test/pool/test_avg_pool3d_bwd.cpp | 74 + test/pool/test_avg_pool3d_fwd.cpp | 63 + test/pool/test_max_pool2d_bwd.cpp | 139 + test/pool/test_max_pool2d_fwd.cpp | 150 + test/pool/test_max_pool3d_bwd.cpp | 79 + test/pool/test_max_pool3d_fwd.cpp | 78 + test/pool/test_pool_fwd_common.hpp | 41 + test/position_embedding/CMakeLists.txt | 1 + .../position_embedding/position_embedding.cpp | 215 ++ test/reduce/CMakeLists.txt | 5 + test/reduce/reduce_no_index.cpp | 203 ++ test/reduce/reduce_with_index.cpp | 203 ++ test/reference_conv_fwd/CMakeLists.txt | 2 + .../reference_conv_fwd/reference_conv_fwd.cpp | 392 +++ test/scatter_gather/CMakeLists.txt | 2 + test/scatter_gather/scatter_gather.cpp | 276 ++ test/smfmac_op/CMakeLists.txt | 2 + test/smfmac_op/smfmac_op.cpp | 82 + test/smfmac_op/smfmac_op_util.hpp | 361 +++ test/smfmac_op/smfmac_op_xdl.cpp | 93 + test/softmax/CMakeLists.txt | 11 + test/softmax/test_softmax_interface.cpp | 86 + test/softmax/test_softmax_rank3.cpp | 35 + test/softmax/test_softmax_rank4.cpp | 35 + test/softmax/test_softmax_ut_cases.inc | 60 + test/softmax/test_softmax_util.hpp | 226 ++ test/space_filling_curve/CMakeLists.txt | 1 + .../space_filling_curve.cpp | 195 ++ test/transpose/CMakeLists.txt | 4 + test/transpose/test_transpose_xdl.cpp | 35 + test/wmma_op/CMakeLists.txt | 2 + test/wmma_op/wmma_op.cpp | 67 + test/wmma_op/wmma_op_util.hpp | 427 +++ test/wrapper/CMakeLists.txt | 19 + test/wrapper/test_wrapper_copy.cpp | 135 + test/wrapper/test_wrapper_gemm_xdl.cpp | 376 +++ test/wrapper/test_wrapper_layout.cpp | 474 +++ test/wrapper/test_wrapper_partition.cpp | 115 + test/wrapper/test_wrapper_tensor.cpp | 209 ++ tile_engine/CMakeLists.txt | 5 + tile_engine/include/CMakeLists.txt | 1 + tile_engine/ops/CMakeLists.txt | 1 + tile_engine/ops/gemm/CMakeLists.txt | 51 + tile_engine/ops/gemm/README.md | 92 + .../gemm/configs/instance_combination.json | 60 + tile_engine/ops/gemm/gemm_host_api.cpp | 192 ++ tile_engine/ops/gemm/gemm_host_api.hpp | 263 ++ tile_engine/ops/gemm/gemm_instance_builder.py | 644 ++++ 3952 files changed, 654944 insertions(+) create mode 100644 .azuredevops/rocm-ci.yml create mode 100644 .clang-format create mode 100644 .clang-tidy create mode 100644 .github/CODEOWNERS create mode 100644 .github/CONTRIBUTING.md create mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/issue_report.yml create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/dependabot.yml create mode 100644 .gitignore create mode 100755 .pre-commit-config.yaml create mode 100644 .readthedocs.yaml create mode 100644 CHANGELOG.md create mode 100644 CITATION.cff create mode 100644 CMakeLists.txt create mode 100644 CONTRIBUTORS.md create mode 100644 Config.cmake.in create mode 100644 Dockerfile create mode 100644 Dockerfile.compiler create mode 100644 Jenkinsfile create mode 100644 LICENSE create mode 100644 README.md create mode 100644 TERMINOLOGY.md create mode 100644 client_example/01_gemm/CMakeLists.txt create mode 100644 client_example/01_gemm/README.md create mode 100644 client_example/01_gemm/gemm.cpp create mode 100644 client_example/02_gemm_add_add_fastgelu/CMakeLists.txt create mode 100644 client_example/02_gemm_add_add_fastgelu/gemm_add_add_fastgelu.cpp create mode 100644 client_example/02_gemm_add_add_fastgelu/gemm_add_add_fastgelu_generic.cpp create mode 100644 client_example/02_gemm_add_add_fastgelu/gemm_add_fastgelu.cpp create mode 100644 client_example/02_gemm_add_add_fastgelu/gemm_add_fastgelu_generic.cpp create mode 100644 client_example/02_gemm_add_add_fastgelu/gemm_fastgelu.cpp create mode 100644 client_example/02_gemm_add_add_fastgelu/gemm_fastgelu_generic.cpp create mode 100644 client_example/03_gemm_layernorm/CMakeLists.txt create mode 100644 client_example/03_gemm_layernorm/gemm_add_add_layernorm_naive.cpp create mode 100644 client_example/03_gemm_layernorm/gemm_add_relu_add_layernorm_welford.cpp create mode 100644 client_example/04_contraction/CMakeLists.txt create mode 100644 client_example/04_contraction/contraction_bilinear_fp32.cpp create mode 100644 client_example/04_contraction/contraction_bilinear_fp64.cpp create mode 100644 client_example/04_contraction/contraction_g1m2n3k1_add_xdl_fp16.cpp create mode 100644 client_example/04_contraction/contraction_scale_fp32.cpp create mode 100644 client_example/04_contraction/contraction_scale_fp64.cpp create mode 100644 client_example/05_layernorm/CMakeLists.txt create mode 100644 client_example/05_layernorm/layernorm2d_bwd_data.cpp create mode 100644 client_example/05_layernorm/layernorm2d_bwd_gamma_beta.cpp create mode 100644 client_example/05_layernorm/layernorm2d_fwd.cpp create mode 100644 client_example/05_layernorm/layernorm4d_fwd.cpp create mode 100644 client_example/06_softmax/CMakeLists.txt create mode 100644 client_example/06_softmax/softmax4d.cpp create mode 100644 client_example/07_grouped_convnd_fwd/CMakeLists.txt create mode 100644 client_example/07_grouped_convnd_fwd/README.md create mode 100644 client_example/07_grouped_convnd_fwd/common.hpp create mode 100644 client_example/07_grouped_convnd_fwd/grouped_conv1d_fwd.cpp create mode 100644 client_example/07_grouped_convnd_fwd/grouped_conv2d_fwd.cpp create mode 100644 client_example/07_grouped_convnd_fwd/grouped_conv2d_fwd_ngchw.cpp create mode 100644 client_example/07_grouped_convnd_fwd/grouped_conv3d_fwd_bf8.cpp create mode 100644 client_example/07_grouped_convnd_fwd/grouped_conv3d_fwd_bf8_fp8.cpp create mode 100644 client_example/07_grouped_convnd_fwd/grouped_conv3d_fwd_fp8.cpp create mode 100644 client_example/07_grouped_convnd_fwd/grouped_conv3d_fwd_fp8_bf8.cpp create mode 100644 client_example/08_fused_attention/CMakeLists.txt create mode 100644 client_example/08_fused_attention/fused_attention.cpp create mode 100644 client_example/08_fused_attention/fused_attention_bias.cpp create mode 100644 client_example/09_quantization/CMakeLists.txt create mode 100644 client_example/09_quantization/conv2d_fwd_bias_relu_perchannel_quantization.cpp create mode 100644 client_example/09_quantization/conv2d_fwd_bias_relu_perlayer_quantization.cpp create mode 100644 client_example/09_quantization/conv2d_fwd_bias_tanh_perchannel_quantization.cpp create mode 100644 client_example/09_quantization/conv2d_fwd_bias_tanh_perlayer_quantization.cpp create mode 100644 client_example/09_quantization/conv2d_fwd_perchannel_quantization.cpp create mode 100644 client_example/09_quantization/conv2d_fwd_perlayer_quantization.cpp create mode 100644 client_example/09_quantization/gemm_quantization.cpp create mode 100644 client_example/10_grouped_convnd_bwd_data/CMakeLists.txt create mode 100644 client_example/10_grouped_convnd_bwd_data/README.md create mode 100644 client_example/10_grouped_convnd_bwd_data/grouped_conv2d_bwd_data.cpp create mode 100644 client_example/10_grouped_convnd_bwd_data/grouped_conv2d_bwd_data_ngchw.cpp create mode 100644 client_example/10_grouped_convnd_bwd_data/grouped_conv3d_bwd_data.cpp create mode 100644 client_example/10_grouped_convnd_bwd_data/grouped_conv3d_bwd_data_input_fp16_comp_bf8f8.cpp create mode 100644 client_example/11_grouped_conv_bwd_weight/CMakeLists.txt create mode 100644 client_example/11_grouped_conv_bwd_weight/README.md create mode 100644 client_example/11_grouped_conv_bwd_weight/common.hpp create mode 100644 client_example/11_grouped_conv_bwd_weight/grouped_conv1d_bwd_weight_fp16.cpp create mode 100644 client_example/11_grouped_conv_bwd_weight/grouped_conv2d_bwd_weight_fp16.cpp create mode 100644 client_example/11_grouped_conv_bwd_weight/grouped_conv3d_bwd_weight_fp16.cpp create mode 100644 client_example/11_grouped_conv_bwd_weight/grouped_conv3d_bwd_weight_fp16_comp_bf8_fp8.cpp create mode 100644 client_example/11_grouped_conv_bwd_weight/grouped_conv3d_bwd_weight_fp32.cpp create mode 100644 client_example/12_elementwise_normalization/CMakeLists.txt create mode 100644 client_example/12_elementwise_normalization/elementwise_layernorm2d.cpp create mode 100644 client_example/13_batchnorm/CMakeLists.txt create mode 100644 client_example/13_batchnorm/batchnorm_bwd_nhwc.cpp create mode 100644 client_example/13_batchnorm/batchnorm_fwd_nhwc.cpp create mode 100644 client_example/13_batchnorm/batchnorm_infer_nhwc.cpp create mode 100644 client_example/14_instance_id/CMakeLists.txt create mode 100644 client_example/14_instance_id/batchnorm_fwd_instance_id.cpp create mode 100644 client_example/15_convnd_bwd_data/CMakeLists.txt create mode 100644 client_example/15_convnd_bwd_data/common.hpp create mode 100644 client_example/15_convnd_bwd_data/conv3d_bwd_data_fp16.cpp create mode 100644 client_example/15_convnd_bwd_data/conv3d_bwd_data_fp32.cpp create mode 100644 client_example/15_gemm_add_multiply/CMakeLists.txt create mode 100644 client_example/15_gemm_add_multiply/gemm_add_multiply.cpp create mode 100644 client_example/15_reduce/CMakeLists.txt create mode 100644 client_example/15_reduce/reduce_nhwc_c.cpp create mode 100644 client_example/16_convnd_fwd/CMakeLists.txt create mode 100644 client_example/16_convnd_fwd/common.hpp create mode 100644 client_example/16_convnd_fwd/conv3d_fwd_fp16.cpp create mode 100644 client_example/16_convnd_fwd/conv3d_fwd_fp16_comp_fp8.cpp create mode 100644 client_example/16_convnd_fwd/conv3d_fwd_fp32.cpp create mode 100644 client_example/17_grouped_gemm_fastgelu/CMakeLists.txt create mode 100644 client_example/17_grouped_gemm_fastgelu/grouped_gemm_fastgelu.cpp create mode 100644 client_example/18_groupnorm/CMakeLists.txt create mode 100644 client_example/18_groupnorm/groupnorm_bwd_data.cpp create mode 100644 client_example/18_groupnorm/groupnorm_bwd_gamma_beta.cpp create mode 100644 client_example/18_groupnorm/groupnorm_swish_fwd.cpp create mode 100644 client_example/19_pool/CMakeLists.txt create mode 100644 client_example/19_pool/avg_pool3d_bwd.cpp create mode 100644 client_example/19_pool/avg_pool3d_fwd.cpp create mode 100644 client_example/19_pool/max_pool2d_bwd.cpp create mode 100644 client_example/19_pool/max_pool2d_fwd.cpp create mode 100644 client_example/20_splitk_gemm/CMakeLists.txt create mode 100644 client_example/20_splitk_gemm/splitK_gemm_fp16_f8.cpp create mode 100644 client_example/21_grouped_gemm_bias/CMakeLists.txt create mode 100644 client_example/21_grouped_gemm_bias/grouped_gemm_fixed_nk_bias_fp16.cpp create mode 100644 client_example/22_grouped_gemm/CMakeLists.txt create mode 100644 client_example/22_grouped_gemm/grouped_gemm_fixed_nk_bf16.cpp create mode 100644 client_example/22_grouped_gemm/grouped_gemm_fixed_nk_fp16.cpp create mode 100644 client_example/22_grouped_gemm/grouped_gemm_fixed_nk_fp8.cpp create mode 100644 client_example/22_grouped_gemm/grouped_gemm_fixed_nk_i8.cpp create mode 100644 client_example/22_im2col_col2im/CMakeLists.txt create mode 100644 client_example/22_im2col_col2im/column_to_image.cpp create mode 100644 client_example/22_im2col_col2im/image_to_column.cpp create mode 100644 client_example/23_elementwise_transpose/CMakeLists.txt create mode 100644 client_example/23_elementwise_transpose/elementwise_transpose_3d.cpp create mode 100644 client_example/24_grouped_conv_activation/CMakeLists.txt create mode 100644 client_example/24_grouped_conv_activation/grouped_convnd_bwd_data_bilinear/grouped_conv_bwd_data_bilinear_residual_fp16.cpp create mode 100644 client_example/24_grouped_conv_activation/grouped_convnd_bwd_data_scale/grouped_conv_bwd_data_scale_fp16.cpp create mode 100644 client_example/24_grouped_conv_activation/grouped_convnd_bwd_weight_bilinear/grouped_conv_bwd_weight_bilinear_residual_fp16.cpp create mode 100644 client_example/24_grouped_conv_activation/grouped_convnd_bwd_weight_scale/grouped_conv_bwd_weight_scale_fp16.cpp create mode 100644 client_example/24_grouped_conv_activation/grouped_convnd_fwd_bilinear/grouped_conv_fwd_bilinear_residual_fp16.cpp create mode 100644 client_example/24_grouped_conv_activation/grouped_convnd_fwd_convinvscale/common.hpp create mode 100644 client_example/24_grouped_conv_activation/grouped_convnd_fwd_convinvscale/conv3d_fwd_convinvscale_fp8.cpp create mode 100644 client_example/24_grouped_conv_activation/grouped_convnd_fwd_convscale/common.hpp create mode 100644 client_example/24_grouped_conv_activation/grouped_convnd_fwd_convscale/conv3d_fwd_convscale_bf8.cpp create mode 100644 client_example/24_grouped_conv_activation/grouped_convnd_fwd_convscale/conv3d_fwd_convscale_bf8_fp8.cpp create mode 100644 client_example/24_grouped_conv_activation/grouped_convnd_fwd_convscale/conv3d_fwd_convscale_fp8.cpp create mode 100644 client_example/24_grouped_conv_activation/grouped_convnd_fwd_convscale/conv3d_fwd_convscale_fp8_bf8.cpp create mode 100644 client_example/24_grouped_conv_activation/grouped_convnd_fwd_convscale_add/common.hpp create mode 100644 client_example/24_grouped_conv_activation/grouped_convnd_fwd_convscale_add/conv3d_fwd_convscale_add_fp8.cpp create mode 100644 client_example/24_grouped_conv_activation/grouped_convnd_fwd_convscale_reduce/common.hpp create mode 100644 client_example/24_grouped_conv_activation/grouped_convnd_fwd_convscale_reduce/conv3d_fwd_convscale_amax_fp8.cpp create mode 100644 client_example/24_grouped_conv_activation/grouped_convnd_fwd_convscale_reduce/conv3d_fwd_convscale_relu_amax_fp8.cpp create mode 100644 client_example/24_grouped_conv_activation/grouped_convnd_fwd_convscale_relu/common.hpp create mode 100644 client_example/24_grouped_conv_activation/grouped_convnd_fwd_convscale_relu/conv3d_fwd_convscale_relu_fp8.cpp create mode 100644 client_example/24_grouped_conv_activation/grouped_convnd_fwd_scale/grouped_conv_fwd_scale_fp16.cpp create mode 100644 client_example/24_grouped_conv_activation/grouped_convnd_fwd_scaleadd_ab/grouped_conv_fwd_scaleadd_ab.inc create mode 100644 client_example/24_grouped_conv_activation/grouped_convnd_fwd_scaleadd_ab/grouped_conv_fwd_scaleadd_ab_bf16.cpp create mode 100644 client_example/24_grouped_conv_activation/grouped_convnd_fwd_scaleadd_ab/grouped_conv_fwd_scaleadd_ab_fp16.cpp create mode 100644 client_example/24_grouped_conv_activation/grouped_convnd_fwd_scaleadd_ab/grouped_conv_fwd_scaleadd_ab_fp32.cpp create mode 100644 client_example/24_grouped_conv_activation/grouped_convnd_fwd_scaleadd_ab/grouped_conv_fwd_scaleadd_ab_int8.cpp create mode 100644 client_example/24_grouped_conv_activation/grouped_convnd_fwd_scaleadd_scaleadd_relu/grouped_conv_fwd_scaleadd_scaleadd_relu.inc create mode 100644 client_example/24_grouped_conv_activation/grouped_convnd_fwd_scaleadd_scaleadd_relu/grouped_conv_fwd_scaleadd_scaleadd_relu_bf16.cpp create mode 100644 client_example/24_grouped_conv_activation/grouped_convnd_fwd_scaleadd_scaleadd_relu/grouped_conv_fwd_scaleadd_scaleadd_relu_fp16.cpp create mode 100644 client_example/24_grouped_conv_activation/grouped_convnd_fwd_scaleadd_scaleadd_relu/grouped_conv_fwd_scaleadd_scaleadd_relu_fp32.cpp create mode 100644 client_example/24_grouped_conv_activation/grouped_convnd_fwd_scaleadd_scaleadd_relu/grouped_conv_fwd_scaleadd_scaleadd_relu_int8.cpp create mode 100644 client_example/25_wrapper/CMakeLists.txt create mode 100644 client_example/25_wrapper/README.md create mode 100644 client_example/25_wrapper/tensor_transform_using_wrapper.cpp create mode 100644 client_example/25_wrapper/wrapper_basic_gemm.cpp create mode 100644 client_example/25_wrapper/wrapper_img2col.cpp create mode 100644 client_example/25_wrapper/wrapper_optimized_gemm.cpp create mode 100644 client_example/30_gemm_bf16Aint8B/CMakeLists.txt create mode 100644 client_example/30_gemm_bf16Aint8B/gemm_bias_fastgelu_xdl_bf16_i8.cpp create mode 100644 client_example/30_gemm_bf16Aint8B/gemm_bias_xdl_bf16_i8.cpp create mode 100644 client_example/30_gemm_bf16Aint8B/gemm_xdl_bf16_i8.cpp create mode 100644 client_example/30_gemm_bf16Aint8B/gemm_xdl_gelu_bf16_i8.cpp create mode 100644 client_example/30_gemm_bf16Aint8B/gemm_xdl_multiply_bf16_i8.cpp create mode 100644 client_example/31_grouped_gemm_bf16Aint8B/CMakeLists.txt create mode 100644 client_example/31_grouped_gemm_bf16Aint8B/grouped_gemm_bias_fastgelu_xdl_bf16_i8.cpp create mode 100644 client_example/31_grouped_gemm_bf16Aint8B/grouped_gemm_fastgelu_xdl_bf16_i8.cpp create mode 100644 client_example/31_grouped_gemm_bf16Aint8B/grouped_gemm_multiply_bias_fastgelu_xdl_bf16_i8.cpp create mode 100644 client_example/31_grouped_gemm_bf16Aint8B/grouped_gemm_multiply_xdl_bf16_i8.cpp create mode 100644 client_example/31_grouped_gemm_bf16Aint8B/grouped_gemm_xdl_bf16_i8.cpp create mode 100644 client_example/CMakeLists.txt create mode 100644 client_example/README.md create mode 100644 cmake/Analyzers.cmake create mode 100644 cmake/ClangTidy.cmake create mode 100644 cmake/CppCheck.cmake create mode 100644 cmake/DoxygenDoc.cmake create mode 100644 cmake/Embed.cmake create mode 100644 cmake/EnableCompilerWarnings.cmake create mode 100644 cmake/TargetFlags.cmake create mode 100644 cmake/getopt.cmake create mode 100644 cmake/gtest.cmake create mode 100644 codegen/CMakeLists.txt create mode 100644 codegen/README.md create mode 100644 codegen/driver/main.cpp create mode 100644 codegen/include/ck/host/device_batched_gemm_softmax_gemm/operation.hpp create mode 100644 codegen/include/ck/host/device_batched_gemm_softmax_gemm/problem.hpp create mode 100644 codegen/include/ck/host/device_gemm_multiple_d.hpp create mode 100644 codegen/include/ck/host/device_gemm_multiple_d/operation.hpp create mode 100644 codegen/include/ck/host/device_gemm_multiple_d/problem.hpp create mode 100644 codegen/include/ck/host/device_grouped_conv_fwd_multiple_d/conv_fwd_op.hpp create mode 100644 codegen/include/ck/host/device_grouped_conv_fwd_multiple_d/conv_fwd_problem.hpp create mode 100644 codegen/include/ck/host/headers.hpp create mode 100644 codegen/include/ck/host/operation/gemm.hpp create mode 100644 codegen/include/ck/host/stringutils.hpp create mode 100644 codegen/include/ck/host/types.hpp create mode 100644 codegen/include/ck/host/utils.hpp create mode 100644 codegen/src/device_batched_gemm_softmax_gemm.cpp create mode 100644 codegen/src/device_batched_gemm_softmax_gemm_operation_xdl_cshuffle.cpp create mode 100644 codegen/src/device_gemm_multiple_d.cpp create mode 100644 codegen/src/device_gemm_multiple_d_operation_xdl_cshuffle.cpp create mode 100644 codegen/src/device_grouped_conv_fwd_multiple_abd.cpp create mode 100644 codegen/src/device_grouped_conv_fwd_multiple_abd_operation_xdl_cshuffle.cpp create mode 100644 codegen/src/headers.cpp create mode 100644 codegen/src/types.cpp create mode 100644 codegen/src/utils.cpp create mode 100644 codegen/test/CMakeLists.txt create mode 100644 codegen/test/batched_gemm_softmax_gemm.cpp create mode 100644 codegen/test/gemm_multiple_d.cpp create mode 100644 codegen/test/grouped_conv_fwd_multiple_d_v1.cpp create mode 100644 codegen/test/grouped_conv_fwd_multiple_d_v2.cpp create mode 100644 codegen/test/grouped_conv_fwd_multiple_d_v3.cpp create mode 100644 codegen/test/grouped_conv_fwd_multiple_d_v4.cpp create mode 100644 codegen/test/include/common.hpp create mode 100644 codegen/test/include/test.hpp create mode 100644 codegen/test/rtc/CMakeLists.txt create mode 100644 codegen/test/rtc/include/rtc/compile_kernel.hpp create mode 100644 codegen/test/rtc/include/rtc/filesystem.hpp create mode 100644 codegen/test/rtc/include/rtc/hip.hpp create mode 100644 codegen/test/rtc/include/rtc/kernel.hpp create mode 100644 codegen/test/rtc/include/rtc/manage_ptr.hpp create mode 100644 codegen/test/rtc/include/rtc/tmp_dir.hpp create mode 100644 codegen/test/rtc/src/compile_kernel.cpp create mode 100644 codegen/test/rtc/src/hip.cpp create mode 100644 codegen/test/rtc/src/kernel.cpp create mode 100644 codegen/test/rtc/src/tmp_dir.cpp create mode 100644 dev-requirements.txt create mode 100644 docs/Contributors_Guide.rst create mode 100644 docs/conceptual/Composable-Kernel-math.rst create mode 100644 docs/conceptual/Composable-Kernel-structure.rst create mode 100644 docs/conf.py create mode 100644 docs/data/ck_component.png create mode 100644 docs/data/ck_layer.png create mode 100644 docs/doxygen/Doxyfile create mode 100644 docs/index.rst create mode 100644 docs/install/Composable-Kernel-Docker.rst create mode 100644 docs/install/Composable-Kernel-install.rst create mode 100644 docs/install/Composable-Kernel-prerequisites.rst create mode 100644 docs/license.rst create mode 100644 docs/reference/Composable-Kernel-API-reference.rst create mode 100644 docs/reference/Composable-Kernel-wrapper.rst create mode 100644 docs/reference/Composable_Kernel_custom_types.rst create mode 100644 docs/reference/Composable_Kernel_supported_scalar_types.rst create mode 100644 docs/reference/Composable_Kernel_vector_utilities.rst create mode 100644 docs/refs.bib create mode 100644 docs/sphinx/_toc.yml.in create mode 100644 docs/sphinx/requirements.in create mode 100644 docs/sphinx/requirements.txt create mode 100644 docs/tutorial/Composable-Kernel-examples.rst create mode 100755 example/01_gemm/CMakeLists.txt create mode 100644 example/01_gemm/README.md create mode 100644 example/01_gemm/common.hpp create mode 100644 example/01_gemm/gemm_dl_fp16.cpp create mode 100644 example/01_gemm/gemm_dl_fp32.cpp create mode 100644 example/01_gemm/gemm_dl_int4.cpp create mode 100644 example/01_gemm/gemm_dl_int8.cpp create mode 100644 example/01_gemm/gemm_dpp_fp16.cpp create mode 100644 example/01_gemm/gemm_wmma_bf16.cpp create mode 100644 example/01_gemm/gemm_wmma_fp16.cpp create mode 100644 example/01_gemm/gemm_wmma_int8.cpp create mode 100755 example/01_gemm/gemm_xdl_bf16.cpp create mode 100644 example/01_gemm/gemm_xdl_bf16_pk_i4_v3.cpp create mode 100755 example/01_gemm/gemm_xdl_bf16_streamk_v3.cpp create mode 100644 example/01_gemm/gemm_xdl_bf16_v3.cpp create mode 100644 example/01_gemm/gemm_xdl_fp16.cpp create mode 100644 example/01_gemm/gemm_xdl_fp16_fp8.cpp create mode 100644 example/01_gemm/gemm_xdl_fp16_fp8_streamk_v3.cpp create mode 100644 example/01_gemm/gemm_xdl_fp16_fp8_v3.cpp create mode 100644 example/01_gemm/gemm_xdl_fp16_pk_i4_v3.cpp create mode 100644 example/01_gemm/gemm_xdl_fp16_pk_i4_v3_b_scale.cpp create mode 100644 example/01_gemm/gemm_xdl_fp16_streamk_v3.cpp create mode 100644 example/01_gemm/gemm_xdl_fp16_v2.cpp create mode 100644 example/01_gemm/gemm_xdl_fp16_v3.cpp create mode 100644 example/01_gemm/gemm_xdl_fp64.cpp create mode 100644 example/01_gemm/gemm_xdl_fp8.cpp create mode 100644 example/01_gemm/gemm_xdl_fp8_bf8.cpp create mode 100644 example/01_gemm/gemm_xdl_fp8_pk_i4_bpreshuffle_v3.cpp create mode 100644 example/01_gemm/gemm_xdl_fp8_pk_i4_v3.cpp create mode 100755 example/01_gemm/gemm_xdl_fp8_streamk_v3.cpp create mode 100644 example/01_gemm/gemm_xdl_fp8_v3.cpp create mode 100644 example/01_gemm/gemm_xdl_int4.cpp create mode 100644 example/01_gemm/gemm_xdl_int8.cpp create mode 100644 example/01_gemm/gemm_xdl_lds_direct_load_fp16.cpp create mode 100644 example/01_gemm/gemm_xdl_lds_direct_load_fp32.cpp create mode 100644 example/01_gemm/gemm_xdl_skip_b_lds_fp16.cpp create mode 100644 example/01_gemm/gemm_xdl_streamk.cpp create mode 100644 example/01_gemm/gemm_xdl_wavelet_fp16.cpp create mode 100644 example/01_gemm/run_gemm_example.inc create mode 100644 example/01_gemm/run_gemm_example_streamk.inc create mode 100644 example/01_gemm/run_gemm_example_streamk_v2.inc create mode 100644 example/01_gemm/run_gemm_example_v2.inc create mode 100644 example/02_gemm_bilinear/CMakeLists.txt create mode 100644 example/02_gemm_bilinear/README.md create mode 100644 example/02_gemm_bilinear/gemm_bilinear_wmma_fp16.cpp create mode 100644 example/02_gemm_bilinear/gemm_bilinear_wmma_int8.cpp create mode 100644 example/02_gemm_bilinear/gemm_bilinear_xdl_fp16.cpp create mode 100644 example/03_gemm_bias_relu/CMakeLists.txt create mode 100644 example/03_gemm_bias_relu/README.md create mode 100644 example/03_gemm_bias_relu/gemm_bias_relu_xdl_fp16.cpp create mode 100644 example/04_gemm_add_add_fastgelu/CMakeLists.txt create mode 100644 example/04_gemm_add_add_fastgelu/README.md create mode 100644 example/04_gemm_add_add_fastgelu/common.hpp create mode 100644 example/04_gemm_add_add_fastgelu/gemm_add_add_fastgelu_xdl_bf16.cpp create mode 100644 example/04_gemm_add_add_fastgelu/gemm_add_add_fastgelu_xdl_fp16.cpp create mode 100644 example/04_gemm_add_add_fastgelu/gemm_add_add_fastgelu_xdl_fp32.cpp create mode 100644 example/04_gemm_add_add_fastgelu/gemm_add_add_fastgelu_xdl_int4.cpp create mode 100644 example/04_gemm_add_add_fastgelu/gemm_add_add_fastgelu_xdl_int8.cpp create mode 100644 example/04_gemm_add_add_fastgelu/gemm_add_add_fastgelu_xdl_lds_direct_load_fp32.cpp create mode 100644 example/04_gemm_add_add_fastgelu/run_gemm_add_add_fastgelu_example.inc create mode 100644 example/09_convnd_fwd/CMakeLists.txt create mode 100644 example/09_convnd_fwd/README.md create mode 100644 example/09_convnd_fwd/convnd_fwd_common.hpp create mode 100644 example/09_convnd_fwd/convnd_fwd_dl_common.hpp create mode 100644 example/09_convnd_fwd/convnd_fwd_dl_fp16.cpp create mode 100644 example/09_convnd_fwd/convnd_fwd_dl_fp32.cpp create mode 100644 example/09_convnd_fwd/convnd_fwd_dl_int8.cpp create mode 100644 example/09_convnd_fwd/convnd_fwd_xdl_bf16.cpp create mode 100644 example/09_convnd_fwd/convnd_fwd_xdl_bf8.cpp create mode 100644 example/09_convnd_fwd/convnd_fwd_xdl_bf8_fp8.cpp create mode 100644 example/09_convnd_fwd/convnd_fwd_xdl_fp16.cpp create mode 100644 example/09_convnd_fwd/convnd_fwd_xdl_fp16_comp_fp8.cpp create mode 100644 example/09_convnd_fwd/convnd_fwd_xdl_fp32.cpp create mode 100644 example/09_convnd_fwd/convnd_fwd_xdl_fp64.cpp create mode 100644 example/09_convnd_fwd/convnd_fwd_xdl_fp8.cpp create mode 100644 example/09_convnd_fwd/convnd_fwd_xdl_fp8_bf8.cpp create mode 100644 example/09_convnd_fwd/convnd_fwd_xdl_int8.cpp create mode 100644 example/09_convnd_fwd/run_convnd_fwd_dl_example.inc create mode 100644 example/09_convnd_fwd/run_convnd_fwd_example.inc create mode 100644 example/10_convnd_fwd_multiple_d_multiple_reduce/CMakeLists.txt create mode 100644 example/10_convnd_fwd_multiple_d_multiple_reduce/common.hpp create mode 100644 example/10_convnd_fwd_multiple_d_multiple_reduce/convnd_fwd_max_xdl_bf16.cpp create mode 100644 example/10_convnd_fwd_multiple_d_multiple_reduce/convnd_fwd_max_xdl_fp16.cpp create mode 100644 example/10_convnd_fwd_multiple_d_multiple_reduce/convnd_fwd_max_xdl_fp32.cpp create mode 100644 example/10_convnd_fwd_multiple_d_multiple_reduce/convnd_fwd_max_xdl_int4.cpp create mode 100644 example/10_convnd_fwd_multiple_d_multiple_reduce/convnd_fwd_max_xdl_int8.cpp create mode 100644 example/10_convnd_fwd_multiple_d_multiple_reduce/run_convnd_fwd_max_example.inc create mode 100644 example/12_reduce/CMakeLists.txt create mode 100644 example/12_reduce/README.md create mode 100644 example/12_reduce/reduce_blockwise.cpp create mode 100644 example/12_reduce/reduce_blockwise_impl.hpp create mode 100644 example/12_reduce/reduce_blockwise_two_call.cpp create mode 100644 example/12_reduce/reduce_example_common.hpp create mode 100644 example/12_reduce/reduce_multiblock_atomic_add.cpp create mode 100644 example/12_reduce/reduce_multiblock_atomic_add_impl.hpp create mode 100644 example/12_reduce/reduce_threadwise_multi_d.cpp create mode 100644 example/12_reduce/reduce_threadwise_multi_d_impl.hpp create mode 100644 example/13_pool2d_fwd/CMakeLists.txt create mode 100644 example/13_pool2d_fwd/README.md create mode 100644 example/13_pool2d_fwd/pool2d_fwd_common.hpp create mode 100644 example/13_pool2d_fwd/pool2d_fwd_fp16.cpp create mode 100644 example/13_pool2d_fwd/pool2d_fwd_fp32.cpp create mode 100644 example/14_gemm_quantization/CMakeLists.txt create mode 100644 example/14_gemm_quantization/gemm_dl_quantization_int8.cpp create mode 100644 example/14_gemm_quantization/gemm_xdl_bias_relu_quantization_int8.cpp create mode 100644 example/14_gemm_quantization/gemm_xdl_quantization_int8.cpp create mode 100644 example/15_grouped_gemm/CMakeLists.txt create mode 100644 example/15_grouped_gemm/README.md create mode 100644 example/15_grouped_gemm/grouped_gemm_multiple_d_dl_fp16.cpp create mode 100644 example/15_grouped_gemm/grouped_gemm_multiple_d_splitk_xdl_fp16.cpp create mode 100644 example/15_grouped_gemm/grouped_gemm_multiple_d_xdl_fp16.cpp create mode 100644 example/15_grouped_gemm/grouped_gemm_xdl_bf16.cpp create mode 100644 example/15_grouped_gemm/grouped_gemm_xdl_fixed_nk_bias_fp16.cpp create mode 100644 example/15_grouped_gemm/grouped_gemm_xdl_fixed_nk_fp16.cpp create mode 100644 example/15_grouped_gemm/grouped_gemm_xdl_fixed_nk_fp16_fp8.cpp create mode 100644 example/15_grouped_gemm/grouped_gemm_xdl_fp16.cpp create mode 100644 example/15_grouped_gemm/grouped_gemm_xdl_fp32.cpp create mode 100644 example/15_grouped_gemm/grouped_gemm_xdl_int4.cpp create mode 100644 example/15_grouped_gemm/grouped_gemm_xdl_int8.cpp create mode 100644 example/15_grouped_gemm/grouped_gemm_xdl_splitk_fp16.cpp create mode 100644 example/15_grouped_gemm/run_grouped_gemm_example.inc create mode 100644 example/16_gemm_multi_d_multi_reduces/CMakeLists.txt create mode 100644 example/16_gemm_multi_d_multi_reduces/gemm_add_add_mean_meansquare_xdl_fp16.cpp create mode 100644 example/16_gemm_multi_d_multi_reduces/gemm_add_addsquare_xdl_int8.cpp create mode 100644 example/16_gemm_multi_d_multi_reduces/gemm_max_xdl_bf16.cpp create mode 100644 example/16_gemm_multi_d_multi_reduces/gemm_max_xdl_fp16.cpp create mode 100644 example/16_gemm_multi_d_multi_reduces/gemm_max_xdl_fp32.cpp create mode 100644 example/16_gemm_multi_d_multi_reduces/gemm_max_xdl_int4.cpp create mode 100644 example/16_gemm_multi_d_multi_reduces/gemm_max_xdl_int8.cpp create mode 100644 example/16_gemm_multi_d_multi_reduces/gemm_mean_meansquare_xdl_bf16.cpp create mode 100644 example/16_gemm_multi_d_multi_reduces/gemm_mean_meansquare_xdl_fp16.cpp create mode 100644 example/16_gemm_multi_d_multi_reduces/gemm_mean_meansquare_xdl_fp32.cpp create mode 100644 example/16_gemm_multi_d_multi_reduces/gemm_reduce_xdl_common.hpp create mode 100644 example/17_convnd_bwd_data/CMakeLists.txt create mode 100644 example/17_convnd_bwd_data/README.md create mode 100644 example/17_convnd_bwd_data/convnd_bwd_data_common.hpp create mode 100644 example/17_convnd_bwd_data/convnd_bwd_data_dl_fp16.cpp create mode 100644 example/17_convnd_bwd_data/convnd_bwd_data_xdl_fp16.cpp create mode 100644 example/18_batched_gemm_reduce/CMakeLists.txt create mode 100644 example/18_batched_gemm_reduce/batched_gemm_reduce_xdl_fp16.cpp create mode 100644 example/19_binary_elementwise/CMakeLists.txt create mode 100644 example/19_binary_elementwise/broadcast_add_2d_amn_bn.cpp create mode 100644 example/19_binary_elementwise/broadcast_add_3d_am_bmnk.cpp create mode 100644 example/19_binary_elementwise/elementwise_add_1d.cpp create mode 100644 example/19_binary_elementwise/elementwise_add_4d.cpp create mode 100644 example/20_grouped_conv_bwd_weight/CMakeLists.txt create mode 100644 example/20_grouped_conv_bwd_weight/common.hpp create mode 100644 example/20_grouped_conv_bwd_weight/grouped_conv_bwd_weight_dl_fp16.cpp create mode 100644 example/20_grouped_conv_bwd_weight/grouped_conv_bwd_weight_v3_xdl_bf16.cpp create mode 100644 example/20_grouped_conv_bwd_weight/grouped_conv_bwd_weight_v3_xdl_fp16.cpp create mode 100644 example/20_grouped_conv_bwd_weight/grouped_conv_bwd_weight_wmma_fp16.cpp create mode 100644 example/20_grouped_conv_bwd_weight/grouped_conv_bwd_weight_xdl_bf16.cpp create mode 100644 example/20_grouped_conv_bwd_weight/grouped_conv_bwd_weight_xdl_fp16.cpp create mode 100644 example/20_grouped_conv_bwd_weight/grouped_conv_bwd_weight_xdl_fp16_comp_bf8_fp8.cpp create mode 100644 example/20_grouped_conv_bwd_weight/run_grouped_conv_bwd_weight_example.inc create mode 100644 example/21_gemm_layernorm/CMakeLists.txt create mode 100644 example/21_gemm_layernorm/gemm_bias_relu_add_layernorm_xdl_naive_fp16.cpp create mode 100644 example/21_gemm_layernorm/gemm_bias_relu_add_layernorm_xdl_welford_fp16.cpp create mode 100644 example/21_gemm_layernorm/gemm_layernorm_xdl_naive_fp16.cpp create mode 100644 example/21_gemm_layernorm/gemm_xdl_layernorm_naive_single_kernel_fp16.cpp create mode 100644 example/22_cgemm/CMakeLists.txt create mode 100644 example/22_cgemm/cgemm_xdl_bf16.cpp create mode 100644 example/22_cgemm/cgemm_xdl_common.hpp create mode 100644 example/22_cgemm/cgemm_xdl_fp16.cpp create mode 100644 example/22_cgemm/cgemm_xdl_fp32.cpp create mode 100644 example/22_cgemm/cgemm_xdl_int4.cpp create mode 100644 example/22_cgemm/cgemm_xdl_int8.cpp create mode 100644 example/23_softmax/CMakeLists.txt create mode 100644 example/23_softmax/README.md create mode 100644 example/23_softmax/softmax_blockwise.cpp create mode 100644 example/24_batched_gemm/CMakeLists.txt create mode 100644 example/24_batched_gemm/batched_gemm_xdl_bf16.cpp create mode 100644 example/24_batched_gemm/batched_gemm_xdl_bf16_v3.cpp create mode 100644 example/24_batched_gemm/batched_gemm_xdl_fp16.cpp create mode 100644 example/24_batched_gemm/batched_gemm_xdl_fp16int4_b_scale_v3.cpp create mode 100644 example/24_batched_gemm/batched_gemm_xdl_fp32.cpp create mode 100644 example/24_batched_gemm/batched_gemm_xdl_fp8_rowwise_v3.cpp create mode 100644 example/24_batched_gemm/batched_gemm_xdl_int4.cpp create mode 100644 example/24_batched_gemm/batched_gemm_xdl_int8.cpp create mode 100644 example/24_batched_gemm/run_batched_gemm_example.inc create mode 100644 example/24_batched_gemm/run_batched_gemm_example_fp16int4_b_scale.inc create mode 100644 example/24_batched_gemm/run_batched_gemm_example_rowwise.inc create mode 100644 example/25_gemm_bias_e_permute/CMakeLists.txt create mode 100644 example/25_gemm_bias_e_permute/gemm_bias_e_permute_g1m2n3k1_xdl_fp16.cpp create mode 100644 example/25_gemm_bias_e_permute/gemm_bias_e_permute_g1m3n2k1_xdl_fp16.cpp create mode 100644 example/26_contraction/CMakeLists.txt create mode 100644 example/26_contraction/README.md create mode 100644 example/26_contraction/common_instances.hpp create mode 100644 example/26_contraction/contraction_bilinear_xdl_bf16_compute_fp32.cpp create mode 100644 example/26_contraction/contraction_bilinear_xdl_fp16_compute_fp32.cpp create mode 100644 example/26_contraction/contraction_bilinear_xdl_fp32.cpp create mode 100644 example/26_contraction/contraction_bilinear_xdl_fp32_compute_bf16.cpp create mode 100644 example/26_contraction/contraction_bilinear_xdl_fp32_compute_fp16.cpp create mode 100644 example/26_contraction/contraction_bilinear_xdl_fp64.cpp create mode 100644 example/26_contraction/contraction_bilinear_xdl_fp64_compute_fp32.cpp create mode 100644 example/26_contraction/contraction_scale_xdl_bf16_compute_fp32.cpp create mode 100644 example/26_contraction/contraction_scale_xdl_fp16_compute_fp32.cpp create mode 100644 example/26_contraction/contraction_scale_xdl_fp32.cpp create mode 100644 example/26_contraction/contraction_scale_xdl_fp32_compute_bf16.cpp create mode 100644 example/26_contraction/contraction_scale_xdl_fp32_compute_fp16.cpp create mode 100644 example/26_contraction/contraction_scale_xdl_fp64.cpp create mode 100644 example/26_contraction/contraction_scale_xdl_fp64_compute_fp32.cpp create mode 100644 example/26_contraction/run_contraction_bilinear_example.inc create mode 100644 example/26_contraction/run_contraction_scale_example.inc create mode 100644 example/27_layernorm2d_fwd/CMakeLists.txt create mode 100644 example/27_layernorm2d_fwd/common.hpp create mode 100644 example/27_layernorm2d_fwd/layernorm2d_fwd_fp16.cpp create mode 100644 example/27_layernorm2d_fwd/layernorm2d_fwd_splitk_fp16.cpp create mode 100644 example/27_layernorm2d_fwd/run_layernorm_example.inc create mode 100644 example/28_grouped_gemm_bias_e_permute/CMakeLists.txt create mode 100644 example/28_grouped_gemm_bias_e_permute/grouped_gemm_bias_e_permute_xdl_fp16.cpp create mode 100644 example/29_batched_gemm_bias_e_permute/CMakeLists.txt create mode 100644 example/29_batched_gemm_bias_e_permute/batched_gemm_bias_e_permute_wmma_fp16.cpp create mode 100644 example/29_batched_gemm_bias_e_permute/batched_gemm_bias_e_permute_xdl_fp16.cpp create mode 100644 example/30_grouped_conv_fwd_multiple_d/CMakeLists.txt create mode 100644 example/30_grouped_conv_fwd_multiple_d/README.md create mode 100644 example/30_grouped_conv_fwd_multiple_d/common.hpp create mode 100644 example/30_grouped_conv_fwd_multiple_d/common_wmma.hpp create mode 100644 example/30_grouped_conv_fwd_multiple_d/grouped_conv_fwd_bias_relu_add_wmma_fp16.cpp create mode 100644 example/30_grouped_conv_fwd_multiple_d/grouped_conv_fwd_bias_relu_add_wmma_int8.cpp create mode 100644 example/30_grouped_conv_fwd_multiple_d/grouped_conv_fwd_bias_relu_add_xdl_bf16.cpp create mode 100644 example/30_grouped_conv_fwd_multiple_d/grouped_conv_fwd_bias_relu_add_xdl_fp16.cpp create mode 100644 example/30_grouped_conv_fwd_multiple_d/grouped_conv_fwd_bias_relu_add_xdl_fp32.cpp create mode 100644 example/30_grouped_conv_fwd_multiple_d/grouped_conv_fwd_bias_relu_add_xdl_int4.cpp create mode 100644 example/30_grouped_conv_fwd_multiple_d/grouped_conv_fwd_bias_relu_add_xdl_int8.cpp create mode 100644 example/30_grouped_conv_fwd_multiple_d/grouped_conv_fwd_xdl_fp16.cpp create mode 100644 example/30_grouped_conv_fwd_multiple_d/run_grouped_conv_fwd_bias_relu_add_example.inc create mode 100644 example/30_grouped_conv_fwd_multiple_d/run_grouped_conv_fwd_bias_relu_add_wmma_example.inc create mode 100644 example/30_grouped_conv_fwd_multiple_d/run_grouped_conv_fwd_example.inc create mode 100644 example/31_batched_gemm_gemm/CMakeLists.txt create mode 100644 example/31_batched_gemm_gemm/batched_gemm_gemm_xdl_bf16.cpp create mode 100644 example/31_batched_gemm_gemm/batched_gemm_gemm_xdl_fp16.cpp create mode 100644 example/31_batched_gemm_gemm/batched_gemm_gemm_xdl_fp32.cpp create mode 100644 example/31_batched_gemm_gemm/batched_gemm_gemm_xdl_int4.cpp create mode 100644 example/31_batched_gemm_gemm/batched_gemm_gemm_xdl_int8.cpp create mode 100644 example/31_batched_gemm_gemm/run_batched_gemm_gemm_example.inc create mode 100644 example/32_batched_gemm_scale_softmax_gemm/CMakeLists.txt create mode 100644 example/32_batched_gemm_scale_softmax_gemm/batched_gemm_lower_triangle_scale_softmax_gemm_permute_wmma_fp16.cpp create mode 100644 example/32_batched_gemm_scale_softmax_gemm/batched_gemm_lower_triangle_scale_softmax_gemm_permute_xdl_fp16.cpp create mode 100644 example/32_batched_gemm_scale_softmax_gemm/batched_gemm_scale_softmax_gemm_permute_wmma_fp16.cpp create mode 100644 example/32_batched_gemm_scale_softmax_gemm/batched_gemm_scale_softmax_gemm_permute_xdl_bf16.cpp create mode 100644 example/32_batched_gemm_scale_softmax_gemm/batched_gemm_scale_softmax_gemm_permute_xdl_fp16.cpp create mode 100644 example/32_batched_gemm_scale_softmax_gemm/batched_gemm_scale_softmax_gemm_xdl_bf16.cpp create mode 100644 example/32_batched_gemm_scale_softmax_gemm/batched_gemm_scale_softmax_gemm_xdl_fp16.cpp create mode 100644 example/32_batched_gemm_scale_softmax_gemm/cross_attention_forward_wmma_fp16.cpp create mode 100644 example/32_batched_gemm_scale_softmax_gemm/grouped_gemm_lower_triangle_scale_softmax_gemm_permute_xdl_fp16.cpp create mode 100644 example/32_batched_gemm_scale_softmax_gemm/grouped_gemm_scale_softmax_gemm_permute_xdl_fp16.cpp create mode 100644 example/32_batched_gemm_scale_softmax_gemm/grouped_query_attention_forward_wmma_fp16.cpp create mode 100644 example/32_batched_gemm_scale_softmax_gemm/multi_query_attention_forward_wmma_fp16.cpp create mode 100644 example/32_batched_gemm_scale_softmax_gemm/run_batched_gemm_scale_softmax_gemm.inc create mode 100644 example/32_batched_gemm_scale_softmax_gemm/run_batched_gemm_scale_softmax_gemm_permute.inc create mode 100644 example/32_batched_gemm_scale_softmax_gemm/run_batched_gemm_scale_softmax_gemm_permute_wmma.inc create mode 100644 example/32_batched_gemm_scale_softmax_gemm/run_cross_attention_wmma.inc create mode 100644 example/32_batched_gemm_scale_softmax_gemm/run_grouped_gemm_scale_softmax_gemm_permute.inc create mode 100644 example/32_batched_gemm_scale_softmax_gemm/run_grouped_query_attention_forward_wmma.inc create mode 100644 example/32_batched_gemm_scale_softmax_gemm/run_multi_query_attention_forward_wmma.inc create mode 100644 example/32_batched_gemm_scale_softmax_gemm/run_self_attention_wmma.inc create mode 100644 example/32_batched_gemm_scale_softmax_gemm/self_attention_forward_wmma_fp16.cpp create mode 100644 example/33_multiple_reduce/CMakeLists.txt create mode 100644 example/33_multiple_reduce/README.md create mode 100644 example/33_multiple_reduce/dual_reduce_common.hpp create mode 100644 example/33_multiple_reduce/dual_reduce_multiblock.cpp create mode 100644 example/33_multiple_reduce/dual_reduce_threadwise.cpp create mode 100644 example/34_batchnorm/CMakeLists.txt create mode 100644 example/34_batchnorm/README.md create mode 100644 example/34_batchnorm/batchnorm_backward_nhwc.cpp create mode 100644 example/34_batchnorm/batchnorm_common.hpp create mode 100644 example/34_batchnorm/batchnorm_forward_inferring_nhwc.cpp create mode 100644 example/34_batchnorm/batchnorm_forward_training_nhwc.cpp create mode 100644 example/34_batchnorm/batchnorm_forward_training_nhwc_obsolete.cpp create mode 100644 example/34_batchnorm/batchnorm_infer_impl.hpp create mode 100644 example/35_splitK_gemm/CMakeLists.txt create mode 100644 example/35_splitK_gemm/common.hpp create mode 100644 example/35_splitK_gemm/gemm_xdl_splitk_reduce_bf16.cpp create mode 100644 example/35_splitK_gemm/gemm_xdl_splitk_reduce_bf16A_i8B.cpp create mode 100644 example/35_splitK_gemm/gemm_xdl_splitk_reduce_multi_d_bf16.cpp create mode 100644 example/35_splitK_gemm/gemm_xdl_splitk_reduce_multi_d_fp16.cpp create mode 100644 example/35_splitK_gemm/run_gemm_splitk_reduce_multi_d_example.inc create mode 100644 example/35_splitK_gemm/run_splitK_gemm_example.inc create mode 100644 example/35_splitK_gemm/splitK_gemm_xdl_bf16.cpp create mode 100644 example/35_splitK_gemm/splitK_gemm_xdl_fp16.cpp create mode 100644 example/35_splitK_gemm/splitK_gemm_xdl_fp16_fp8.cpp create mode 100644 example/35_splitK_gemm/splitK_gemm_xdl_fp32.cpp create mode 100644 example/35_splitK_gemm/splitK_gemm_xdl_int4.cpp create mode 100644 example/35_splitK_gemm/splitK_gemm_xdl_int8.cpp create mode 100644 example/35_splitK_gemm/splitK_gemm_xdl_lds_direct_load_fp16.cpp create mode 100644 example/36_sparse_embedding/CMakeLists.txt create mode 100644 example/36_sparse_embedding/sparse_embedding3_forward_layernorm.cpp create mode 100644 example/37_batched_gemm_add_add_relu_gemm_add/CMakeLists.txt create mode 100644 example/37_batched_gemm_add_add_relu_gemm_add/batched_gemm_add_add_relu_gemm_add_xdl_fp16.cpp create mode 100644 example/38_grouped_conv_bwd_data_multiple_d/CMakeLists.txt create mode 100644 example/38_grouped_conv_bwd_data_multiple_d/common.hpp create mode 100644 example/38_grouped_conv_bwd_data_multiple_d/grouped_conv_bwd_data_bias_relu_xdl_fp16.cpp create mode 100644 example/38_grouped_conv_bwd_data_multiple_d/grouped_conv_bwd_data_wmma_fp16.cpp create mode 100644 example/38_grouped_conv_bwd_data_multiple_d/grouped_conv_bwd_data_xdl_fp16.cpp create mode 100644 example/38_grouped_conv_bwd_data_multiple_d/grouped_conv_bwd_data_xdl_fp16_comp_bf8_fp8.cpp create mode 100644 example/38_grouped_conv_bwd_data_multiple_d/run_grouped_conv_bwd_data_bias_relu_example.inc create mode 100644 example/38_grouped_conv_bwd_data_multiple_d/run_grouped_conv_bwd_data_example.inc create mode 100644 example/39_permute/CMakeLists.txt create mode 100644 example/39_permute/common.hpp create mode 100644 example/39_permute/permute_1xHxW_fp16.cpp create mode 100644 example/39_permute/permute_HxWx4_fp16.cpp create mode 100644 example/39_permute/permute_NxHxW_fp16.cpp create mode 100644 example/39_permute/run_permute_bundle_example.inc create mode 100644 example/39_permute/run_permute_element_example.inc create mode 100644 example/40_conv2d_fwd_quantization/CMakeLists.txt create mode 100644 example/40_conv2d_fwd_quantization/common.hpp create mode 100644 example/40_conv2d_fwd_quantization/conv2d_fwd_dl_bias_relu_perchannel_quantization_int8.cpp create mode 100644 example/40_conv2d_fwd_quantization/conv2d_fwd_dl_bias_relu_perlayer_quantization_int8.cpp create mode 100644 example/40_conv2d_fwd_quantization/conv2d_fwd_dl_bias_tanh_perchannel_quantization_int8.cpp create mode 100644 example/40_conv2d_fwd_quantization/conv2d_fwd_dl_bias_tanh_perlayer_quantization_int8.cpp create mode 100644 example/40_conv2d_fwd_quantization/conv2d_fwd_dl_perchannel_quantization_int8.cpp create mode 100644 example/40_conv2d_fwd_quantization/conv2d_fwd_dl_perlayer_quantization_int8.cpp create mode 100644 example/40_conv2d_fwd_quantization/conv2d_fwd_xdl_bias_relu_perchannel_quantization_int8.cpp create mode 100644 example/40_conv2d_fwd_quantization/conv2d_fwd_xdl_bias_relu_perlayer_quantization_int8.cpp create mode 100644 example/40_conv2d_fwd_quantization/conv2d_fwd_xdl_perchannel_quantization_int8.cpp create mode 100644 example/40_conv2d_fwd_quantization/conv2d_fwd_xdl_perlayer_quantization_int8.cpp create mode 100644 example/40_conv2d_fwd_quantization/run_conv2d_fwd_bias_perchannel_quantization_example.inc create mode 100644 example/40_conv2d_fwd_quantization/run_conv2d_fwd_bias_perlayer_quantization_example.inc create mode 100644 example/40_conv2d_fwd_quantization/run_conv2d_fwd_perchannel_quantization_example.inc create mode 100644 example/40_conv2d_fwd_quantization/run_conv2d_fwd_perlayer_quantization_example.inc create mode 100644 example/41_grouped_conv_conv_fwd/CMakeLists.txt create mode 100644 example/41_grouped_conv_conv_fwd/grouped_conv_conv_fwd_xdl_bf16.cpp create mode 100644 example/41_grouped_conv_conv_fwd/grouped_conv_conv_fwd_xdl_fp16.cpp create mode 100644 example/41_grouped_conv_conv_fwd/grouped_conv_conv_fwd_xdl_fp32.cpp create mode 100644 example/41_grouped_conv_conv_fwd/grouped_conv_conv_fwd_xdl_int4.cpp create mode 100644 example/41_grouped_conv_conv_fwd/grouped_conv_conv_fwd_xdl_int8.cpp create mode 100644 example/41_grouped_conv_conv_fwd/run_grouped_conv_conv_fwd_example.inc create mode 100644 example/42_groupnorm_fwd/CMakeLists.txt create mode 100644 example/42_groupnorm_fwd/common.hpp create mode 100644 example/42_groupnorm_fwd/groupnorm_fwd_sigmoid_mul_fp16.cpp create mode 100644 example/42_groupnorm_fwd/groupnorm_fwd_splitk_fp16.cpp create mode 100644 example/42_groupnorm_fwd/groupnorm_fwd_swish_fp16.cpp create mode 100644 example/42_groupnorm_fwd/run_groupnorm_fwd_example.inc create mode 100644 example/43_splitk_gemm_bias_e_permute/CMakeLists.txt create mode 100644 example/43_splitk_gemm_bias_e_permute/splitk_gemm_bias_e_permute_xdl_fp16.cpp create mode 100644 example/43_splitk_gemm_bias_e_permute/splitk_gemm_bias_e_permute_xdl_fp32.cpp create mode 100644 example/44_elementwise_permute/CMakeLists.txt create mode 100644 example/44_elementwise_permute/elementwise_binary_4D_fp16.cpp create mode 100644 example/44_elementwise_permute/elementwise_permute_4D_fp16.cpp create mode 100644 example/44_elementwise_permute/elementwise_permute_4D_fp16_col.cpp create mode 100644 example/44_elementwise_permute/elementwise_permute_4D_fp16_row.cpp create mode 100644 example/44_elementwise_permute/elementwise_permute_4D_fp32_col.cpp create mode 100644 example/44_elementwise_permute/elementwise_permute_4D_fp32_row.cpp create mode 100644 example/44_elementwise_permute/elementwise_scale_permute_amax_2D_fp16_fp8.cpp create mode 100644 example/44_elementwise_permute/elementwise_trinary_4D_fp16.cpp create mode 100644 example/45_elementwise_normalization/CMakeLists.txt create mode 100644 example/45_elementwise_normalization/elementwise_layernorm_blockwise.cpp create mode 100644 example/46_gemm_add_multiply/CMakeLists.txt create mode 100644 example/46_gemm_add_multiply/README.md create mode 100644 example/46_gemm_add_multiply/common.hpp create mode 100644 example/46_gemm_add_multiply/gemm_add_multiply_dl_fp16.cpp create mode 100644 example/46_gemm_add_multiply/gemm_add_multiply_xdl_fp16.cpp create mode 100644 example/46_gemm_add_multiply/run_gemm_add_multiply_example.inc create mode 100644 example/47_gemm_bias_softmax_gemm_permute/CMakeLists.txt create mode 100644 example/47_gemm_bias_softmax_gemm_permute/gemm_bias_softmax_gemm_permute_xdl.cpp create mode 100644 example/48_pool3d_fwd/CMakeLists.txt create mode 100644 example/48_pool3d_fwd/pool3d_fwd_common.hpp create mode 100644 example/48_pool3d_fwd/pool3d_fwd_fp16.cpp create mode 100644 example/49_maxpool2d_bwd/CMakeLists.txt create mode 100644 example/49_maxpool2d_bwd/maxpool2d_bwd_bf16.cpp create mode 100644 example/49_maxpool2d_bwd/maxpool2d_bwd_common.hpp create mode 100644 example/49_maxpool2d_bwd/maxpool2d_bwd_fp16.cpp create mode 100644 example/49_maxpool2d_bwd/maxpool2d_bwd_fp32.cpp create mode 100644 example/50_put_element/CMakeLists.txt create mode 100644 example/50_put_element/put_element_fp16.cpp create mode 100644 example/51_avgpool3d_bwd/CMakeLists.txt create mode 100644 example/51_avgpool3d_bwd/avgpool3d_bwd_bf16.cpp create mode 100644 example/51_avgpool3d_bwd/avgpool3d_bwd_common.hpp create mode 100644 example/51_avgpool3d_bwd/avgpool3d_bwd_fp16.cpp create mode 100644 example/51_avgpool3d_bwd/avgpool3d_bwd_fp32.cpp create mode 100644 example/52_im2col_col2im/CMakeLists.txt create mode 100644 example/52_im2col_col2im/column_to_image_f32.cpp create mode 100644 example/52_im2col_col2im/common.hpp create mode 100644 example/52_im2col_col2im/image_to_column_f32.cpp create mode 100644 example/53_layernorm2d_bwd/CMakeLists.txt create mode 100644 example/53_layernorm2d_bwd/layernorm2d_bwd_fp32.cpp create mode 100644 example/54_groupnorm_bwd/CMakeLists.txt create mode 100644 example/54_groupnorm_bwd/groupnorm_bwd_fp32.cpp create mode 100644 example/59_grouped_gemm_multi_ABD/CMakeLists.txt create mode 100644 example/59_grouped_gemm_multi_ABD/grouped_gemm_multi_abd_xdl_fixed_nk_bias_bf16_i8.cpp create mode 100644 example/59_grouped_gemm_multi_ABD/grouped_gemm_multi_abd_xdl_fixed_nk_bias_fp16.cpp create mode 100644 example/60_gemm_multi_ABD/CMakeLists.txt create mode 100644 example/60_gemm_multi_ABD/gemm_multi_ABD_xdl_bias_fastgelu_bf16_i8.cpp create mode 100644 example/60_gemm_multi_ABD/gemm_multi_ABD_xdl_fastgelu_bf16_i8.cpp create mode 100644 example/60_gemm_multi_ABD/gemm_multi_ABD_xdl_fp16.cpp create mode 100644 example/60_gemm_multi_ABD/gemm_multi_ABD_xdl_multiply_bias_fastgelu_bf16_i8.cpp create mode 100644 example/61_contraction_multi_ABD/CMakeLists.txt create mode 100644 example/61_contraction_multi_ABD/contraction_multi_ABD_xdl_fp16.cpp create mode 100644 example/61_contraction_multi_ABD/contraction_multi_ABD_xdl_fp8.cpp create mode 100644 example/62_convnd_activ/CMakeLists.txt create mode 100644 example/62_convnd_activ/binary/CMakeLists.txt create mode 100644 example/62_convnd_activ/binary/convnd_bwd_data_xdl_bilinear_residual_fp16.cpp create mode 100644 example/62_convnd_activ/binary/convnd_bwd_weight_xdl_bilinear_residual_fp16.cpp create mode 100644 example/62_convnd_activ/binary/convnd_fwd_xdl_bilinear_residual_fp16.cpp create mode 100644 example/62_convnd_activ/convinvscale/CMakeLists.txt create mode 100644 example/62_convnd_activ/convinvscale/convnd_fwd_convinvscale_common.hpp create mode 100644 example/62_convnd_activ/convinvscale/convnd_fwd_xdl_convinvscale_fp8.cpp create mode 100644 example/62_convnd_activ/convinvscale/run_convnd_fwd_convinvscale_example.inc create mode 100644 example/62_convnd_activ/convnd_fwd_xdl_scaleadd_scaleadd_relu_bcasted_bias_fp16.cpp create mode 100644 example/62_convnd_activ/convnd_fwd_xdl_scaleadd_scaleadd_relu_fp16.cpp create mode 100644 example/62_convnd_activ/convscale/CMakeLists.txt create mode 100644 example/62_convnd_activ/convscale/convnd_fwd_convscale_common.hpp create mode 100644 example/62_convnd_activ/convscale/convnd_fwd_xdl_convscale_bf8.cpp create mode 100644 example/62_convnd_activ/convscale/convnd_fwd_xdl_convscale_bf8_fp8.cpp create mode 100644 example/62_convnd_activ/convscale/convnd_fwd_xdl_convscale_fp8.cpp create mode 100644 example/62_convnd_activ/convscale/convnd_fwd_xdl_convscale_fp8_bf8.cpp create mode 100644 example/62_convnd_activ/convscale/run_convnd_fwd_convscale_example.inc create mode 100644 example/62_convnd_activ/convscale_add/CMakeLists.txt create mode 100644 example/62_convnd_activ/convscale_add/convnd_fwd_convscale_add_common.hpp create mode 100644 example/62_convnd_activ/convscale_add/convnd_fwd_xdl_convscale_add_fp8.cpp create mode 100644 example/62_convnd_activ/convscale_add/run_convnd_fwd_convscale_add_example.inc create mode 100644 example/62_convnd_activ/convscale_reduce/CMakeLists.txt create mode 100644 example/62_convnd_activ/convscale_reduce/convnd_fwd_convscale_reduce_common.hpp create mode 100644 example/62_convnd_activ/convscale_reduce/convnd_fwd_xdl_convscale_amax_fp8.cpp create mode 100644 example/62_convnd_activ/convscale_reduce/convnd_fwd_xdl_convscale_relu_amax_fp8.cpp create mode 100644 example/62_convnd_activ/convscale_reduce/run_convnd_fwd_example.inc create mode 100644 example/62_convnd_activ/convscale_relu/CMakeLists.txt create mode 100644 example/62_convnd_activ/convscale_relu/convnd_fwd_convscale_relu_common.hpp create mode 100644 example/62_convnd_activ/convscale_relu/convnd_fwd_xdl_convscale_relu_fp8.cpp create mode 100644 example/62_convnd_activ/convscale_relu/run_convnd_fwd_convscale_relu_example.inc create mode 100644 example/62_convnd_activ/dynamic_unary/CMakeLists.txt create mode 100644 example/62_convnd_activ/dynamic_unary/convnd_fwd_activ_dynamic_unary_common.hpp create mode 100644 example/62_convnd_activ/dynamic_unary/convnd_fwd_xdl_dynamic_abs_fp16.cpp create mode 100644 example/62_convnd_activ/dynamic_unary/convnd_fwd_xdl_dynamic_clippedrelu_fp16.cpp create mode 100644 example/62_convnd_activ/dynamic_unary/convnd_fwd_xdl_dynamic_elu_fp16.cpp create mode 100644 example/62_convnd_activ/dynamic_unary/convnd_fwd_xdl_dynamic_leakyrelu_fp16.cpp create mode 100644 example/62_convnd_activ/dynamic_unary/convnd_fwd_xdl_dynamic_logistic_fp16.cpp create mode 100644 example/62_convnd_activ/dynamic_unary/convnd_fwd_xdl_dynamic_passthrough_fp16.cpp create mode 100644 example/62_convnd_activ/dynamic_unary/convnd_fwd_xdl_dynamic_pow_fp16.cpp create mode 100644 example/62_convnd_activ/dynamic_unary/convnd_fwd_xdl_dynamic_relu_fp16.cpp create mode 100644 example/62_convnd_activ/dynamic_unary/convnd_fwd_xdl_dynamic_sigmoid_fp16.cpp create mode 100644 example/62_convnd_activ/dynamic_unary/convnd_fwd_xdl_dynamic_softrelu_fp16.cpp create mode 100644 example/62_convnd_activ/dynamic_unary/convnd_fwd_xdl_dynamic_swish_fp16.cpp create mode 100644 example/62_convnd_activ/dynamic_unary/convnd_fwd_xdl_dynamic_tanh_fp16.cpp create mode 100644 example/62_convnd_activ/multi_AB/CMakeLists.txt create mode 100644 example/62_convnd_activ/multi_AB/conv_fwd_xdl_scaleadd_ab_bf16.cpp create mode 100644 example/62_convnd_activ/multi_AB/conv_fwd_xdl_scaleadd_ab_fp16.cpp create mode 100644 example/62_convnd_activ/multi_AB/conv_fwd_xdl_scaleadd_ab_fp32.cpp create mode 100644 example/62_convnd_activ/multi_AB/conv_fwd_xdl_scaleadd_ab_int8.cpp create mode 100644 example/62_convnd_activ/multi_AB/convnd_fwd_activ_multi_ab_common.hpp create mode 100644 example/62_convnd_activ/run_convnd_activ_dynamic_example.inc create mode 100644 example/62_convnd_activ/run_convnd_activ_example.inc create mode 100644 example/62_convnd_activ/unary/CMakeLists.txt create mode 100644 example/62_convnd_activ/unary/convnd_fwd_activ_unary_common.hpp create mode 100644 example/62_convnd_activ/unary/convnd_fwd_xdl_abs_fp16.cpp create mode 100644 example/62_convnd_activ/unary/convnd_fwd_xdl_clippedrelu_fp16.cpp create mode 100644 example/62_convnd_activ/unary/convnd_fwd_xdl_elu_fp16.cpp create mode 100644 example/62_convnd_activ/unary/convnd_fwd_xdl_leakyrelu_fp16.cpp create mode 100644 example/62_convnd_activ/unary/convnd_fwd_xdl_logistic_fp16.cpp create mode 100644 example/62_convnd_activ/unary/convnd_fwd_xdl_passthrough_fp16.cpp create mode 100644 example/62_convnd_activ/unary/convnd_fwd_xdl_pow_fp16.cpp create mode 100644 example/62_convnd_activ/unary/convnd_fwd_xdl_relu_fp16.cpp create mode 100644 example/62_convnd_activ/unary/convnd_fwd_xdl_sigmoid_fp16.cpp create mode 100644 example/62_convnd_activ/unary/convnd_fwd_xdl_softrelu_fp16.cpp create mode 100644 example/62_convnd_activ/unary/convnd_fwd_xdl_swish_fp16.cpp create mode 100644 example/62_convnd_activ/unary/convnd_fwd_xdl_tanh_fp16.cpp create mode 100644 example/63_layernorm4d_fwd/CMakeLists.txt create mode 100644 example/63_layernorm4d_fwd/common.hpp create mode 100644 example/63_layernorm4d_fwd/layernorm4d_fwd_fp16.cpp create mode 100644 example/63_layernorm4d_fwd/layernorm4d_fwd_splitk_fp16.cpp create mode 100644 example/63_layernorm4d_fwd/run_layernorm4d_fwd_example.inc create mode 100644 example/64_fpAintB_gemm/CMakeLists.txt create mode 100644 example/64_fpAintB_gemm/common.hpp create mode 100644 example/64_fpAintB_gemm/fp16int8_gemm_wmma.cpp create mode 100644 example/64_fpAintB_gemm/run_gemm_example.inc create mode 100644 example/65_gemm_multiply_multiply/CMakeLists.txt create mode 100644 example/65_gemm_multiply_multiply/gemm_add_add_xdl_fp16.cpp create mode 100644 example/65_gemm_multiply_multiply/gemm_multiply_multiply_xdl_fp16_bpreshuffle.cpp create mode 100644 example/65_gemm_multiply_multiply/gemm_multiply_multiply_xdl_fp8.cpp create mode 100644 example/65_gemm_multiply_multiply/gemm_multiply_multiply_xdl_fp8_ab_scale.cpp create mode 100644 example/65_gemm_multiply_multiply/gemm_multiply_multiply_xdl_fp8_bpreshuffle.cpp create mode 100644 example/65_gemm_multiply_multiply/gemm_multiply_multiply_xdl_int8.cpp create mode 100644 example/65_gemm_multiply_multiply/moe_gemm1_xdl_fp8.cpp create mode 100644 example/65_gemm_multiply_multiply/moe_gemm1_xdl_pk_i4.cpp create mode 100644 example/65_gemm_multiply_multiply/moe_gemm2_xdl_fp8.cpp create mode 100644 example/65_gemm_multiply_multiply/moe_gemm2_xdl_pk_i4.cpp create mode 100755 example/66_complex_contraction_bilinear/CMakeLists.txt create mode 100755 example/66_complex_contraction_bilinear/README.md create mode 100644 example/66_complex_contraction_bilinear/common_instances.hpp create mode 100755 example/66_complex_contraction_bilinear/complex_contraction_bilinear_xdl_fp32.cpp create mode 100755 example/66_complex_contraction_bilinear/complex_contraction_bilinear_xdl_fp64.cpp create mode 100644 example/66_complex_contraction_bilinear/run_complex_contraction_bilinear_example.inc create mode 100644 example/67_gemm_microscaling/CMakeLists.txt create mode 100644 example/67_gemm_microscaling/README.md create mode 100644 example/67_gemm_microscaling/gemm_mx_bf8.cpp create mode 100644 example/67_gemm_microscaling/gemm_mx_common.hpp create mode 100644 example/67_gemm_microscaling/gemm_mx_fp8.cpp create mode 100644 example/CMakeLists.txt create mode 100644 example/README.md create mode 100644 example/ck_tile/01_fmha/CMakeLists.txt create mode 100644 example/ck_tile/01_fmha/README.md create mode 100644 example/ck_tile/01_fmha/bias.hpp create mode 100644 example/ck_tile/01_fmha/codegen/__init__.py create mode 100644 example/ck_tile/01_fmha/codegen/cmake_config.py create mode 100644 example/ck_tile/01_fmha/codegen/cpp_symbol_map.py create mode 100644 example/ck_tile/01_fmha/codegen/ops/__init__.py create mode 100644 example/ck_tile/01_fmha/codegen/ops/fmha_bwd.py create mode 100644 example/ck_tile/01_fmha/codegen/ops/fmha_fwd.py create mode 100644 example/ck_tile/01_fmha/codegen/ops/fmha_fwd_appendkv.py create mode 100644 example/ck_tile/01_fmha/codegen/ops/fmha_fwd_splitkv.py create mode 100644 example/ck_tile/01_fmha/fmha_bwd.cpp create mode 100644 example/ck_tile/01_fmha/fmha_bwd.hpp create mode 100644 example/ck_tile/01_fmha/fmha_fwd.cpp create mode 100644 example/ck_tile/01_fmha/fmha_fwd.hpp create mode 100644 example/ck_tile/01_fmha/generate.py create mode 100644 example/ck_tile/01_fmha/mask.hpp create mode 100644 example/ck_tile/01_fmha/misc/gamc.png create mode 100644 example/ck_tile/01_fmha/rotary.hpp create mode 100755 example/ck_tile/01_fmha/script/benchmark_bwd.sh create mode 100755 example/ck_tile/01_fmha/script/benchmark_fwd.sh create mode 100755 example/ck_tile/01_fmha/script/run_full_test.sh create mode 100755 example/ck_tile/01_fmha/script/smoke_test_bwd.sh create mode 100755 example/ck_tile/01_fmha/script/smoke_test_fwd.sh create mode 100644 example/ck_tile/01_fmha/utils.hpp create mode 100644 example/ck_tile/02_layernorm2d/CMakeLists.txt create mode 100644 example/ck_tile/02_layernorm2d/README.md create mode 100644 example/ck_tile/02_layernorm2d/generate.py create mode 100644 example/ck_tile/02_layernorm2d/layernorm2d_fwd.cpp create mode 100644 example/ck_tile/02_layernorm2d/layernorm2d_fwd.hpp create mode 100644 example/ck_tile/02_layernorm2d/misc/dquant.png create mode 100644 example/ck_tile/02_layernorm2d/misc/pnorm.png create mode 100755 example/ck_tile/02_layernorm2d/script/perf_test.sh create mode 100755 example/ck_tile/02_layernorm2d/script/smoke_test.sh create mode 100644 example/ck_tile/03_gemm/CMakeLists.txt create mode 100644 example/ck_tile/03_gemm/README.md create mode 100644 example/ck_tile/03_gemm/gemm_basic.cpp create mode 100644 example/ck_tile/03_gemm/gemm_utils.hpp create mode 100644 example/ck_tile/03_gemm/run_gemm_example.inc create mode 100755 example/ck_tile/03_gemm/script/benchmark_basic_bf16.sh create mode 100755 example/ck_tile/03_gemm/script/benchmark_basic_bf8.sh create mode 100755 example/ck_tile/03_gemm/script/benchmark_basic_fp16.sh create mode 100755 example/ck_tile/03_gemm/script/benchmark_basic_fp8.sh create mode 100755 example/ck_tile/03_gemm/script/benchmark_mem_pipeline_bf16.sh create mode 100755 example/ck_tile/03_gemm/script/benchmark_mem_pipeline_bf8.sh create mode 100755 example/ck_tile/03_gemm/script/benchmark_mem_pipeline_fp16.sh create mode 100755 example/ck_tile/03_gemm/script/benchmark_mem_pipeline_fp8.sh create mode 100755 example/ck_tile/03_gemm/script/run_full_test.sh create mode 100755 example/ck_tile/03_gemm/script/smoke_test_basic.sh create mode 100755 example/ck_tile/03_gemm/script/smoke_test_mem_pipeline.sh create mode 100644 example/ck_tile/03_gemm/stript.sh create mode 100644 example/ck_tile/03_gemm/universal_gemm.cpp create mode 100644 example/ck_tile/04_img2col/CMakeLists.txt create mode 100644 example/ck_tile/04_img2col/README.md create mode 100644 example/ck_tile/04_img2col/image_to_column.cpp create mode 100644 example/ck_tile/04_img2col/image_to_column.hpp create mode 100644 example/ck_tile/05_reduce/CMakeLists.txt create mode 100644 example/ck_tile/05_reduce/reduce.cpp create mode 100644 example/ck_tile/05_reduce/reduce.hpp create mode 100644 example/ck_tile/06_permute/CMakeLists.txt create mode 100644 example/ck_tile/06_permute/README.md create mode 100644 example/ck_tile/06_permute/alternative_impl/matrix_core_swizzle.cpp create mode 100644 example/ck_tile/06_permute/alternative_impl/matrix_core_swizzle.hpp create mode 100644 example/ck_tile/06_permute/alternative_impl/matrix_core_swizzle_kernel.hpp create mode 100644 example/ck_tile/06_permute/permute.cpp create mode 100644 example/ck_tile/06_permute/permute.hpp create mode 100644 example/ck_tile/06_permute/script/smoke_test.sh create mode 100644 example/ck_tile/09_topk_softmax/CMakeLists.txt create mode 100644 example/ck_tile/09_topk_softmax/README.md create mode 100644 example/ck_tile/09_topk_softmax/script/smoke_test.sh create mode 100644 example/ck_tile/09_topk_softmax/topk_softmax.cpp create mode 100644 example/ck_tile/09_topk_softmax/topk_softmax_api.cpp create mode 100644 example/ck_tile/09_topk_softmax/topk_softmax_api.hpp create mode 100644 example/ck_tile/10_rmsnorm2d/CMakeLists.txt create mode 100644 example/ck_tile/10_rmsnorm2d/README.md create mode 100644 example/ck_tile/10_rmsnorm2d/example_rmsnorm2d_fwd.cpp create mode 100644 example/ck_tile/10_rmsnorm2d/generate.py create mode 100644 example/ck_tile/10_rmsnorm2d/rmsnorm2d_fwd.cpp create mode 100644 example/ck_tile/10_rmsnorm2d/rmsnorm2d_fwd.hpp create mode 100755 example/ck_tile/10_rmsnorm2d/script/perf_test.sh create mode 100755 example/ck_tile/10_rmsnorm2d/script/smoke_test.sh create mode 100644 example/ck_tile/11_add_rmsnorm2d_rdquant/CMakeLists.txt create mode 100644 example/ck_tile/11_add_rmsnorm2d_rdquant/README.md create mode 100644 example/ck_tile/11_add_rmsnorm2d_rdquant/add_rmsnorm2d_rdquant_fwd.cpp create mode 100644 example/ck_tile/11_add_rmsnorm2d_rdquant/add_rmsnorm2d_rdquant_fwd.hpp create mode 100755 example/ck_tile/11_add_rmsnorm2d_rdquant/example_add_rmsnorm2d_rdquant_fwd.cpp create mode 100644 example/ck_tile/11_add_rmsnorm2d_rdquant/instances/add_rmsnorm2d_rdquant_fwd_api.cpp create mode 100644 example/ck_tile/11_add_rmsnorm2d_rdquant/instances/add_rmsnorm2d_rdquant_fwd_bf16_n1024_instance.cpp create mode 100644 example/ck_tile/11_add_rmsnorm2d_rdquant/instances/add_rmsnorm2d_rdquant_fwd_bf16_n1536_instance.cpp create mode 100644 example/ck_tile/11_add_rmsnorm2d_rdquant/instances/add_rmsnorm2d_rdquant_fwd_bf16_n2048_instance.cpp create mode 100644 example/ck_tile/11_add_rmsnorm2d_rdquant/instances/add_rmsnorm2d_rdquant_fwd_bf16_n256_instance.cpp create mode 100644 example/ck_tile/11_add_rmsnorm2d_rdquant/instances/add_rmsnorm2d_rdquant_fwd_bf16_n3072_instance.cpp create mode 100644 example/ck_tile/11_add_rmsnorm2d_rdquant/instances/add_rmsnorm2d_rdquant_fwd_bf16_n4096_instance.cpp create mode 100644 example/ck_tile/11_add_rmsnorm2d_rdquant/instances/add_rmsnorm2d_rdquant_fwd_bf16_n512_instance.cpp create mode 100644 example/ck_tile/11_add_rmsnorm2d_rdquant/instances/add_rmsnorm2d_rdquant_fwd_bf16_n64_n128_instance.cpp create mode 100644 example/ck_tile/11_add_rmsnorm2d_rdquant/instances/add_rmsnorm2d_rdquant_fwd_bf16_n768_instance.cpp create mode 100644 example/ck_tile/11_add_rmsnorm2d_rdquant/instances/add_rmsnorm2d_rdquant_fwd_bf16_n8192_instance.cpp create mode 100644 example/ck_tile/11_add_rmsnorm2d_rdquant/instances/add_rmsnorm2d_rdquant_fwd_bf16_n8192_tp_instance.cpp create mode 100644 example/ck_tile/11_add_rmsnorm2d_rdquant/instances/add_rmsnorm2d_rdquant_fwd_fp16_n1024_instance.cpp create mode 100644 example/ck_tile/11_add_rmsnorm2d_rdquant/instances/add_rmsnorm2d_rdquant_fwd_fp16_n1536_instance.cpp create mode 100644 example/ck_tile/11_add_rmsnorm2d_rdquant/instances/add_rmsnorm2d_rdquant_fwd_fp16_n2048_instance.cpp create mode 100644 example/ck_tile/11_add_rmsnorm2d_rdquant/instances/add_rmsnorm2d_rdquant_fwd_fp16_n256_instance.cpp create mode 100644 example/ck_tile/11_add_rmsnorm2d_rdquant/instances/add_rmsnorm2d_rdquant_fwd_fp16_n3072_instance.cpp create mode 100644 example/ck_tile/11_add_rmsnorm2d_rdquant/instances/add_rmsnorm2d_rdquant_fwd_fp16_n4096_instance.cpp create mode 100644 example/ck_tile/11_add_rmsnorm2d_rdquant/instances/add_rmsnorm2d_rdquant_fwd_fp16_n512_instance.cpp create mode 100644 example/ck_tile/11_add_rmsnorm2d_rdquant/instances/add_rmsnorm2d_rdquant_fwd_fp16_n64_n128_instance.cpp create mode 100644 example/ck_tile/11_add_rmsnorm2d_rdquant/instances/add_rmsnorm2d_rdquant_fwd_fp16_n768_instance.cpp create mode 100644 example/ck_tile/11_add_rmsnorm2d_rdquant/instances/add_rmsnorm2d_rdquant_fwd_fp16_n8192_instance.cpp create mode 100644 example/ck_tile/11_add_rmsnorm2d_rdquant/instances/add_rmsnorm2d_rdquant_fwd_fp16_n8192_tp_instance.cpp create mode 100644 example/ck_tile/11_add_rmsnorm2d_rdquant/instances/add_rmsnorm2d_rdquant_fwd_instance_common.hpp create mode 100755 example/ck_tile/11_add_rmsnorm2d_rdquant/script/perf_test.sh create mode 100755 example/ck_tile/11_add_rmsnorm2d_rdquant/script/smoke_test.sh create mode 100644 example/ck_tile/12_smoothquant/CMakeLists.txt create mode 100644 example/ck_tile/12_smoothquant/README.md create mode 100644 example/ck_tile/12_smoothquant/example_smoothquant.cpp create mode 100644 example/ck_tile/12_smoothquant/instances/smoothquant_bf16_n1024_instance.cpp create mode 100644 example/ck_tile/12_smoothquant/instances/smoothquant_bf16_n1536_instance.cpp create mode 100644 example/ck_tile/12_smoothquant/instances/smoothquant_bf16_n2048_instance.cpp create mode 100644 example/ck_tile/12_smoothquant/instances/smoothquant_bf16_n256_instance.cpp create mode 100644 example/ck_tile/12_smoothquant/instances/smoothquant_bf16_n3072_instance.cpp create mode 100644 example/ck_tile/12_smoothquant/instances/smoothquant_bf16_n4096_instance.cpp create mode 100644 example/ck_tile/12_smoothquant/instances/smoothquant_bf16_n4096_tp_instance.cpp create mode 100644 example/ck_tile/12_smoothquant/instances/smoothquant_bf16_n512_instance.cpp create mode 100644 example/ck_tile/12_smoothquant/instances/smoothquant_bf16_n64_n128_instance.cpp create mode 100644 example/ck_tile/12_smoothquant/instances/smoothquant_bf16_n768_instance.cpp create mode 100644 example/ck_tile/12_smoothquant/instances/smoothquant_fp16_n1024_instance.cpp create mode 100644 example/ck_tile/12_smoothquant/instances/smoothquant_fp16_n1536_instance.cpp create mode 100644 example/ck_tile/12_smoothquant/instances/smoothquant_fp16_n2048_instance.cpp create mode 100644 example/ck_tile/12_smoothquant/instances/smoothquant_fp16_n256_instance.cpp create mode 100644 example/ck_tile/12_smoothquant/instances/smoothquant_fp16_n3072_instance.cpp create mode 100644 example/ck_tile/12_smoothquant/instances/smoothquant_fp16_n4096_instance.cpp create mode 100644 example/ck_tile/12_smoothquant/instances/smoothquant_fp16_n4096_tp_instance.cpp create mode 100644 example/ck_tile/12_smoothquant/instances/smoothquant_fp16_n512_instance.cpp create mode 100644 example/ck_tile/12_smoothquant/instances/smoothquant_fp16_n64_n128_instance.cpp create mode 100644 example/ck_tile/12_smoothquant/instances/smoothquant_fp16_n768_instance.cpp create mode 100644 example/ck_tile/12_smoothquant/instances/smoothquant_fwd_api.cpp create mode 100644 example/ck_tile/12_smoothquant/instances/smoothquant_instance_common.hpp create mode 100755 example/ck_tile/12_smoothquant/script/perf_test.sh create mode 100755 example/ck_tile/12_smoothquant/script/smoke_test.sh create mode 100644 example/ck_tile/12_smoothquant/smoothquant.cpp create mode 100644 example/ck_tile/12_smoothquant/smoothquant.hpp create mode 100644 example/ck_tile/13_moe_sorting/CMakeLists.txt create mode 100644 example/ck_tile/13_moe_sorting/README.md create mode 100644 example/ck_tile/13_moe_sorting/moe_sorting.cpp create mode 100644 example/ck_tile/13_moe_sorting/moe_sorting_api.cpp create mode 100644 example/ck_tile/13_moe_sorting/moe_sorting_api.hpp create mode 100644 example/ck_tile/13_moe_sorting/script/smoke_test.sh create mode 100644 example/ck_tile/14_moe_smoothquant/CMakeLists.txt create mode 100644 example/ck_tile/14_moe_smoothquant/README.md create mode 100644 example/ck_tile/14_moe_smoothquant/instances/moe_smoothquant_bf16_n1024_instance.cpp create mode 100644 example/ck_tile/14_moe_smoothquant/instances/moe_smoothquant_bf16_n1536_instance.cpp create mode 100644 example/ck_tile/14_moe_smoothquant/instances/moe_smoothquant_bf16_n2048_instance.cpp create mode 100644 example/ck_tile/14_moe_smoothquant/instances/moe_smoothquant_bf16_n256_instance.cpp create mode 100644 example/ck_tile/14_moe_smoothquant/instances/moe_smoothquant_bf16_n3072_instance.cpp create mode 100644 example/ck_tile/14_moe_smoothquant/instances/moe_smoothquant_bf16_n4096_instance.cpp create mode 100644 example/ck_tile/14_moe_smoothquant/instances/moe_smoothquant_bf16_n4096_tp_instance.cpp create mode 100644 example/ck_tile/14_moe_smoothquant/instances/moe_smoothquant_bf16_n512_instance.cpp create mode 100644 example/ck_tile/14_moe_smoothquant/instances/moe_smoothquant_bf16_n64_n128_instance.cpp create mode 100644 example/ck_tile/14_moe_smoothquant/instances/moe_smoothquant_bf16_n768_instance.cpp create mode 100644 example/ck_tile/14_moe_smoothquant/instances/moe_smoothquant_fp16_n1024_instance.cpp create mode 100644 example/ck_tile/14_moe_smoothquant/instances/moe_smoothquant_fp16_n1536_instance.cpp create mode 100644 example/ck_tile/14_moe_smoothquant/instances/moe_smoothquant_fp16_n2048_instance.cpp create mode 100644 example/ck_tile/14_moe_smoothquant/instances/moe_smoothquant_fp16_n256_instance.cpp create mode 100644 example/ck_tile/14_moe_smoothquant/instances/moe_smoothquant_fp16_n3072_instance.cpp create mode 100644 example/ck_tile/14_moe_smoothquant/instances/moe_smoothquant_fp16_n4096_instance.cpp create mode 100644 example/ck_tile/14_moe_smoothquant/instances/moe_smoothquant_fp16_n4096_tp_instance.cpp create mode 100644 example/ck_tile/14_moe_smoothquant/instances/moe_smoothquant_fp16_n512_instance.cpp create mode 100644 example/ck_tile/14_moe_smoothquant/instances/moe_smoothquant_fp16_n64_n128_instance.cpp create mode 100644 example/ck_tile/14_moe_smoothquant/instances/moe_smoothquant_fp16_n768_instance.cpp create mode 100644 example/ck_tile/14_moe_smoothquant/instances/moe_smoothquant_fwd_api.cpp create mode 100644 example/ck_tile/14_moe_smoothquant/instances/moe_smoothquant_instance_common.hpp create mode 100644 example/ck_tile/14_moe_smoothquant/misc/moe-sm.png create mode 100644 example/ck_tile/14_moe_smoothquant/moe_smoothquant.cpp create mode 100644 example/ck_tile/14_moe_smoothquant/moe_smoothquant.hpp create mode 100755 example/ck_tile/14_moe_smoothquant/script/perf_test.sh create mode 100755 example/ck_tile/14_moe_smoothquant/script/smoke_test.sh create mode 100644 example/ck_tile/15_fused_moe/CMakeLists.txt create mode 100644 example/ck_tile/15_fused_moe/README.md create mode 100644 example/ck_tile/15_fused_moe/fused_moe.hpp create mode 100644 example/ck_tile/15_fused_moe/fused_moegemm.hpp create mode 100644 example/ck_tile/15_fused_moe/fused_moesorting.hpp create mode 100644 example/ck_tile/15_fused_moe/instances/fused_moe_api.cpp create mode 100644 example/ck_tile/15_fused_moe/instances/fused_moegemm_api.cpp create mode 100644 example/ck_tile/15_fused_moe/instances/fused_moegemm_api_internal.hpp create mode 100644 example/ck_tile/15_fused_moe/instances/fused_moegemm_api_traits.hpp create mode 100644 example/ck_tile/15_fused_moe/instances/fused_moegemm_bf16_m32.cpp create mode 100644 example/ck_tile/15_fused_moe/instances/fused_moegemm_fp16_m32.cpp create mode 100644 example/ck_tile/15_fused_moe/instances/fused_moesorting_api.cpp create mode 100644 example/ck_tile/15_fused_moe/main.cpp create mode 100644 example/ck_tile/15_fused_moe/misc/moe-0.png create mode 100644 example/ck_tile/15_fused_moe/misc/moe-1.png create mode 100644 example/ck_tile/15_fused_moe/misc/moe-2.png create mode 100644 example/ck_tile/15_fused_moe/misc/moe-3.png create mode 100644 example/ck_tile/16_batched_gemm/CMakeLists.txt create mode 100644 example/ck_tile/16_batched_gemm/README.md create mode 100644 example/ck_tile/16_batched_gemm/batched_gemm.cpp create mode 100644 example/ck_tile/16_batched_gemm/batched_gemm.hpp create mode 100644 example/ck_tile/16_batched_gemm/run_batched_gemm_example.inc create mode 100644 example/ck_tile/17_grouped_gemm/CMakeLists.txt create mode 100644 example/ck_tile/17_grouped_gemm/README.md create mode 100644 example/ck_tile/17_grouped_gemm/grouped_gemm.cpp create mode 100644 example/ck_tile/17_grouped_gemm/grouped_gemm.hpp create mode 100644 example/ck_tile/17_grouped_gemm/run_grouped_gemm_example.inc create mode 100644 example/ck_tile/18_flatmm/CMakeLists.txt create mode 100644 example/ck_tile/18_flatmm/README.md create mode 100644 example/ck_tile/18_flatmm/flatmm_basic.cpp create mode 100644 example/ck_tile/18_flatmm/flatmm_basic.hpp create mode 100644 example/ck_tile/18_flatmm/run_flatmm_example.inc create mode 100755 example/ck_tile/18_flatmm/script/smoke_test_basic.sh create mode 100644 example/ck_tile/35_batched_transpose/CMakeLists.txt create mode 100644 example/ck_tile/35_batched_transpose/README.md create mode 100644 example/ck_tile/35_batched_transpose/batched_transpose_api.cpp create mode 100644 example/ck_tile/35_batched_transpose/batched_transpose_example.cpp create mode 100644 example/ck_tile/35_batched_transpose/batched_transpose_example.hpp create mode 100755 example/ck_tile/35_batched_transpose/script/smoke_test.sh create mode 100644 example/ck_tile/CMakeLists.txt create mode 100644 example/ck_tile/remod.py create mode 100644 include/ck/README.md create mode 100644 include/ck/ck.hpp create mode 100644 include/ck/config.h.in create mode 100644 include/ck/filesystem.hpp create mode 100644 include/ck/host_utility/device_prop.hpp create mode 100644 include/ck/host_utility/flush_cache.hpp create mode 100644 include/ck/host_utility/hip_check_error.hpp create mode 100644 include/ck/host_utility/io.hpp create mode 100644 include/ck/host_utility/kernel_launch.hpp create mode 100644 include/ck/host_utility/stream_utility.hpp create mode 100644 include/ck/library/utility/algorithm.hpp create mode 100644 include/ck/library/utility/check_err.hpp create mode 100644 include/ck/library/utility/conv_common.hpp create mode 100644 include/ck/library/utility/convolution_host_tensor_descriptor_helper.hpp create mode 100644 include/ck/library/utility/convolution_parameter.hpp create mode 100644 include/ck/library/utility/device_memory.hpp create mode 100644 include/ck/library/utility/fill.hpp create mode 100644 include/ck/library/utility/host_common_util.hpp create mode 100644 include/ck/library/utility/host_gemm.hpp create mode 100644 include/ck/library/utility/host_tensor.hpp create mode 100644 include/ck/library/utility/host_tensor_generator.hpp create mode 100644 include/ck/library/utility/iterator.hpp create mode 100644 include/ck/library/utility/literals.hpp create mode 100644 include/ck/library/utility/numeric.hpp create mode 100644 include/ck/library/utility/ranges.hpp create mode 100644 include/ck/problem_transform/transform_forward_convolution3d_into_gemm_v4r4r4_ndhwc_kzyxc_ndhwk.hpp create mode 100644 include/ck/stream_config.hpp create mode 100644 include/ck/tensor/static_tensor.hpp create mode 100644 include/ck/tensor_description/cluster_descriptor.hpp create mode 100644 include/ck/tensor_description/multi_index_transform.hpp create mode 100644 include/ck/tensor_description/multi_index_transform_helper.hpp create mode 100644 include/ck/tensor_description/tensor_adaptor.hpp create mode 100644 include/ck/tensor_description/tensor_descriptor.hpp create mode 100644 include/ck/tensor_description/tensor_descriptor_helper.hpp create mode 100644 include/ck/tensor_description/tensor_space_filling_curve.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_dl_v2r3.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_dlops_v2r2.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_dlops_v3.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_dpp.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_mx_pipeline_xdlops_base.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_wmma_selector.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_wmmaops.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_wmmaops_base.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_wmmaops_v3.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_xdlops.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_xdlops_ab_scale_selector.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_xdlops_b_preshuffle_dequant_v1.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_xdlops_b_preshuffle_dequant_v3.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_xdlops_b_preshuffle_gufusion_dequant_v1.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_xdlops_b_preshuffle_gufusion_v1.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_xdlops_b_preshuffle_selector.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_xdlops_b_preshuffle_v1.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_xdlops_b_preshuffle_v2.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_xdlops_b_preshuffle_v3.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_xdlops_b_scale_selector.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_xdlops_base.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_xdlops_mx_selector.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_xdlops_selector.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_xdlops_v1.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_xdlops_v1_ab_scale.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_xdlops_v1_b_scale.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_xdlops_v1_mx.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_xdlops_v2.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_xdlops_v2_ab_scale.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_xdlops_v2_b_scale.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_xdlops_v3.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_xdlops_v3_ab_scale.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_xdlops_v3_b_scale.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_xdlops_v4.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_xdlops_v4_b_scale.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_pipeline_xdlops_v5.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_smfmac_xdlops.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_wmma.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_xdlops.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_gemm_xdlops_skip_b_lds.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_softmax.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_tensor_slice_transfer_v5r1.hpp create mode 100644 include/ck/tensor_operation/gpu/block/blockwise_welford.hpp create mode 100644 include/ck/tensor_operation/gpu/block/reduction_functions_blockwise.hpp create mode 100644 include/ck/tensor_operation/gpu/block/thread_group_tensor_slice_transfer_direct_load.hpp create mode 100644 include/ck/tensor_operation/gpu/block/thread_group_tensor_slice_transfer_v4r1.hpp create mode 100644 include/ck/tensor_operation/gpu/block/thread_group_tensor_slice_transfer_v4r1_dequant.hpp create mode 100644 include/ck/tensor_operation/gpu/block/thread_group_tensor_slice_transfer_v4r1_gather.hpp create mode 100644 include/ck/tensor_operation/gpu/block/thread_group_tensor_slice_transfer_v4r2.hpp create mode 100644 include/ck/tensor_operation/gpu/block/thread_group_tensor_slice_transfer_v6r1.hpp create mode 100644 include/ck/tensor_operation/gpu/block/thread_group_tensor_slice_transfer_v6r1r2.hpp create mode 100644 include/ck/tensor_operation/gpu/block/thread_group_tensor_slice_transfer_v6r2.hpp create mode 100644 include/ck/tensor_operation/gpu/block/thread_group_tensor_slice_transfer_v6r3.hpp create mode 100644 include/ck/tensor_operation/gpu/block/thread_group_tensor_slice_transfer_v7.hpp create mode 100644 include/ck/tensor_operation/gpu/block/thread_group_tensor_slice_transfer_v7r2.hpp create mode 100644 include/ck/tensor_operation/gpu/block/thread_group_tensor_slice_transfer_v7r3.hpp create mode 100644 include/ck/tensor_operation/gpu/block/thread_group_tensor_slice_transfer_v7r3_scatter.hpp create mode 100644 include/ck/tensor_operation/gpu/device/conv_tensor_rearrange_op.hpp create mode 100644 include/ck/tensor_operation/gpu/device/convolution_backward_data_specialization.hpp create mode 100644 include/ck/tensor_operation/gpu/device/convolution_backward_weight_specialization.hpp create mode 100644 include/ck/tensor_operation/gpu/device/convolution_forward_specialization.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_avgpool_bwd.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_base.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_batched_contraction_multiple_d.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_batched_gemm.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_batched_gemm_e_permute.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_batched_gemm_gemm.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_batched_gemm_multi_d.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_batched_gemm_multiple_d_gemm_multiple_d.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_batched_gemm_softmax_gemm.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_batched_gemm_softmax_gemm_permute.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_batchnorm_backward.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_batchnorm_forward.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_batchnorm_infer.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_cgemm.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_contraction_multiple_abd.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_contraction_multiple_d.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_conv_bwd_data.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_conv_fwd.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_conv_fwd_bias_activation.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_conv_fwd_bias_activation_add.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_conv_tensor_rearrange.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_elementwise.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_elementwise_normalization.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_elementwise_scale.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_gemm.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_gemm_bias_e_permute.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_gemm_dequantB.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_gemm_multiple_abd.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_gemm_multiple_d.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_gemm_multiple_d_ab_scale.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_gemm_multiple_d_layernorm.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_gemm_multiple_d_multiple_r.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_gemm_mx.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_gemm_reduce.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_gemm_splitk.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_gemm_streamk.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_gemm_streamk_v2.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_gemm_v2.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_grouped_contraction_multiple_d.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_grouped_conv_bwd_data_multiple_d.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_grouped_conv_bwd_weight.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_grouped_conv_bwd_weight_multiple_d.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_grouped_conv_fwd.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_grouped_conv_fwd_multiple_abd.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_grouped_conv_fwd_multiple_d.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_grouped_gemm.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_grouped_gemm_fixed_nk.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_grouped_gemm_multi_abd.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_grouped_gemm_multi_abd_fixed_nk.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_grouped_gemm_softmax_gemm_permute.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_grouped_gemm_splitk.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_grouped_gemm_tile_loop.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_max_pool_bwd.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_multiple_reduce.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_normalization_bwd_data.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_normalization_bwd_gamma_beta.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_normalization_fwd.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_permute.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_pool_fwd.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_put_element.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_reduce.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_reduce_multi_d.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_softmax.hpp create mode 100644 include/ck/tensor_operation/gpu/device/device_splitk_contraction_multiple_d.hpp create mode 100644 include/ck/tensor_operation/gpu/device/gemm_specialization.hpp create mode 100644 include/ck/tensor_operation/gpu/device/helper.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/codegen_device_grouped_conv_fwd_multiple_abd_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_avgpool2d_bwd_nhwc_nhwc.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_avgpool3d_bwd_ndhwc_ndhwc.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_batched_contraction_multiple_d_wmma_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_batched_contraction_multiple_d_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_batched_gemm_e_permute_xdl.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_batched_gemm_gemm_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_batched_gemm_multi_d_xdl.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_batched_gemm_multiple_d_dl.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_batched_gemm_multiple_d_gemm_multiple_d_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_batched_gemm_multiple_d_xdl_cshuffle_v3.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_batched_gemm_reduce_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_batched_gemm_softmax_gemm_permute_wmma_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_batched_gemm_softmax_gemm_permute_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_batched_gemm_softmax_gemm_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_batched_gemm_xdl.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_batched_gemm_xdl_fpAintB_b_scale.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_batchnorm_backward_impl.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_batchnorm_forward_impl.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_batchnorm_forward_impl_obsolete.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_cgemm_4gemm_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_column_to_image_impl.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_contraction_multiple_abd_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_contraction_multiple_d_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_contraction_utils.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_conv2d_backward_weight_xdl_c_shuffle_nhwc_kyxc_nhwk.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_conv2d_bwd_data_xdl_nhwc_kyxc_nhwk.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_conv2d_fwd_xdl_c_shuffle_bias_activation_add_nhwc_kyxc_nhwk.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_conv2d_fwd_xdl_c_shuffle_bias_activation_nhwc_kyxc_nhwk.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_conv2d_fwd_xdl_c_shuffle_nhwc_kyxc_nhwk.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_conv2d_fwd_xdl_nhwc_kyxc_nhwk.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_conv3d_fwd_naive_ndhwc_kzyxc_ndhwk.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_conv3d_fwd_xdl_ndhwc_kzyxc_ndhwk.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_convnd_bwd_data_nwc_kxc_nwk_dl.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_convnd_bwd_data_nwc_kxc_nwk_xdl.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_elementwise_dynamic_vector_dims_impl.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_elementwise_normalization_impl.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_elementwise_scale_impl.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_fpAintB_gemm_wmma.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_bias_add_reduce_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_dl.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_dpp.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_multiple_abd_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_multiple_d_dl.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_multiple_d_layernorm_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_multiple_d_multiple_r_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_multiple_d_wmma_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_multiple_d_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_multiple_d_xdl_cshuffle_lds_direct_load.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_multiple_d_xdl_cshuffle_v3.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_multiple_d_xdl_cshuffle_v3_ab_scale.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_multiple_d_xdl_cshuffle_v3_b_preshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_reduce_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_wmma.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_wmma_cshuffle_v3.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_xdl.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_xdl_cshuffle_lds_direct_load.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_xdl_cshuffle_streamk_v3.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_xdl_cshuffle_v2.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_xdl_cshuffle_v3.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_xdl_cshuffle_v3_b_preshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_xdl_cshuffle_v3_b_scale.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_xdl_cshuffle_v3_mx.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_xdl_cshuffle_v3r1.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_xdl_layernorm_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_xdl_skip_b_lds.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_xdl_splitk_c_shuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_xdl_splitk_c_shuffle_lds_direct_load.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_xdl_streamk.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_gemm_xdl_waveletmodel_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_grouped_contraction_multiple_d_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_grouped_conv_bwd_data_multiple_d_wmma_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_grouped_conv_bwd_data_multiple_d_xdl_cshuffle_v1.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_grouped_conv_bwd_weight_dl.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_grouped_conv_bwd_weight_multiple_d_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_grouped_conv_bwd_weight_two_stage_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_grouped_conv_bwd_weight_wmma_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_grouped_conv_bwd_weight_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_grouped_conv_bwd_weight_xdl_cshuffle_v3.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_grouped_conv_fwd_dl_multiple_d_nhwc_kyxc_nhwk.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_grouped_conv_fwd_dl_nhwc_kyxc_nhwk.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_grouped_conv_fwd_multiple_abd_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_grouped_conv_fwd_multiple_abd_xdl_cshuffle_v3.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_grouped_conv_fwd_multiple_d_multiple_r.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_grouped_conv_fwd_multiple_d_multiple_r_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_grouped_conv_fwd_multiple_d_wmma_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_grouped_conv_fwd_multiple_d_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_grouped_conv_fwd_multiple_d_xdl_large_tensor_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_grouped_conv_utils.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_grouped_gemm_multi_abd_xdl_fixed_nk.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_grouped_gemm_multiple_d_dl.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_grouped_gemm_multiple_d_splitk_xdl_cshuffle_two_stage.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_grouped_gemm_multiple_d_xdl_cshuffle_tile_loop.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_grouped_gemm_softmax_gemm_permute_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_grouped_gemm_xdl.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_grouped_gemm_xdl_fixed_nk.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_grouped_gemm_xdl_splitk_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_grouped_query_attention_forward_wmma.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_image_to_column_impl.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_max_pool_bwd_impl.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_moe_gemm.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_multi_query_attention_forward_wmma.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_multiple_reduce_multiblock.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_multiple_reduce_threadwise.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_normalization_bwd_data_impl.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_normalization_bwd_gamma_beta_impl.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_normalization_fwd_impl.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_normalization_fwd_splitk_impl.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_permute_impl.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_pool2d_fwd_nhwc_nhwc.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_pool3d_fwd_ndhwc_ndhwc.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_put_element_impl.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_reduce_common.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_reduce_multiblock.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_reduce_threadwise.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_reduce_threadwise_multi_d.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_softmax_impl.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_sparse_embeddings_forward_layernorm.hpp create mode 100644 include/ck/tensor_operation/gpu/device/impl/device_splitk_contraction_multiple_d_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/device/masking_specialization.hpp create mode 100644 include/ck/tensor_operation/gpu/device/matrix_padder.hpp create mode 100644 include/ck/tensor_operation/gpu/device/reduction_operator_mapping.hpp create mode 100644 include/ck/tensor_operation/gpu/device/tensor_layout.hpp create mode 100644 include/ck/tensor_operation/gpu/device/tensor_specialization.hpp create mode 100644 include/ck/tensor_operation/gpu/device/welford_helper.hpp create mode 100644 include/ck/tensor_operation/gpu/element/binary_element_wise_operation.hpp create mode 100644 include/ck/tensor_operation/gpu/element/combined_element_wise_operation.hpp create mode 100644 include/ck/tensor_operation/gpu/element/element_wise_operation.hpp create mode 100644 include/ck/tensor_operation/gpu/element/quantization_operation.hpp create mode 100644 include/ck/tensor_operation/gpu/element/unary_element_wise_operation.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/batchnorm_multiblock/gridwise_multiblock_batchnorm_forward.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/batchnorm_multiblock/gridwise_multiblock_reduce_second_half_batchnorm_backward_final.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/batchnorm_multiblock/gridwise_multiblock_welford_first_half.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/batchnorm_multiblock/gridwise_multiblock_welford_second_half_batchnorm_forward_final_obsolete.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/batchnorm_multiblock/gridwise_multiblock_welford_second_half_multiblock_reduce_first_half.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/block_to_ctile_map.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gemm_layernorm/gridwise_gemm_multiple_d_welford_first_half_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gemm_layernorm/gridwise_welford_second_half_layernorm2d.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_2d_multiple_reduction_multiblock.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_2d_multiple_reduction_threadwise.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_2d_reduction_multiblock.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_2d_reduction_threadwise.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_2d_reduction_threadwise_multi_d.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_batched_gemm_gemm_xdl_cshuffle_v1.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_batched_gemm_multiple_d_gemm_multiple_d_xdl_cshuffle_v1.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_batched_gemm_multiple_d_softmax_gemm_xdl_cshuffle_v1.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_batched_gemm_softmax_gemm_wmma_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_batched_gemm_softmax_gemm_xdl_cshuffle_v1.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_batchnorm_backward_blockwise_welford.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_batchnorm_forward_blockwise_welford.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_elementwise_1d_scale.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_elementwise_2d.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_elementwise_layernorm_welford_variance.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_fpAintB_gemm_wmma.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_bias_add_reduce_xdl_cshuffle_v1.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_dl_multiple_d.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_dl_v1r3.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_dpp.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_multiple_abd_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_multiple_d_multiple_r_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_multiple_d_wmma_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_multiple_d_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_multiple_d_xdl_cshuffle_lds_direct_load.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_multiple_d_xdl_splitk_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_pipeline_selector.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_pipeline_v1.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_pipeline_v2.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_pipeline_v3.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_pipeline_v4_direct_load.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_reduce_xdl_cshuffle_v1.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_split_k_multiple_d_xdl_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_split_k_multiple_d_xdl_cshuffle_v2.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_waveletmodel.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_wmma.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_wmma_cshuffle_v3.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_xdl_cshuffle_conv_v3.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_xdl_cshuffle_streamk_v3.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_xdl_cshuffle_v1.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_xdl_cshuffle_v2.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_xdl_cshuffle_v3.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_xdl_cshuffle_v3_b_preshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_xdl_cshuffle_v3_b_scale.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_xdl_cshuffle_v3_multi_abd.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_xdl_cshuffle_v3_multi_d.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_xdl_cshuffle_v3_multi_d_ab_scale.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_xdl_cshuffle_v3_multi_d_b_preshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_xdl_cshuffle_v3_mx.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_xdl_layernorm_cshuffle_v1.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_xdl_waveletmodel_cshuffle.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_xdlops_bwd_weight.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_xdlops_skip_b_lds_v1.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_xdlops_splitk_lds_direct_load.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_xdlops_streamk.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_xdlops_v2r3.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_xdlops_v2r4.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_xdlops_v2r4r2.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_xdlops_v3r1.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_xdlops_v3r2.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_gemm_xdlops_v3r3.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_moe_gemm.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_permute.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_put_element_1d.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_set_buffer_value.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_set_multiple_buffer_value.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_softmax.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_sparse_embeddings_forward_layernorm.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_sparse_embeddings_forward_layernorm_builtins.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/gridwise_tensor_rearrange.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/normalization/gridwise_normalization_bwd_data.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/normalization/gridwise_normalization_bwd_gamma_beta.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/normalization/gridwise_normalization_naive_variance.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/normalization/gridwise_normalization_selector.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/normalization/gridwise_normalization_splitk_1st.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/normalization/gridwise_normalization_splitk_2nd.hpp create mode 100644 include/ck/tensor_operation/gpu/grid/normalization/gridwise_normalization_welford_variance.hpp create mode 100644 include/ck/tensor_operation/gpu/thread/reduction_functions_threadwise.hpp create mode 100644 include/ck/tensor_operation/gpu/thread/threadwise_contraction_dl.hpp create mode 100644 include/ck/tensor_operation/gpu/thread/threadwise_gemm_dlops_v3.hpp create mode 100644 include/ck/tensor_operation/gpu/thread/threadwise_tensor_slice_set.hpp create mode 100644 include/ck/tensor_operation/gpu/thread/threadwise_tensor_slice_transfer.hpp create mode 100644 include/ck/tensor_operation/gpu/thread/threadwise_tensor_slice_transfer_util.hpp create mode 100644 include/ck/tensor_operation/gpu/thread/threadwise_tensor_slice_transfer_v3r1.hpp create mode 100644 include/ck/tensor_operation/gpu/thread/threadwise_tensor_slice_transfer_v3r1_dequant.hpp create mode 100644 include/ck/tensor_operation/gpu/thread/threadwise_tensor_slice_transfer_v3r1_gather.hpp create mode 100644 include/ck/tensor_operation/gpu/thread/threadwise_tensor_slice_transfer_v3r2.hpp create mode 100644 include/ck/tensor_operation/gpu/thread/threadwise_tensor_slice_transfer_v4r1.hpp create mode 100644 include/ck/tensor_operation/gpu/thread/threadwise_tensor_slice_transfer_v5r1.hpp create mode 100644 include/ck/tensor_operation/gpu/thread/threadwise_tensor_slice_transfer_v6r1.hpp create mode 100644 include/ck/tensor_operation/gpu/thread/threadwise_tensor_slice_transfer_v6r1r2.hpp create mode 100644 include/ck/tensor_operation/gpu/thread/threadwise_tensor_slice_transfer_v6r2.hpp create mode 100644 include/ck/tensor_operation/gpu/thread/threadwise_tensor_slice_transfer_v6r3.hpp create mode 100644 include/ck/tensor_operation/gpu/thread/threadwise_tensor_slice_transfer_v7.hpp create mode 100644 include/ck/tensor_operation/gpu/thread/threadwise_tensor_slice_transfer_v7r2.hpp create mode 100644 include/ck/tensor_operation/gpu/thread/threadwise_tensor_slice_transfer_v7r3.hpp create mode 100644 include/ck/tensor_operation/gpu/thread/threadwise_tensor_slice_transfer_v7r3_scatter.hpp create mode 100644 include/ck/tensor_operation/gpu/thread/threadwise_welford.hpp create mode 100644 include/ck/tensor_operation/gpu/warp/dpp_gemm.hpp create mode 100644 include/ck/tensor_operation/gpu/warp/smfmac_xdlops_gemm.hpp create mode 100644 include/ck/tensor_operation/gpu/warp/wmma_gemm.hpp create mode 100644 include/ck/tensor_operation/gpu/warp/xdlops_gemm.hpp create mode 100644 include/ck/tensor_operation/operator_transform/transform_contraction_to_gemm.hpp create mode 100644 include/ck/tensor_operation/operator_transform/transform_contraction_to_gemm_arraybase.hpp create mode 100644 include/ck/tensor_operation/operator_transform/transform_conv_bwd_data_to_gemm_v1.hpp create mode 100644 include/ck/tensor_operation/operator_transform/transform_conv_bwd_weight_to_gemm.hpp create mode 100644 include/ck/tensor_operation/operator_transform/transform_conv_bwd_weight_to_gemm_v2.hpp create mode 100644 include/ck/tensor_operation/operator_transform/transform_conv_fwd_to_gemm.hpp create mode 100644 include/ck/tensor_operation/operator_transform/transform_conv_ngchw_to_nhwgc.hpp create mode 100644 include/ck/utility/amd_address_space.hpp create mode 100644 include/ck/utility/amd_buffer_addressing.hpp create mode 100644 include/ck/utility/amd_buffer_addressing_builtins.hpp create mode 100644 include/ck/utility/amd_ck_fp8.hpp create mode 100644 include/ck/utility/amd_gemm_dpp.hpp create mode 100644 include/ck/utility/amd_inline_asm.hpp create mode 100644 include/ck/utility/amd_lds.hpp create mode 100644 include/ck/utility/amd_smfmac.hpp create mode 100644 include/ck/utility/amd_wave_read_first_lane.hpp create mode 100644 include/ck/utility/amd_wmma.hpp create mode 100644 include/ck/utility/amd_xdlops.hpp create mode 100644 include/ck/utility/array.hpp create mode 100644 include/ck/utility/array_multi_index.hpp create mode 100644 include/ck/utility/blkgemmpipe_scheduler.hpp create mode 100644 include/ck/utility/c_style_pointer_cast.hpp create mode 100644 include/ck/utility/common_header.hpp create mode 100644 include/ck/utility/container_element_picker.hpp create mode 100644 include/ck/utility/container_helper.hpp create mode 100644 include/ck/utility/data_type.hpp create mode 100644 include/ck/utility/debug.hpp create mode 100644 include/ck/utility/dtype_fp64.hpp create mode 100644 include/ck/utility/dtype_vector.hpp create mode 100644 include/ck/utility/dynamic_buffer.hpp create mode 100644 include/ck/utility/e8m0.hpp create mode 100644 include/ck/utility/enable_if.hpp create mode 100644 include/ck/utility/env.hpp create mode 100644 include/ck/utility/f8_utils.hpp create mode 100644 include/ck/utility/flush_icache.hpp create mode 100644 include/ck/utility/functional.hpp create mode 100644 include/ck/utility/functional2.hpp create mode 100644 include/ck/utility/functional3.hpp create mode 100644 include/ck/utility/functional4.hpp create mode 100644 include/ck/utility/generic_memory_space_atomic.hpp create mode 100644 include/ck/utility/get_id.hpp create mode 100644 include/ck/utility/get_shift.hpp create mode 100644 include/ck/utility/ignore.hpp create mode 100644 include/ck/utility/inner_product.hpp create mode 100644 include/ck/utility/inner_product_dpp8.hpp create mode 100644 include/ck/utility/integral_constant.hpp create mode 100644 include/ck/utility/is_detected.hpp create mode 100644 include/ck/utility/is_known_at_compile_time.hpp create mode 100644 include/ck/utility/loop_scheduler.hpp create mode 100644 include/ck/utility/magic_division.hpp create mode 100644 include/ck/utility/math.hpp create mode 100644 include/ck/utility/math_v2.hpp create mode 100644 include/ck/utility/multi_index.hpp create mode 100644 include/ck/utility/mxf4_utils.hpp create mode 100644 include/ck/utility/mxf6_utils.hpp create mode 100644 include/ck/utility/mxf8_utils.hpp create mode 100644 include/ck/utility/mxfp_utils.hpp create mode 100644 include/ck/utility/number.hpp create mode 100644 include/ck/utility/numeric_limits.hpp create mode 100644 include/ck/utility/numeric_utils.hpp create mode 100644 include/ck/utility/random_gen.hpp create mode 100644 include/ck/utility/reduction_common.hpp create mode 100644 include/ck/utility/reduction_enums.hpp create mode 100644 include/ck/utility/reduction_functions_accumulate.hpp create mode 100644 include/ck/utility/reduction_operator.hpp create mode 100644 include/ck/utility/scaled_type_convert.hpp create mode 100644 include/ck/utility/sequence.hpp create mode 100644 include/ck/utility/sequence_helper.hpp create mode 100644 include/ck/utility/span.hpp create mode 100644 include/ck/utility/static_buffer.hpp create mode 100644 include/ck/utility/statically_indexed_array.hpp create mode 100644 include/ck/utility/statically_indexed_array_multi_index.hpp create mode 100644 include/ck/utility/synchronization.hpp create mode 100644 include/ck/utility/thread_group.hpp create mode 100644 include/ck/utility/transpose_vectors.hpp create mode 100644 include/ck/utility/tuple.hpp create mode 100644 include/ck/utility/tuple_helper.hpp create mode 100644 include/ck/utility/type.hpp create mode 100644 include/ck/utility/type_convert.hpp create mode 100644 include/ck/utility/workgroup_barrier.hpp create mode 100644 include/ck/utility/workgroup_synchronization.hpp create mode 100644 include/ck/version.h.in create mode 100644 include/ck/wrapper/layout.hpp create mode 100644 include/ck/wrapper/operations/copy.hpp create mode 100644 include/ck/wrapper/operations/gemm.hpp create mode 100644 include/ck/wrapper/tensor.hpp create mode 100644 include/ck/wrapper/traits/blockwise_gemm_xdl_traits.hpp create mode 100644 include/ck/wrapper/utils/kernel_utils.hpp create mode 100644 include/ck/wrapper/utils/layout_utils.hpp create mode 100644 include/ck/wrapper/utils/tensor_partition.hpp create mode 100644 include/ck/wrapper/utils/tensor_utils.hpp create mode 100644 include/ck_tile/README.md create mode 100644 include/ck_tile/core.hpp create mode 100644 include/ck_tile/core/README.md create mode 100644 include/ck_tile/core/algorithm/cluster_descriptor.hpp create mode 100644 include/ck_tile/core/algorithm/coordinate_transform.hpp create mode 100644 include/ck_tile/core/algorithm/indexing_adaptor.hpp create mode 100644 include/ck_tile/core/algorithm/space_filling_curve.hpp create mode 100644 include/ck_tile/core/algorithm/static_encoding_pattern.hpp create mode 100644 include/ck_tile/core/arch/amd_buffer_addressing.hpp create mode 100644 include/ck_tile/core/arch/amd_buffer_addressing_builtins.hpp create mode 100644 include/ck_tile/core/arch/arch.hpp create mode 100644 include/ck_tile/core/arch/generic_memory_space_atomic.hpp create mode 100644 include/ck_tile/core/arch/utility.hpp create mode 100644 include/ck_tile/core/config.hpp create mode 100644 include/ck_tile/core/container/array.hpp create mode 100644 include/ck_tile/core/container/container_helper.hpp create mode 100644 include/ck_tile/core/container/map.hpp create mode 100644 include/ck_tile/core/container/meta_data_buffer.hpp create mode 100644 include/ck_tile/core/container/multi_index.hpp create mode 100644 include/ck_tile/core/container/sequence.hpp create mode 100644 include/ck_tile/core/container/span.hpp create mode 100644 include/ck_tile/core/container/statically_indexed_array.hpp create mode 100644 include/ck_tile/core/container/thread_buffer.hpp create mode 100644 include/ck_tile/core/container/tuple.hpp create mode 100644 include/ck_tile/core/numeric/bfloat16.hpp create mode 100644 include/ck_tile/core/numeric/float8.hpp create mode 100644 include/ck_tile/core/numeric/half.hpp create mode 100644 include/ck_tile/core/numeric/int8.hpp create mode 100644 include/ck_tile/core/numeric/integer.hpp create mode 100644 include/ck_tile/core/numeric/integral_constant.hpp create mode 100644 include/ck_tile/core/numeric/math.hpp create mode 100644 include/ck_tile/core/numeric/null_type.hpp create mode 100644 include/ck_tile/core/numeric/numeric.hpp create mode 100644 include/ck_tile/core/numeric/pk_int4.hpp create mode 100644 include/ck_tile/core/numeric/type_convert.hpp create mode 100644 include/ck_tile/core/numeric/vector_type.hpp create mode 100644 include/ck_tile/core/tensor/buffer_view.hpp create mode 100644 include/ck_tile/core/tensor/load_tile.hpp create mode 100644 include/ck_tile/core/tensor/null_tensor.hpp create mode 100644 include/ck_tile/core/tensor/null_tile_window.hpp create mode 100644 include/ck_tile/core/tensor/shuffle_tile.hpp create mode 100644 include/ck_tile/core/tensor/slice_tile.hpp create mode 100644 include/ck_tile/core/tensor/static_distributed_tensor.hpp create mode 100644 include/ck_tile/core/tensor/store_tile.hpp create mode 100644 include/ck_tile/core/tensor/sweep_tile.hpp create mode 100644 include/ck_tile/core/tensor/tensor_adaptor.hpp create mode 100644 include/ck_tile/core/tensor/tensor_adaptor_coordinate.hpp create mode 100644 include/ck_tile/core/tensor/tensor_coordinate.hpp create mode 100644 include/ck_tile/core/tensor/tensor_descriptor.hpp create mode 100644 include/ck_tile/core/tensor/tensor_view.hpp create mode 100644 include/ck_tile/core/tensor/tile_distribution.hpp create mode 100644 include/ck_tile/core/tensor/tile_distribution_encoding.hpp create mode 100644 include/ck_tile/core/tensor/tile_elementwise.hpp create mode 100644 include/ck_tile/core/tensor/tile_window.hpp create mode 100644 include/ck_tile/core/tensor/tile_window_linear.hpp create mode 100644 include/ck_tile/core/tensor/tile_window_utils.hpp create mode 100644 include/ck_tile/core/tensor/transpose_tile.hpp create mode 100644 include/ck_tile/core/tensor/update_tile.hpp create mode 100644 include/ck_tile/core/utility/bit_cast.hpp create mode 100644 include/ck_tile/core/utility/env.hpp create mode 100644 include/ck_tile/core/utility/functional.hpp create mode 100644 include/ck_tile/core/utility/functional_with_tuple.hpp create mode 100644 include/ck_tile/core/utility/ignore.hpp create mode 100644 include/ck_tile/core/utility/literals.hpp create mode 100644 include/ck_tile/core/utility/magic_div.hpp create mode 100644 include/ck_tile/core/utility/philox_rand.hpp create mode 100644 include/ck_tile/core/utility/random.hpp create mode 100644 include/ck_tile/core/utility/reduce_operator.hpp create mode 100644 include/ck_tile/core/utility/static_counter.hpp create mode 100644 include/ck_tile/core/utility/to_sequence.hpp create mode 100644 include/ck_tile/core/utility/transpose_vectors.hpp create mode 100644 include/ck_tile/core/utility/type_traits.hpp create mode 100644 include/ck_tile/core/utility/unary_element_function.hpp create mode 100644 include/ck_tile/host.hpp create mode 100644 include/ck_tile/host/arg_parser.hpp create mode 100644 include/ck_tile/host/check_err.hpp create mode 100644 include/ck_tile/host/concat.hpp create mode 100644 include/ck_tile/host/convolution_host_tensor_descriptor_helper.hpp create mode 100644 include/ck_tile/host/convolution_parameter.hpp create mode 100644 include/ck_tile/host/device_memory.hpp create mode 100644 include/ck_tile/host/fill.hpp create mode 100644 include/ck_tile/host/hip_check_error.hpp create mode 100644 include/ck_tile/host/host_tensor.hpp create mode 100644 include/ck_tile/host/joinable_thread.hpp create mode 100644 include/ck_tile/host/kernel_launch.hpp create mode 100644 include/ck_tile/host/ranges.hpp create mode 100644 include/ck_tile/host/reference/reference_batched_dropout.hpp create mode 100644 include/ck_tile/host/reference/reference_batched_elementwise.hpp create mode 100644 include/ck_tile/host/reference/reference_batched_gemm.hpp create mode 100644 include/ck_tile/host/reference/reference_batched_masking.hpp create mode 100644 include/ck_tile/host/reference/reference_batched_rotary_position_embedding.hpp create mode 100644 include/ck_tile/host/reference/reference_batched_softmax.hpp create mode 100644 include/ck_tile/host/reference/reference_batched_transpose.hpp create mode 100644 include/ck_tile/host/reference/reference_elementwise.hpp create mode 100644 include/ck_tile/host/reference/reference_fused_moe.hpp create mode 100644 include/ck_tile/host/reference/reference_gemm.hpp create mode 100644 include/ck_tile/host/reference/reference_im2col.hpp create mode 100644 include/ck_tile/host/reference/reference_layernorm2d_fwd.hpp create mode 100644 include/ck_tile/host/reference/reference_moe_sorting.hpp create mode 100644 include/ck_tile/host/reference/reference_permute.hpp create mode 100644 include/ck_tile/host/reference/reference_reduce.hpp create mode 100644 include/ck_tile/host/reference/reference_rmsnorm2d_fwd.hpp create mode 100644 include/ck_tile/host/reference/reference_rowwise_quantization2d.hpp create mode 100644 include/ck_tile/host/reference/reference_softmax.hpp create mode 100644 include/ck_tile/host/reference/reference_topk.hpp create mode 100644 include/ck_tile/host/stream_config.hpp create mode 100644 include/ck_tile/host/timer.hpp create mode 100644 include/ck_tile/ops/add_rmsnorm2d_rdquant.hpp create mode 100644 include/ck_tile/ops/add_rmsnorm2d_rdquant/kernel/add_rmsnorm2d_rdquant_fwd_kernel.hpp create mode 100644 include/ck_tile/ops/add_rmsnorm2d_rdquant/pipeline/add_rmsnorm2d_rdquant_fwd_pipeline_default_policy.hpp create mode 100644 include/ck_tile/ops/add_rmsnorm2d_rdquant/pipeline/add_rmsnorm2d_rdquant_fwd_pipeline_one_pass.hpp create mode 100644 include/ck_tile/ops/add_rmsnorm2d_rdquant/pipeline/add_rmsnorm2d_rdquant_fwd_pipeline_problem.hpp create mode 100644 include/ck_tile/ops/add_rmsnorm2d_rdquant/pipeline/add_rmsnorm2d_rdquant_fwd_pipeline_three_pass.hpp create mode 100644 include/ck_tile/ops/batched_transpose.hpp create mode 100644 include/ck_tile/ops/batched_transpose/kernel/batched_transpose_kernel.hpp create mode 100644 include/ck_tile/ops/batched_transpose/pipeline/batched_transpose_pipeline.hpp create mode 100644 include/ck_tile/ops/batched_transpose/pipeline/batched_transpose_policy.hpp create mode 100644 include/ck_tile/ops/batched_transpose/pipeline/batched_transpose_problem.hpp create mode 100644 include/ck_tile/ops/common.hpp create mode 100644 include/ck_tile/ops/common/README.md create mode 100644 include/ck_tile/ops/common/generic_2d_block_shape.hpp create mode 100644 include/ck_tile/ops/common/tensor_layout.hpp create mode 100755 include/ck_tile/ops/common/utils.hpp create mode 100644 include/ck_tile/ops/elementwise.hpp create mode 100644 include/ck_tile/ops/elementwise/unary_element_wise_operation.hpp create mode 100644 include/ck_tile/ops/epilogue.hpp create mode 100644 include/ck_tile/ops/epilogue/cshuffle_epilogue.hpp create mode 100644 include/ck_tile/ops/epilogue/default_2d_and_dynamic_quant_epilogue.hpp create mode 100644 include/ck_tile/ops/epilogue/default_2d_epilogue.hpp create mode 100644 include/ck_tile/ops/epilogue/dynamic_quant_epilogue.hpp create mode 100644 include/ck_tile/ops/flatmm.hpp create mode 100644 include/ck_tile/ops/flatmm/block/block_flatmm_asmem_bsmem_creg_v1.hpp create mode 100644 include/ck_tile/ops/flatmm/block/block_flatmm_asmem_bsmem_creg_v1_custom_policy.hpp create mode 100644 include/ck_tile/ops/flatmm/block/flatmm_32x512x128_1x4x1_16x16x32.hpp create mode 100644 include/ck_tile/ops/flatmm/block/flatmm_sn_32x128x512_1x4x1_16x16x32.hpp create mode 100644 include/ck_tile/ops/flatmm/block/flatmm_sn_32x128x512_1x4x1_16x16x32_itl.hpp create mode 100644 include/ck_tile/ops/flatmm/block/flatmm_uk_config.hpp create mode 100644 include/ck_tile/ops/flatmm/block/uk/README.md create mode 100644 include/ck_tile/ops/flatmm/block/uk/flatmm_sn_uk_gfx9_32x128x512_1x4x1_16x16x16.inc create mode 100644 include/ck_tile/ops/flatmm/block/uk/flatmm_sn_uk_gfx9_32x128x512_1x4x1_16x16x16_itl.inc create mode 100644 include/ck_tile/ops/flatmm/block/uk/flatmm_uk_gfx9_32x512x128_1x1x1_16x16x16.inc create mode 100644 include/ck_tile/ops/flatmm/kernel/flatmm_kernel.hpp create mode 100644 include/ck_tile/ops/flatmm/pipeline/flatmm_pipeline_agmem_bgmem_creg_v1.hpp create mode 100644 include/ck_tile/ops/flatmm/pipeline/flatmm_pipeline_agmem_bgmem_creg_v1_policy.hpp create mode 100644 include/ck_tile/ops/flatmm/pipeline/tile_flatmm_shape.hpp create mode 100644 include/ck_tile/ops/fmha.hpp create mode 100644 include/ck_tile/ops/fmha/block/block_attention_bias_enum.hpp create mode 100644 include/ck_tile/ops/fmha/block/block_dropout.hpp create mode 100644 include/ck_tile/ops/fmha/block/block_masking.hpp create mode 100644 include/ck_tile/ops/fmha/block/block_position_encoding.hpp create mode 100644 include/ck_tile/ops/fmha/block/block_rotary_embedding.hpp create mode 100644 include/ck_tile/ops/fmha/block/page_block_navigator.hpp create mode 100644 include/ck_tile/ops/fmha/kernel/fmha_bwd_kernel.hpp create mode 100644 include/ck_tile/ops/fmha/kernel/fmha_fwd_appendkv_kernel.hpp create mode 100644 include/ck_tile/ops/fmha/kernel/fmha_fwd_appendkv_tile_partitioner.hpp create mode 100644 include/ck_tile/ops/fmha/kernel/fmha_fwd_kernel.hpp create mode 100644 include/ck_tile/ops/fmha/kernel/fmha_fwd_splitkv_combine_kernel.hpp create mode 100644 include/ck_tile/ops/fmha/kernel/fmha_fwd_splitkv_kernel.hpp create mode 100644 include/ck_tile/ops/fmha/pipeline/block_fmha_bwd_convert_dq.hpp create mode 100644 include/ck_tile/ops/fmha/pipeline/block_fmha_bwd_dot_do_o.hpp create mode 100644 include/ck_tile/ops/fmha/pipeline/block_fmha_bwd_dq_dk_dv_pipeline_kr_ktr_vr.hpp create mode 100644 include/ck_tile/ops/fmha/pipeline/block_fmha_bwd_dq_dk_dv_pipeline_kr_ktr_vr_iglp.hpp create mode 100644 include/ck_tile/ops/fmha/pipeline/block_fmha_bwd_pipeline_default_policy.hpp create mode 100644 include/ck_tile/ops/fmha/pipeline/block_fmha_bwd_pipeline_enum.hpp create mode 100644 include/ck_tile/ops/fmha/pipeline/block_fmha_bwd_pipeline_problem.hpp create mode 100644 include/ck_tile/ops/fmha/pipeline/block_fmha_fwd_appendkv_pipeline.hpp create mode 100644 include/ck_tile/ops/fmha/pipeline/block_fmha_fwd_appendkv_pipeline_default_policy.hpp create mode 100644 include/ck_tile/ops/fmha/pipeline/block_fmha_fwd_splitkv_combine_pipeline.hpp create mode 100644 include/ck_tile/ops/fmha/pipeline/block_fmha_fwd_splitkv_combine_pipeline_default_policy.hpp create mode 100644 include/ck_tile/ops/fmha/pipeline/block_fmha_fwd_splitkv_pipeline_nwarp_sshuffle_qr_ks_vs.hpp create mode 100644 include/ck_tile/ops/fmha/pipeline/block_fmha_fwd_splitkv_pipeline_nwarp_sshuffle_qr_ks_vs_default_policy.hpp create mode 100644 include/ck_tile/ops/fmha/pipeline/block_fmha_fwd_splitkv_pipeline_qr_ks_vs.hpp create mode 100644 include/ck_tile/ops/fmha/pipeline/block_fmha_fwd_splitkv_pipeline_qr_ks_vs_default_policy.hpp create mode 100644 include/ck_tile/ops/fmha/pipeline/block_fmha_pipeline_enum.hpp create mode 100644 include/ck_tile/ops/fmha/pipeline/block_fmha_pipeline_problem.hpp create mode 100644 include/ck_tile/ops/fmha/pipeline/block_fmha_pipeline_qr_ks_vs.hpp create mode 100644 include/ck_tile/ops/fmha/pipeline/block_fmha_pipeline_qr_ks_vs_async.hpp create mode 100644 include/ck_tile/ops/fmha/pipeline/block_fmha_pipeline_qr_ks_vs_async_default_policy.hpp create mode 100644 include/ck_tile/ops/fmha/pipeline/block_fmha_pipeline_qr_ks_vs_default_policy.hpp create mode 100644 include/ck_tile/ops/fmha/pipeline/block_fmha_pipeline_qr_ks_vs_fp8.hpp create mode 100644 include/ck_tile/ops/fmha/pipeline/block_fmha_pipeline_qr_ks_vs_whole_k_prefetch.hpp create mode 100644 include/ck_tile/ops/fmha/pipeline/block_fmha_pipeline_qr_ks_vs_whole_k_prefetch_default_policy.hpp create mode 100644 include/ck_tile/ops/fmha/pipeline/block_fmha_pipeline_qs_ks_vs.hpp create mode 100644 include/ck_tile/ops/fmha/pipeline/block_fmha_pipeline_qs_ks_vs_default_policy.hpp create mode 100644 include/ck_tile/ops/fmha/pipeline/block_fmha_pipeline_qx_ks_vs_custom_policy.hpp create mode 100644 include/ck_tile/ops/fmha/pipeline/tile_fmha_shape.hpp create mode 100644 include/ck_tile/ops/fmha/pipeline/tile_fmha_traits.hpp create mode 100644 include/ck_tile/ops/fused_moe.hpp create mode 100644 include/ck_tile/ops/fused_moe/kernel/fused_moegemm_kernel.hpp create mode 100644 include/ck_tile/ops/fused_moe/kernel/fused_moegemm_shape.hpp create mode 100644 include/ck_tile/ops/fused_moe/kernel/fused_moegemm_tile_partitioner.hpp create mode 100644 include/ck_tile/ops/fused_moe/kernel/moe_sorting_kernel.hpp create mode 100644 include/ck_tile/ops/fused_moe/kernel/moe_sorting_problem.hpp create mode 100644 include/ck_tile/ops/fused_moe/pipeline/fused_moegemm_pipeline_flatmm_ex.hpp create mode 100644 include/ck_tile/ops/fused_moe/pipeline/fused_moegemm_pipeline_flatmm_policy.hpp create mode 100644 include/ck_tile/ops/fused_moe/pipeline/fused_moegemm_pipeline_flatmm_uk.hpp create mode 100644 include/ck_tile/ops/fused_moe/pipeline/fused_moegemm_pipeline_problem.hpp create mode 100644 include/ck_tile/ops/fused_moe/pipeline/fused_moegemm_traits.hpp create mode 100644 include/ck_tile/ops/fused_moe/pipeline/moe_sorting_pipeline.hpp create mode 100644 include/ck_tile/ops/fused_moe/pipeline/moe_sorting_policy.hpp create mode 100644 include/ck_tile/ops/gemm.hpp create mode 100644 include/ck_tile/ops/gemm/block/block_gemm_areg_bgmem_creg_v1.hpp create mode 100644 include/ck_tile/ops/gemm/block/block_gemm_areg_bgmem_creg_v1_default_policy.hpp create mode 100644 include/ck_tile/ops/gemm/block/block_gemm_areg_breg_creg_v1.hpp create mode 100644 include/ck_tile/ops/gemm/block/block_gemm_areg_breg_creg_v1_custom_policy.hpp create mode 100644 include/ck_tile/ops/gemm/block/block_gemm_areg_breg_creg_v1_default_policy.hpp create mode 100644 include/ck_tile/ops/gemm/block/block_gemm_areg_bsmem_creg_one_warp_v1.hpp create mode 100644 include/ck_tile/ops/gemm/block/block_gemm_areg_bsmem_creg_v1.hpp create mode 100644 include/ck_tile/ops/gemm/block/block_gemm_areg_bsmem_creg_v1_custom_policy.hpp create mode 100644 include/ck_tile/ops/gemm/block/block_gemm_areg_bsmem_creg_v1_default_policy.hpp create mode 100644 include/ck_tile/ops/gemm/block/block_gemm_areg_bsmem_creg_v2.hpp create mode 100644 include/ck_tile/ops/gemm/block/block_gemm_areg_bsmem_creg_v2_custom_policy.hpp create mode 100644 include/ck_tile/ops/gemm/block/block_gemm_areg_bsmem_creg_v2_default_policy.hpp create mode 100644 include/ck_tile/ops/gemm/block/block_gemm_asmem_breg_creg_v1.hpp create mode 100644 include/ck_tile/ops/gemm/block/block_gemm_asmem_breg_creg_v1_custom_policy.hpp create mode 100644 include/ck_tile/ops/gemm/block/block_gemm_asmem_breg_creg_v1_default_policy.hpp create mode 100644 include/ck_tile/ops/gemm/block/block_gemm_asmem_bsmem_creg_v1.hpp create mode 100644 include/ck_tile/ops/gemm/block/block_gemm_asmem_bsmem_creg_v1_custom_policy.hpp create mode 100644 include/ck_tile/ops/gemm/block/block_gemm_asmem_bsmem_creg_v1_default_policy.hpp create mode 100644 include/ck_tile/ops/gemm/block/block_gemm_problem.hpp create mode 100644 include/ck_tile/ops/gemm/block/block_universal_gemm_as_bs_cr.hpp create mode 100644 include/ck_tile/ops/gemm/kernel/batched_gemm_kernel.hpp create mode 100644 include/ck_tile/ops/gemm/kernel/gemm_kernel.hpp create mode 100644 include/ck_tile/ops/gemm/kernel/gemm_tile_partitioner.hpp create mode 100644 include/ck_tile/ops/gemm/kernel/grouped_gemm_kernel.hpp create mode 100644 include/ck_tile/ops/gemm/pipeline/gemm_pipeline_ag_bg_cr_base.hpp create mode 100644 include/ck_tile/ops/gemm/pipeline/gemm_pipeline_ag_bg_cr_comp_v3.hpp create mode 100644 include/ck_tile/ops/gemm/pipeline/gemm_pipeline_ag_bg_cr_comp_v4.hpp create mode 100644 include/ck_tile/ops/gemm/pipeline/gemm_pipeline_ag_bg_cr_comp_v4_default_policy.hpp create mode 100644 include/ck_tile/ops/gemm/pipeline/gemm_pipeline_ag_bg_cr_mem.hpp create mode 100644 include/ck_tile/ops/gemm/pipeline/gemm_pipeline_ag_bg_cr_scheduler.hpp create mode 100644 include/ck_tile/ops/gemm/pipeline/gemm_pipeline_agmem_bgmem_creg_v1.hpp create mode 100755 include/ck_tile/ops/gemm/pipeline/gemm_pipeline_agmem_bgmem_creg_v1_default_policy.hpp create mode 100644 include/ck_tile/ops/gemm/pipeline/gemm_pipeline_agmem_bgmem_creg_v2.hpp create mode 100644 include/ck_tile/ops/gemm/pipeline/gemm_pipeline_agmem_bgmem_creg_v2_default_policy.hpp create mode 100644 include/ck_tile/ops/gemm/pipeline/gemm_pipeline_problem.hpp create mode 100644 include/ck_tile/ops/gemm/pipeline/gemm_universal_pipeline_ag_bg_cr_policy.hpp create mode 100644 include/ck_tile/ops/gemm/pipeline/tile_gemm_shape.hpp create mode 100644 include/ck_tile/ops/gemm/pipeline/tile_gemm_traits.hpp create mode 100644 include/ck_tile/ops/gemm/warp/warp_gemm.hpp create mode 100644 include/ck_tile/ops/gemm/warp/warp_gemm_attribute_mfma.hpp create mode 100644 include/ck_tile/ops/gemm/warp/warp_gemm_attribute_mfma_impl.hpp create mode 100644 include/ck_tile/ops/gemm/warp/warp_gemm_attribute_smfmac.hpp create mode 100644 include/ck_tile/ops/gemm/warp/warp_gemm_attribute_smfmac_impl.hpp create mode 100644 include/ck_tile/ops/gemm/warp/warp_gemm_dispatcher.hpp create mode 100644 include/ck_tile/ops/gemm/warp/warp_gemm_impl.hpp create mode 100644 include/ck_tile/ops/gemm/warp/warp_gemm_smfmac_impl.hpp create mode 100644 include/ck_tile/ops/image_to_column.hpp create mode 100644 include/ck_tile/ops/image_to_column/kernel/image_to_column_kernel.hpp create mode 100644 include/ck_tile/ops/image_to_column/pipeline/block_image_to_column_problem.hpp create mode 100644 include/ck_tile/ops/image_to_column/pipeline/tile_image_to_column_shape.hpp create mode 100644 include/ck_tile/ops/layernorm2d.hpp create mode 100644 include/ck_tile/ops/layernorm2d/kernel/layernorm2d_fwd_kernel.hpp create mode 100644 include/ck_tile/ops/layernorm2d/pipeline/layernorm2d_fwd_pipeline_default_policy.hpp create mode 100644 include/ck_tile/ops/layernorm2d/pipeline/layernorm2d_fwd_pipeline_one_pass.hpp create mode 100644 include/ck_tile/ops/layernorm2d/pipeline/layernorm2d_fwd_pipeline_problem.hpp create mode 100644 include/ck_tile/ops/layernorm2d/pipeline/layernorm2d_fwd_pipeline_two_pass.hpp create mode 100644 include/ck_tile/ops/layernorm2d/pipeline/layernorm2d_fwd_traits.hpp create mode 100644 include/ck_tile/ops/norm_reduce.hpp create mode 100644 include/ck_tile/ops/norm_reduce/block/block_norm_reduce.hpp create mode 100644 include/ck_tile/ops/norm_reduce/block/block_norm_reduce_problem.hpp create mode 100644 include/ck_tile/ops/norm_reduce/thread/thread_welford.hpp create mode 100644 include/ck_tile/ops/permute.hpp create mode 100644 include/ck_tile/ops/permute/kernel/generic_permute_kernel.hpp create mode 100644 include/ck_tile/ops/permute/pipeline/generic_petmute_problem.hpp create mode 100644 include/ck_tile/ops/reduce.hpp create mode 100644 include/ck_tile/ops/reduce/block/block_reduce.hpp create mode 100644 include/ck_tile/ops/reduce/block/block_reduce2d.hpp create mode 100644 include/ck_tile/ops/reduce/block/block_reduce2d_default_policy.hpp create mode 100644 include/ck_tile/ops/reduce/block/block_reduce2d_problem.hpp create mode 100644 include/ck_tile/ops/rmsnorm2d.hpp create mode 100644 include/ck_tile/ops/rmsnorm2d/kernel/rmsnorm2d_fwd_kernel.hpp create mode 100644 include/ck_tile/ops/rmsnorm2d/pipeline/rmsnorm2d_fwd_pipeline_default_policy.hpp create mode 100644 include/ck_tile/ops/rmsnorm2d/pipeline/rmsnorm2d_fwd_pipeline_one_pass.hpp create mode 100644 include/ck_tile/ops/rmsnorm2d/pipeline/rmsnorm2d_fwd_pipeline_problem.hpp create mode 100644 include/ck_tile/ops/rmsnorm2d/pipeline/rmsnorm2d_fwd_pipeline_two_pass.hpp create mode 100644 include/ck_tile/ops/rmsnorm2d/pipeline/rmsnorm2d_fwd_traits.hpp create mode 100644 include/ck_tile/ops/smoothquant.hpp create mode 100644 include/ck_tile/ops/smoothquant/kernel/moe_smoothquant_kernel.hpp create mode 100644 include/ck_tile/ops/smoothquant/kernel/smoothquant_kernel.hpp create mode 100644 include/ck_tile/ops/smoothquant/pipeline/smoothquant_pipeline_default_policy.hpp create mode 100644 include/ck_tile/ops/smoothquant/pipeline/smoothquant_pipeline_one_pass.hpp create mode 100644 include/ck_tile/ops/smoothquant/pipeline/smoothquant_pipeline_problem.hpp create mode 100644 include/ck_tile/ops/smoothquant/pipeline/smoothquant_pipeline_two_pass.hpp create mode 100644 include/ck_tile/ops/softmax.hpp create mode 100644 include/ck_tile/ops/softmax/block/block_softmax_2d.hpp create mode 100644 include/ck_tile/ops/softmax/block/block_softmax_2d_problem.hpp create mode 100644 include/ck_tile/ops/topk.hpp create mode 100644 include/ck_tile/ops/topk/block/block_topk_stream_2d.hpp create mode 100644 include/ck_tile/ops/topk/block/block_topk_stream_2d_problem.hpp create mode 100644 include/ck_tile/ops/topk_softmax.hpp create mode 100644 include/ck_tile/ops/topk_softmax/kernel/topk_softmax_kernel.hpp create mode 100644 include/ck_tile/ops/topk_softmax/pipeline/topk_softmax_warp_per_row_pipeline.hpp create mode 100644 include/ck_tile/ops/topk_softmax/pipeline/topk_softmax_warp_per_row_policy.hpp create mode 100644 include/ck_tile/ops/topk_softmax/pipeline/topk_softmax_warp_per_row_problem.hpp create mode 100644 include/ck_tile/ref/README.md create mode 100644 include/ck_tile/ref/naive_attention.hpp create mode 100644 include/ck_tile/remod.py create mode 100644 library/CMakeLists.txt create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_avgpool_bwd.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_batched_gemm.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_batchnorm_backward.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_batchnorm_forward.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_batchnorm_infer.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_cgemm.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_column_to_image.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_contraction.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_conv_bwd_data.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_conv_bwd_weight.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_conv_fwd.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_conv_fwd_bias_activation.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_conv_fwd_bias_activation_add.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_elementwise.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_fpAintB_gemm.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_gemm.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_gemm_layernorm.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_gemm_multiple_d.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_groupnorm.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_groupnorm_bwd.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_image_to_column.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_layernorm.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_layernorm_bwd.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_maxpool_bwd.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_moe_gemm.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_moe_gemm2.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_mx_gemm.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_pool_fwd.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_reduce.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_softmax.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/cpu/reference_sparse_embedding3_forward_layernorm.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/gpu/naive_conv_fwd.hpp create mode 100644 library/include/ck/library/reference_tensor_operation/gpu/reference_gemm.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/add_device_operation_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/device_operation_instance_factory.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/avg_pool2d_bwd.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/avg_pool3d_bwd.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/batched_gemm.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/batched_gemm_add_relu_gemm_add.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/batched_gemm_b_scale.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/batched_gemm_bias_permute.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/batched_gemm_bias_softmax_gemm_permute.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/batched_gemm_gemm.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/batched_gemm_multi_d.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/batched_gemm_softmax_gemm.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/batched_gemm_softmax_gemm_permute.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/batchnorm_backward.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/batchnorm_forward.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/batchnorm_infer.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/contraction/device_contraction_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/contraction_bilinear.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/contraction_scale.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/conv_tensor_rearrange.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/conv_tensor_rearrange/device_column_to_image_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/conv_tensor_rearrange/device_image_to_column_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/convolution_backward_data.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/convolution_forward.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/device_elementwise_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/device_gemm_mean_squaremean_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/device_gemm_xdl_c_shuffle_fp8_fp8_fp8_mk_kn_mn_v1_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/device_gemm_xdl_c_shuffle_fp8_fp8_fp8_mk_kn_mn_v1_interwave_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/device_gemm_xdl_c_shuffle_fp8_fp8_fp8_mk_kn_mn_v2_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/elementwise_normalization.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/gemm.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/gemm_ab_scale.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/gemm_add.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/gemm_add_add_fastgelu.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/gemm_add_fastgelu.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/gemm_add_multiply.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/gemm_add_relu.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/gemm_add_relu_add_layernorm.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/gemm_add_silu.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/gemm_b_scale.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/gemm_bilinear.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/gemm_dl.inc create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/gemm_dpp.inc create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/gemm_fastgelu.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/gemm_multi_abd.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/gemm_multiply_add.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/gemm_multiply_multiply.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/gemm_multiply_multiply_wp.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/gemm_mx.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/gemm_splitk.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/gemm_streamk.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/gemm_universal.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/gemm_universal_batched.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/gemm_universal_reduce.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/gemm_universal_streamk.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/gemm_universal_wmma.inc create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/gemm_universal_xdl.inc create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/gemm_wmma.inc create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/gemm_xdl.inc create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_conv_bwd_data/device_grouped_conv_bwd_data_transpose_xdl_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_conv_bwd_data/device_grouped_conv_bwd_data_wmma_f16_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_conv_bwd_data/device_grouped_conv_bwd_data_wmma_i8_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_conv_bwd_data/device_grouped_conv_bwd_data_xdl_bilinear_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_conv_bwd_data/device_grouped_conv_bwd_data_xdl_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_conv_bwd_data/device_grouped_conv_bwd_data_xdl_scale_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_conv_bwd_weight/device_grouped_conv_bwd_weight_dl_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_conv_bwd_weight/device_grouped_conv_bwd_weight_two_stage_xdl_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_conv_bwd_weight/device_grouped_conv_bwd_weight_v3_xdl_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_conv_bwd_weight/device_grouped_conv_bwd_weight_wmma_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_conv_bwd_weight/device_grouped_conv_bwd_weight_xdl_bilinear_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_conv_bwd_weight/device_grouped_conv_bwd_weight_xdl_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_conv_bwd_weight/device_grouped_conv_bwd_weight_xdl_scale_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_conv_fwd/device_grouped_conv_fwd_dl_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_conv_fwd/device_grouped_conv_fwd_wmma_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_conv_fwd/device_grouped_conv_fwd_xdl_bilinear_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_conv_fwd/device_grouped_conv_fwd_xdl_binary_outelementop_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_conv_fwd/device_grouped_conv_fwd_xdl_comp_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_conv_fwd/device_grouped_conv_fwd_xdl_dynamic_op_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_conv_fwd/device_grouped_conv_fwd_xdl_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_conv_fwd/device_grouped_conv_fwd_xdl_large_tensor_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_conv_fwd/device_grouped_conv_fwd_xdl_mem_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_conv_fwd/device_grouped_conv_fwd_xdl_merged_groups_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_conv_fwd/device_grouped_conv_fwd_xdl_outelementop_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_conv_fwd/device_grouped_conv_fwd_xdl_scale_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_conv_fwd/device_grouped_conv_fwd_xdl_scaleadd_ab_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_conv_fwd/device_grouped_conv_fwd_xdl_scaleadd_scaleadd_relu_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_convolution_backward_data.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_convolution_backward_data_bilinear.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_convolution_backward_data_scale.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_convolution_backward_data_wmma.inc create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_convolution_backward_data_xdl.inc create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_convolution_backward_weight.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_convolution_backward_weight_bilinear.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_convolution_backward_weight_dl.inc create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_convolution_backward_weight_scale.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_convolution_backward_weight_wmma.inc create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_convolution_backward_weight_xdl.inc create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_convolution_forward.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_convolution_forward_bilinear.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_convolution_forward_comp_xdl.inc create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_convolution_forward_convinvscale.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_convolution_forward_convscale.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_convolution_forward_convscale_add.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_convolution_forward_convscale_relu.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_convolution_forward_dl.inc create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_convolution_forward_dynamic_op.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_convolution_forward_mem_inter_xdl.inc create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_convolution_forward_mem_intra_xdl.inc create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_convolution_forward_scale.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_convolution_forward_scaleadd_ab.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_convolution_forward_scaleadd_scaleadd_relu.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_convolution_forward_wmma.inc create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_convolution_forward_xdl.inc create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_convolution_forward_xdl_large_tensor.inc create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_convolution_forward_xdl_merged_groups.inc create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_gemm.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_gemm/device_grouped_gemm_xdl_splitk_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_gemm_bias.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_gemm_fastgelu.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_gemm_fixed_nk.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_gemm_multi_abd_fixed_nk.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_gemm_tile_loop.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/grouped_gemm_tile_loop_multiply.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/groupnorm_bwd_data.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/groupnorm_bwd_gamma_beta.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/layernorm_bwd_data.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/layernorm_bwd_gamma_beta.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/max_pool_bwd.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/normalization_fwd.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/normalization_fwd_swish.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/permute_scale.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/permute_scale/device_permute_scale_instances.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/pool2d_fwd.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/pool3d_fwd.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/quantization/gemm_quantization.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/quantization/grouped_convolution_bias_forward_perchannel_quantization.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/quantization/grouped_convolution_bias_forward_perlayer_quantization.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/quantization/grouped_convolution_forward_perchannel_quantization.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/quantization/grouped_convolution_forward_perlayer_quantization.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_b16_f32_b16_add.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_b16_f32_b16_amax.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_b16_f32_b16_avg.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_b16_f32_b16_max.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_b16_f32_b16_min.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_b16_f32_b16_norm2.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f16_f16_f16_amax.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f16_f16_f16_max.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f16_f16_f16_min.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f16_f32_f16_add.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f16_f32_f16_avg.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f16_f32_f16_norm2.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f32_f32_f32_add.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f32_f32_f32_amax.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f32_f32_f32_avg.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f32_f32_f32_max.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f32_f32_f32_min.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f32_f32_f32_norm2.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f32_f64_f32_add.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f32_f64_f32_avg.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f32_f64_f32_norm2.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f64_f64_f64_add.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f64_f64_f64_amax.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f64_f64_f64_avg.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f64_f64_f64_max.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f64_f64_f64_min.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f64_f64_f64_norm2.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_i8_i32_i8_add.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_i8_i32_i8_avg.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_i8_i8_i8_amax.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_i8_i8_i8_max.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_i8_i8_i8_min.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_impl_common.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_multiblock_atomic_add.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_multiblock_atomic_add_b16_f32_f32_add.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_multiblock_atomic_add_b16_f32_f32_avg.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_multiblock_atomic_add_f16_f32_f32_add.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_multiblock_atomic_add_f16_f32_f32_avg.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_multiblock_atomic_add_f32_f32_f32_add.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_multiblock_atomic_add_f32_f32_f32_avg.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_multiblock_atomic_add_f32_f64_f32_add.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_multiblock_atomic_add_f32_f64_f32_avg.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_multiblock_atomic_add_f64_f64_f64_add.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_multiblock_atomic_add_f64_f64_f64_avg.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_b16_f32_b16_add.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_b16_f32_b16_amax.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_b16_f32_b16_avg.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_b16_f32_b16_max.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_b16_f32_b16_min.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_b16_f32_b16_norm2.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f16_f16_f16_amax.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f16_f16_f16_max.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f16_f16_f16_min.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f16_f32_f16_add.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f16_f32_f16_avg.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f16_f32_f16_norm2.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f32_f32_f32_add.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f32_f32_f32_amax.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f32_f32_f32_avg.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f32_f32_f32_max.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f32_f32_f32_min.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f32_f32_f32_norm2.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f32_f64_f32_add.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f32_f64_f32_avg.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f32_f64_f32_norm2.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f64_f64_f64_add.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f64_f64_f64_amax.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f64_f64_f64_avg.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f64_f64_f64_max.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f64_f64_f64_min.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f64_f64_f64_norm2.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_i8_i32_i8_add.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_i8_i32_i8_avg.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_i8_i8_i8_amax.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_i8_i8_i8_max.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_i8_i8_i8_min.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/reduce/reduce.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/softmax.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/softmax/device_softmax_f16_f16_instance_rank3_reduce1.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/softmax/device_softmax_f16_f16_instance_rank3_reduce2.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/softmax/device_softmax_f16_f16_instance_rank3_reduce3.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/softmax/device_softmax_f16_f16_instance_rank4_reduce1.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/softmax/device_softmax_f16_f16_instance_rank4_reduce2.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/softmax/device_softmax_f16_f16_instance_rank4_reduce3.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/softmax/device_softmax_f16_f16_instance_rank4_reduce4.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/softmax/device_softmax_f16_f16_instance_type.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/softmax/device_softmax_f32_f32_instance_rank3_reduce1.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/softmax/device_softmax_f32_f32_instance_rank3_reduce2.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/softmax/device_softmax_f32_f32_instance_rank3_reduce3.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/softmax/device_softmax_f32_f32_instance_rank4_reduce1.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/softmax/device_softmax_f32_f32_instance_rank4_reduce2.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/softmax/device_softmax_f32_f32_instance_rank4_reduce3.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/softmax/device_softmax_f32_f32_instance_rank4_reduce4.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/softmax/device_softmax_f32_f32_instance_type.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/softmax/device_softmax_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/transpose/device_transpose_instance.hpp create mode 100644 library/include/ck/library/tensor_operation_instance/gpu/transpose_3d.hpp create mode 100755 library/src/tensor_operation_instance/gpu/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/avg_pool2d_bwd/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/avg_pool2d_bwd/device_avg_pool2d_bwd_nhwc_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/avg_pool2d_bwd/device_avg_pool2d_bwd_nhwc_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/avg_pool2d_bwd/device_avg_pool2d_bwd_nhwc_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/avg_pool2d_bwd/device_avg_pool2d_bwd_nhwc_f8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/avg_pool2d_bwd/device_avg_pool2d_bwd_nhwc_instance_common.hpp create mode 100644 library/src/tensor_operation_instance/gpu/avg_pool2d_bwd/device_avg_pool2d_bwd_nhwc_int8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/avg_pool3d_bwd/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/avg_pool3d_bwd/avg_pool3d_bwd_ndhwc_instance_common.hpp create mode 100644 library/src/tensor_operation_instance/gpu/avg_pool3d_bwd/device_avg_pool3d_bwd_ndhwc_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/avg_pool3d_bwd/device_avg_pool3d_bwd_ndhwc_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/avg_pool3d_bwd/device_avg_pool3d_bwd_ndhwc_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm/device_batched_gemm_xdl_bf16_bf16_bf16_gkm_gkn_gmn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm/device_batched_gemm_xdl_bf16_bf16_bf16_gkm_gnk_gmn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm/device_batched_gemm_xdl_bf16_bf16_bf16_gmk_gkn_gmn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm/device_batched_gemm_xdl_bf16_bf16_bf16_gmk_gnk_gmn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm/device_batched_gemm_xdl_f16_f16_f16_gkm_gkn_gmn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm/device_batched_gemm_xdl_f16_f16_f16_gkm_gnk_gmn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm/device_batched_gemm_xdl_f16_f16_f16_gmk_gkn_gmn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm/device_batched_gemm_xdl_f16_f16_f16_gmk_gnk_gmn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm/device_batched_gemm_xdl_f32_f32_f32_gkm_gkn_gmn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm/device_batched_gemm_xdl_f32_f32_f32_gkm_gnk_gmn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm/device_batched_gemm_xdl_f32_f32_f32_gmk_gkn_gmn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm/device_batched_gemm_xdl_f32_f32_f32_gmk_gnk_gmn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm/device_batched_gemm_xdl_int8_int8_int8_gkm_gkn_gmn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm/device_batched_gemm_xdl_int8_int8_int8_gkm_gnk_gmn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm/device_batched_gemm_xdl_int8_int8_int8_gmk_gkn_gmn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm/device_batched_gemm_xdl_int8_int8_int8_gmk_gnk_gmn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_add_relu_gemm_add/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_add_relu_gemm_add/device_batched_gemm_add_relu_gemm_add_xdl_cshuffle_f16_f16_f16_f16_gmk_gnk_gno_gmo_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_add_relu_gemm_add/device_batched_gemm_add_relu_gemm_add_xdl_cshuffle_f16_f16_f16_f16_gmk_gnk_gon_gmo_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_b_scale/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_b_scale/device_batched_gemm_b_scale_xdl_f16_i4_f16/device_batched_gemm_b_scale_xdl_f16_i4_f16_mk_nk_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_b_scale/device_batched_gemm_b_scale_xdl_f16_i4_f16/device_batched_gemm_b_scale_xdl_f16_i4_f16_mk_nk_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_bias_permute/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_bias_permute/device_batched_gemm_bias_permute_m2_n3_k1_xdl_c_shuffle_f16_f16_f16_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_gemm/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_gemm/device_batched_gemm_gemm_xdl_cshuffle_f16_f16_f16_f16_gmk_gnk_gno_gmo_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_gemm/device_batched_gemm_gemm_xdl_cshuffle_f16_f16_f16_f16_gmk_gnk_gon_gmo_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_multi_d/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_multi_d/device_batched_gemm_multi_d_dl_f16_f16_f16_gkm_gkn_gmn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_multi_d/device_batched_gemm_multi_d_dl_f16_f16_f16_gkm_gkn_gmn_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_multi_d/device_batched_gemm_multi_d_dl_f16_f16_f16_gkm_gnk_gmn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_multi_d/device_batched_gemm_multi_d_dl_f16_f16_f16_gkm_gnk_gmn_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_multi_d/device_batched_gemm_multi_d_dl_f16_f16_f16_gmk_gkn_gmn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_multi_d/device_batched_gemm_multi_d_dl_f16_f16_f16_gmk_gkn_gmn_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_multi_d/device_batched_gemm_multi_d_dl_f16_f16_f16_gmk_gnk_gmn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_multi_d/device_batched_gemm_multi_d_dl_f16_f16_f16_gmk_gnk_gmn_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_multi_d/device_batched_gemm_multi_d_dl_i8_i8_i8_gkm_gkn_gmn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_multi_d/device_batched_gemm_multi_d_dl_i8_i8_i8_gkm_gkn_gmn_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_multi_d/device_batched_gemm_multi_d_dl_i8_i8_i8_gkm_gnk_gmn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_multi_d/device_batched_gemm_multi_d_dl_i8_i8_i8_gkm_gnk_gmn_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_multi_d/device_batched_gemm_multi_d_dl_i8_i8_i8_gmk_gkn_gmn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_multi_d/device_batched_gemm_multi_d_dl_i8_i8_i8_gmk_gkn_gmn_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_multi_d/device_batched_gemm_multi_d_dl_i8_i8_i8_gmk_gnk_gmn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_multi_d/device_batched_gemm_multi_d_dl_i8_i8_i8_gmk_gnk_gmn_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_reduce/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_reduce/device_batched_gemm_reduce_xdl_cshuffle_f16_f16_f16_f32_f32_gkm_gkn_gmn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_reduce/device_batched_gemm_reduce_xdl_cshuffle_f16_f16_f16_f32_f32_gkm_gnk_gmn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_reduce/device_batched_gemm_reduce_xdl_cshuffle_f16_f16_f16_f32_f32_gmk_gkn_gmn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_reduce/device_batched_gemm_reduce_xdl_cshuffle_f16_f16_f16_f32_f32_gmk_gnk_gmn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_softmax_gemm/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_softmax_gemm/device_batched_gemm_softmax_gemm_xdl_cshuffle_f16_f16_f16_f16_gmk_gnk_gno_gmo_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_softmax_gemm_permute/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_softmax_gemm_permute/device_batched_gemm_bias_softmax_gemm_permute_xdl_cshuffle_bf16_bf16_bf16_bf16_gmk_gnk_gno_gmo_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_softmax_gemm_permute/device_batched_gemm_bias_softmax_gemm_permute_xdl_cshuffle_f16_f16_f16_f16_gmk_gnk_gno_gmo_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_softmax_gemm_permute/device_batched_gemm_softmax_gemm_permute_xdl_cshuffle_bf16_bf16_bf16_bf16_gmk_gnk_gno_gmo_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batched_gemm_softmax_gemm_permute/device_batched_gemm_softmax_gemm_permute_xdl_cshuffle_f16_f16_f16_f16_gmk_gnk_gno_gmo_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batchnorm/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/batchnorm/device_batchnorm_backward_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batchnorm/device_batchnorm_backward_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batchnorm/device_batchnorm_backward_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batchnorm/device_batchnorm_backward_f64_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batchnorm/device_batchnorm_forward_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batchnorm/device_batchnorm_forward_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batchnorm/device_batchnorm_forward_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batchnorm/device_batchnorm_forward_f64_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batchnorm/device_batchnorm_infer_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batchnorm/device_batchnorm_infer_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batchnorm/device_batchnorm_infer_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/batchnorm/device_batchnorm_infer_f64_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/column_to_image/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/column_to_image/device_column_to_image_gndhwc_3d_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/column_to_image/device_column_to_image_gnhwc_2d_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/column_to_image/device_column_to_image_gnwc_1d_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/column_to_image/device_column_to_image_ndhwgc_3d_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/column_to_image/device_column_to_image_nhwgc_2d_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/column_to_image/device_column_to_image_nwgc_1d_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/2D/device_contraction_bilinear_m2_n2_k2_xdl_c_shuffle_bf16_bf16_bf16_bf16_compute_f32_kknn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/2D/device_contraction_bilinear_m2_n2_k2_xdl_c_shuffle_bf16_bf16_bf16_bf16_compute_f32_knnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/2D/device_contraction_bilinear_m2_n2_k2_xdl_c_shuffle_bf16_bf16_bf16_bf16_compute_f32_mknn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/2D/device_contraction_bilinear_m2_n2_k2_xdl_c_shuffle_bf16_bf16_bf16_bf16_compute_f32_mnnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/2D/device_contraction_bilinear_m2_n2_k2_xdl_c_shuffle_f16_f16_f16_f16_compute_f32_kknn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/2D/device_contraction_bilinear_m2_n2_k2_xdl_c_shuffle_f16_f16_f16_f16_compute_f32_knnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/2D/device_contraction_bilinear_m2_n2_k2_xdl_c_shuffle_f16_f16_f16_f16_compute_f32_mknn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/2D/device_contraction_bilinear_m2_n2_k2_xdl_c_shuffle_f16_f16_f16_f16_compute_f32_mnnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/2D/device_contraction_bilinear_m2_n2_k2_xdl_c_shuffle_f32_f32_f32_f32_compute_bf16_kknn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/2D/device_contraction_bilinear_m2_n2_k2_xdl_c_shuffle_f32_f32_f32_f32_compute_bf16_knnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/2D/device_contraction_bilinear_m2_n2_k2_xdl_c_shuffle_f32_f32_f32_f32_compute_bf16_mknn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/2D/device_contraction_bilinear_m2_n2_k2_xdl_c_shuffle_f32_f32_f32_f32_compute_bf16_mnnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/2D/device_contraction_bilinear_m2_n2_k2_xdl_c_shuffle_f32_f32_f32_f32_compute_f16_kknn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/2D/device_contraction_bilinear_m2_n2_k2_xdl_c_shuffle_f32_f32_f32_f32_compute_f16_knnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/2D/device_contraction_bilinear_m2_n2_k2_xdl_c_shuffle_f32_f32_f32_f32_compute_f16_mknn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/2D/device_contraction_bilinear_m2_n2_k2_xdl_c_shuffle_f32_f32_f32_f32_compute_f16_mnnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/2D/device_contraction_bilinear_m2_n2_k2_xdl_c_shuffle_f32_f32_f32_f32_kknn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/2D/device_contraction_bilinear_m2_n2_k2_xdl_c_shuffle_f32_f32_f32_f32_knnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/2D/device_contraction_bilinear_m2_n2_k2_xdl_c_shuffle_f32_f32_f32_f32_mknn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/2D/device_contraction_bilinear_m2_n2_k2_xdl_c_shuffle_f32_f32_f32_f32_mnnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/2D/device_contraction_bilinear_m2_n2_k2_xdl_c_shuffle_f64_f64_f64_f64_compute_f32_kknn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/2D/device_contraction_bilinear_m2_n2_k2_xdl_c_shuffle_f64_f64_f64_f64_compute_f32_knnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/2D/device_contraction_bilinear_m2_n2_k2_xdl_c_shuffle_f64_f64_f64_f64_compute_f32_mknn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/2D/device_contraction_bilinear_m2_n2_k2_xdl_c_shuffle_f64_f64_f64_f64_compute_f32_mnnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/2D/device_contraction_bilinear_m2_n2_k2_xdl_c_shuffle_f64_f64_f64_f64_kknn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/2D/device_contraction_bilinear_m2_n2_k2_xdl_c_shuffle_f64_f64_f64_f64_knnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/2D/device_contraction_bilinear_m2_n2_k2_xdl_c_shuffle_f64_f64_f64_f64_mknn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/2D/device_contraction_bilinear_m2_n2_k2_xdl_c_shuffle_f64_f64_f64_f64_mnnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/6D/device_contraction_bilinear_m6_n6_k6_xdl_c_shuffle_bf16_bf16_bf16_bf16_compute_f32_kknn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/6D/device_contraction_bilinear_m6_n6_k6_xdl_c_shuffle_bf16_bf16_bf16_bf16_compute_f32_knnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/6D/device_contraction_bilinear_m6_n6_k6_xdl_c_shuffle_bf16_bf16_bf16_bf16_compute_f32_mknn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/6D/device_contraction_bilinear_m6_n6_k6_xdl_c_shuffle_bf16_bf16_bf16_bf16_compute_f32_mnnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/6D/device_contraction_bilinear_m6_n6_k6_xdl_c_shuffle_f16_f16_f16_f16_compute_f32_kknn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/6D/device_contraction_bilinear_m6_n6_k6_xdl_c_shuffle_f16_f16_f16_f16_compute_f32_knnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/6D/device_contraction_bilinear_m6_n6_k6_xdl_c_shuffle_f16_f16_f16_f16_compute_f32_mknn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/6D/device_contraction_bilinear_m6_n6_k6_xdl_c_shuffle_f16_f16_f16_f16_compute_f32_mnnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/6D/device_contraction_bilinear_m6_n6_k6_xdl_c_shuffle_f32_f32_f32_f32_compute_bf16_kknn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/6D/device_contraction_bilinear_m6_n6_k6_xdl_c_shuffle_f32_f32_f32_f32_compute_bf16_knnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/6D/device_contraction_bilinear_m6_n6_k6_xdl_c_shuffle_f32_f32_f32_f32_compute_bf16_mknn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/6D/device_contraction_bilinear_m6_n6_k6_xdl_c_shuffle_f32_f32_f32_f32_compute_bf16_mnnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/6D/device_contraction_bilinear_m6_n6_k6_xdl_c_shuffle_f32_f32_f32_f32_compute_f16_kknn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/6D/device_contraction_bilinear_m6_n6_k6_xdl_c_shuffle_f32_f32_f32_f32_compute_f16_knnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/6D/device_contraction_bilinear_m6_n6_k6_xdl_c_shuffle_f32_f32_f32_f32_compute_f16_mknn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/6D/device_contraction_bilinear_m6_n6_k6_xdl_c_shuffle_f32_f32_f32_f32_compute_f16_mnnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/6D/device_contraction_bilinear_m6_n6_k6_xdl_c_shuffle_f32_f32_f32_f32_kknn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/6D/device_contraction_bilinear_m6_n6_k6_xdl_c_shuffle_f32_f32_f32_f32_knnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/6D/device_contraction_bilinear_m6_n6_k6_xdl_c_shuffle_f32_f32_f32_f32_mknn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/6D/device_contraction_bilinear_m6_n6_k6_xdl_c_shuffle_f32_f32_f32_f32_mnnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/6D/device_contraction_bilinear_m6_n6_k6_xdl_c_shuffle_f64_f64_f64_f64_compute_f32_kknn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/6D/device_contraction_bilinear_m6_n6_k6_xdl_c_shuffle_f64_f64_f64_f64_compute_f32_knnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/6D/device_contraction_bilinear_m6_n6_k6_xdl_c_shuffle_f64_f64_f64_f64_compute_f32_mknn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/6D/device_contraction_bilinear_m6_n6_k6_xdl_c_shuffle_f64_f64_f64_f64_compute_f32_mnnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/6D/device_contraction_bilinear_m6_n6_k6_xdl_c_shuffle_f64_f64_f64_f64_kknn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/6D/device_contraction_bilinear_m6_n6_k6_xdl_c_shuffle_f64_f64_f64_f64_knnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/6D/device_contraction_bilinear_m6_n6_k6_xdl_c_shuffle_f64_f64_f64_f64_mknn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/6D/device_contraction_bilinear_m6_n6_k6_xdl_c_shuffle_f64_f64_f64_f64_mnnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_bilinear/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/2D/device_contraction_scale_m2_n2_k2_xdl_c_shuffle_bf16_bf16_bf16_compute_f32_kkn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/2D/device_contraction_scale_m2_n2_k2_xdl_c_shuffle_bf16_bf16_bf16_compute_f32_knn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/2D/device_contraction_scale_m2_n2_k2_xdl_c_shuffle_bf16_bf16_bf16_compute_f32_mkn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/2D/device_contraction_scale_m2_n2_k2_xdl_c_shuffle_bf16_bf16_bf16_compute_f32_mnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/2D/device_contraction_scale_m2_n2_k2_xdl_c_shuffle_f16_f16_f16_compute_f32_kkn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/2D/device_contraction_scale_m2_n2_k2_xdl_c_shuffle_f16_f16_f16_compute_f32_knn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/2D/device_contraction_scale_m2_n2_k2_xdl_c_shuffle_f16_f16_f16_compute_f32_mkn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/2D/device_contraction_scale_m2_n2_k2_xdl_c_shuffle_f16_f16_f16_compute_f32_mnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/2D/device_contraction_scale_m2_n2_k2_xdl_c_shuffle_f32_f32_f32_compute_bf16_kkn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/2D/device_contraction_scale_m2_n2_k2_xdl_c_shuffle_f32_f32_f32_compute_bf16_knn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/2D/device_contraction_scale_m2_n2_k2_xdl_c_shuffle_f32_f32_f32_compute_bf16_mkn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/2D/device_contraction_scale_m2_n2_k2_xdl_c_shuffle_f32_f32_f32_compute_bf16_mnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/2D/device_contraction_scale_m2_n2_k2_xdl_c_shuffle_f32_f32_f32_compute_f16_kkn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/2D/device_contraction_scale_m2_n2_k2_xdl_c_shuffle_f32_f32_f32_compute_f16_knn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/2D/device_contraction_scale_m2_n2_k2_xdl_c_shuffle_f32_f32_f32_compute_f16_mkn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/2D/device_contraction_scale_m2_n2_k2_xdl_c_shuffle_f32_f32_f32_compute_f16_mnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/2D/device_contraction_scale_m2_n2_k2_xdl_c_shuffle_f32_f32_f32_kkn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/2D/device_contraction_scale_m2_n2_k2_xdl_c_shuffle_f32_f32_f32_knn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/2D/device_contraction_scale_m2_n2_k2_xdl_c_shuffle_f32_f32_f32_mkn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/2D/device_contraction_scale_m2_n2_k2_xdl_c_shuffle_f32_f32_f32_mnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/2D/device_contraction_scale_m2_n2_k2_xdl_c_shuffle_f64_f64_f64_compute_f32_kkn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/2D/device_contraction_scale_m2_n2_k2_xdl_c_shuffle_f64_f64_f64_compute_f32_knn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/2D/device_contraction_scale_m2_n2_k2_xdl_c_shuffle_f64_f64_f64_compute_f32_mkn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/2D/device_contraction_scale_m2_n2_k2_xdl_c_shuffle_f64_f64_f64_compute_f32_mnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/2D/device_contraction_scale_m2_n2_k2_xdl_c_shuffle_f64_f64_f64_kkn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/2D/device_contraction_scale_m2_n2_k2_xdl_c_shuffle_f64_f64_f64_knn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/2D/device_contraction_scale_m2_n2_k2_xdl_c_shuffle_f64_f64_f64_mkn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/2D/device_contraction_scale_m2_n2_k2_xdl_c_shuffle_f64_f64_f64_mnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/6D/device_contraction_scale_m6_n6_k6_xdl_c_shuffle_bf16_bf16_bf16_compute_f32_kkn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/6D/device_contraction_scale_m6_n6_k6_xdl_c_shuffle_bf16_bf16_bf16_compute_f32_knn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/6D/device_contraction_scale_m6_n6_k6_xdl_c_shuffle_bf16_bf16_bf16_compute_f32_mkn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/6D/device_contraction_scale_m6_n6_k6_xdl_c_shuffle_bf16_bf16_bf16_compute_f32_mnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/6D/device_contraction_scale_m6_n6_k6_xdl_c_shuffle_f16_f16_f16_compute_f32_kkn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/6D/device_contraction_scale_m6_n6_k6_xdl_c_shuffle_f16_f16_f16_compute_f32_knn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/6D/device_contraction_scale_m6_n6_k6_xdl_c_shuffle_f16_f16_f16_compute_f32_mkn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/6D/device_contraction_scale_m6_n6_k6_xdl_c_shuffle_f16_f16_f16_compute_f32_mnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/6D/device_contraction_scale_m6_n6_k6_xdl_c_shuffle_f32_f32_f32_compute_bf16_kkn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/6D/device_contraction_scale_m6_n6_k6_xdl_c_shuffle_f32_f32_f32_compute_bf16_knn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/6D/device_contraction_scale_m6_n6_k6_xdl_c_shuffle_f32_f32_f32_compute_bf16_mkn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/6D/device_contraction_scale_m6_n6_k6_xdl_c_shuffle_f32_f32_f32_compute_bf16_mnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/6D/device_contraction_scale_m6_n6_k6_xdl_c_shuffle_f32_f32_f32_compute_f16_kkn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/6D/device_contraction_scale_m6_n6_k6_xdl_c_shuffle_f32_f32_f32_compute_f16_knn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/6D/device_contraction_scale_m6_n6_k6_xdl_c_shuffle_f32_f32_f32_compute_f16_mkn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/6D/device_contraction_scale_m6_n6_k6_xdl_c_shuffle_f32_f32_f32_compute_f16_mnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/6D/device_contraction_scale_m6_n6_k6_xdl_c_shuffle_f32_f32_f32_kkn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/6D/device_contraction_scale_m6_n6_k6_xdl_c_shuffle_f32_f32_f32_knn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/6D/device_contraction_scale_m6_n6_k6_xdl_c_shuffle_f32_f32_f32_mkn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/6D/device_contraction_scale_m6_n6_k6_xdl_c_shuffle_f32_f32_f32_mnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/6D/device_contraction_scale_m6_n6_k6_xdl_c_shuffle_f64_f64_f64_compute_f32_kkn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/6D/device_contraction_scale_m6_n6_k6_xdl_c_shuffle_f64_f64_f64_compute_f32_knn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/6D/device_contraction_scale_m6_n6_k6_xdl_c_shuffle_f64_f64_f64_compute_f32_mkn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/6D/device_contraction_scale_m6_n6_k6_xdl_c_shuffle_f64_f64_f64_compute_f32_mnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/6D/device_contraction_scale_m6_n6_k6_xdl_c_shuffle_f64_f64_f64_kkn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/6D/device_contraction_scale_m6_n6_k6_xdl_c_shuffle_f64_f64_f64_knn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/6D/device_contraction_scale_m6_n6_k6_xdl_c_shuffle_f64_f64_f64_mkn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/6D/device_contraction_scale_m6_n6_k6_xdl_c_shuffle_f64_f64_f64_mnn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/contraction_scale/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/conv1d_bwd_data/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/conv1d_bwd_data/device_conv1d_bwd_data_xdl_nwc_kxc_nwk_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/conv1d_bwd_data/device_conv1d_bwd_data_xdl_nwc_kxc_nwk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/conv1d_bwd_data/device_conv1d_bwd_data_xdl_nwc_kxc_nwk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/conv1d_bwd_data/device_conv1d_bwd_data_xdl_nwc_kxc_nwk_int8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/conv2d_bwd_data/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/conv2d_bwd_data/device_conv2d_bwd_data_dl_nhwc_kyxc_nhwk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/conv2d_bwd_data/device_conv2d_bwd_data_dl_nhwc_kyxc_nhwk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/conv2d_bwd_data/device_conv2d_bwd_data_dl_nhwc_kyxc_nhwk_int8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/conv2d_bwd_data/device_conv2d_bwd_data_xdl_nhwc_kyxc_nhwk_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/conv2d_bwd_data/device_conv2d_bwd_data_xdl_nhwc_kyxc_nhwk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/conv2d_bwd_data/device_conv2d_bwd_data_xdl_nhwc_kyxc_nhwk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/conv2d_bwd_data/device_conv2d_bwd_data_xdl_nhwc_kyxc_nhwk_int8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/conv2d_fwd/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/conv2d_fwd/device_conv2d_fwd_xdl_c_shuffle_nhwc_kyxc_nhwk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/conv2d_fwd/device_conv2d_fwd_xdl_nhwc_kyxc_nhwk_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/conv2d_fwd/device_conv2d_fwd_xdl_nhwc_kyxc_nhwk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/conv2d_fwd/device_conv2d_fwd_xdl_nhwc_kyxc_nhwk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/conv2d_fwd/device_conv2d_fwd_xdl_nhwc_kyxc_nhwk_int8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/conv2d_fwd_bias_relu/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/conv2d_fwd_bias_relu/device_conv2d_fwd_xdl_c_shuffle_bias_relu_nhwc_kyxc_nhwk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/conv2d_fwd_bias_relu_add/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/conv2d_fwd_bias_relu_add/device_conv2d_fwd_xdl_c_shuffle_bias_relu_add_nhwc_kyxc_nhwk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/conv3d_bwd_data/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/conv3d_bwd_data/device_conv3d_bwd_data_xdl_ndhwc_kzyxc_ndhwk_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/conv3d_bwd_data/device_conv3d_bwd_data_xdl_ndhwc_kzyxc_ndhwk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/conv3d_bwd_data/device_conv3d_bwd_data_xdl_ndhwc_kzyxc_ndhwk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/conv3d_bwd_data/device_conv3d_bwd_data_xdl_ndhwc_kzyxc_ndhwk_int8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/elementwise/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/elementwise/device_normalize_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/elementwise_normalization/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/elementwise_normalization/device_elementwise_normalization_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_dl_f16_f16_f16_km_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_dl_f16_f16_f16_km_kn_mn_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_dl_f16_f16_f16_km_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_dl_f16_f16_f16_km_nk_mn_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_dl_f16_f16_f16_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_dl_f16_f16_f16_mk_kn_mn_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_dl_f16_f16_f16_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_dl_f16_f16_f16_mk_nk_mn_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_dl_f32_f32_f32_km_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_dl_f32_f32_f32_km_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_dl_f32_f32_f32_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_dl_f32_f32_f32_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_dl_i8_i8_i8_km_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_dl_i8_i8_i8_km_kn_mn_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_dl_i8_i8_i8_km_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_dl_i8_i8_i8_km_nk_mn_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_dl_i8_i8_i8_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_dl_i8_i8_i8_mk_kn_mn_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_dl_i8_i8_i8_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_dl_i8_i8_i8_mk_nk_mn_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_dpp_f16_f16_f16_km_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_dpp_f16_f16_f16_km_kn_mn_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_dpp_f16_f16_f16_km_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_dpp_f16_f16_f16_km_nk_mn_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_dpp_f16_f16_f16_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_dpp_f16_f16_f16_mk_kn_mn_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_dpp_f16_f16_f16_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_dpp_f16_f16_f16_mk_nk_mn_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_wmma_bf16_bf16_bf16_km_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_wmma_bf16_bf16_bf16_km_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_wmma_bf16_bf16_bf16_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_wmma_bf16_bf16_bf16_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_wmma_f16_f16_f16_km_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_wmma_f16_f16_f16_km_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_wmma_f16_f16_f16_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_wmma_f16_f16_f16_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_wmma_int8_int8_int8_km_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_wmma_int8_int8_int8_km_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_wmma_int8_int8_int8_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_wmma_int8_int8_int8_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_2_stage_f16_f16_f16_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_bf16_bf16_bf16_km_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_bf16_bf16_bf16_km_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_bf16_bf16_bf16_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_bf16_bf16_bf16_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_f16_f16_f16_km_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_f16_f16_f16_km_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_f16_f16_f16_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_f16_f16_f16_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_f16_f8_f16_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_f16_f8_f16_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_f32_f32_f32_km_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_f32_f32_f32_km_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_f32_f32_f32_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_f32_f32_f32_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_fp8_fp8_fp8_km_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_fp8_fp8_fp8_km_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_fp8_fp8_fp8_mk_kn_mn_v1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_fp8_fp8_fp8_mk_kn_mn_v1_interwave_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_fp8_fp8_fp8_mk_kn_mn_v1_interwave_padded_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_fp8_fp8_fp8_mk_kn_mn_v1_padded_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_fp8_fp8_fp8_mk_kn_mn_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_fp8_fp8_fp8_mk_kn_mn_v2_padded_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_fp8_fp8_fp8_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_i8_i8_i8_km_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_i8_i8_i8_km_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_i8_i8_i8_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_i8_i8_i8_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_lds_direct_load_f16_f16_f16_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_lds_direct_load_f32_f32_f32_km_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_lds_direct_load_f32_f32_f32_km_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_lds_direct_load_f32_f32_f32_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_c_shuffle_lds_direct_load_f32_f32_f32_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/common.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/km_kn_mn_add_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/km_kn_mn_default_pipeline_v1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/km_kn_mn_default_pipeline_v2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/km_kn_mn_default_pipeline_v2_opt_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/km_kn_mn_interwave_pipeline_v1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/km_kn_mn_irregular_default_pipeline_v1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/km_kn_mn_irregular_default_pipeline_v2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/km_kn_mn_irregular_interwave_pipeline_v1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/km_nk_mn_add_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/km_nk_mn_default_pipeline_v1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/km_nk_mn_default_pipeline_v2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/km_nk_mn_default_pipeline_v2_opt_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/km_nk_mn_interwave_pipeline_v1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/km_nk_mn_irregular_default_pipeline_v1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/km_nk_mn_irregular_default_pipeline_v2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/km_nk_mn_irregular_interwave_pipeline_v1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/mk_kn_mn_add_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/mk_kn_mn_default_pipeline_v1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/mk_kn_mn_default_pipeline_v2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/mk_kn_mn_default_pipeline_v2_opt_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/mk_kn_mn_interwave_pipeline_v1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/mk_kn_mn_irregular_default_pipeline_v1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/mk_kn_mn_irregular_default_pipeline_v2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/mk_kn_mn_irregular_interwave_pipeline_v1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/mk_nk_mn_add_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/mk_nk_mn_default_pipeline_v1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/mk_nk_mn_default_pipeline_v2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/mk_nk_mn_default_pipeline_v2_opt_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/mk_nk_mn_interwave_pipeline_v1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/mk_nk_mn_irregular_default_pipeline_v1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/mk_nk_mn_irregular_default_pipeline_v2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f16_f16_f16/mk_nk_mn_irregular_interwave_pipeline_v1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f32_f32_f32_km_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f32_f32_f32_km_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f32_f32_f32_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f32_f32_f32_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f64_f64_f64_km_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f64_f64_f64_km_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f64_f64_f64_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm/device_gemm_xdl_f64_f64_f64_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_ab_scale/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/gemm_ab_scale/device_gemm_ab_scale_xdl_f8_f8_bf16/device_gemm_ab_scale_xdl_f8_f8_bf16_mk_nk_mn_128_128_128.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_ab_scale/device_gemm_ab_scale_xdl_f8_f8_bf16/device_gemm_ab_scale_xdl_f8_f8_bf16_mk_nk_mn_128_128_128_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_ab_scale/device_gemm_ab_scale_xdl_f8_f8_bf16/device_gemm_ab_scale_xdl_f8_f8_bf16_mk_nk_mn_128_128_128_comp_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_ab_scale/device_gemm_ab_scale_xdl_f8_f8_bf16/device_gemm_ab_scale_xdl_f8_f8_bf16_mk_nk_mn_128_128_128_mem_v1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_ab_scale/device_gemm_ab_scale_xdl_f8_f8_bf16/device_gemm_ab_scale_xdl_f8_f8_bf16_mk_nk_mn_128_128_128_mem_v1_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add/device_gemm_add_xdl_c_shuffle_bf16_i8_bf16_bf16_mk_kn_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add/device_gemm_add_xdl_c_shuffle_f16_i8_f16_f16_mk_kn_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add_add_fastgelu/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add_add_fastgelu/device_gemm_add_add_fastgelu_xdl_c_shuffle_f16_f16_f16_f16_f16_km_kn_mn_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add_add_fastgelu/device_gemm_add_add_fastgelu_xdl_c_shuffle_f16_f16_f16_f16_f16_km_nk_mn_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add_add_fastgelu/device_gemm_add_add_fastgelu_xdl_c_shuffle_f16_f16_f16_f16_f16_mk_kn_mn_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add_add_fastgelu/device_gemm_add_add_fastgelu_xdl_c_shuffle_f16_f16_f16_f16_f16_mk_nk_mn_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add_fastgelu/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add_fastgelu/device_gemm_add_fastgelu_xdl_c_shuffle_bf16_i8_bf16_bf16_mk_kn_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add_fastgelu/device_gemm_add_fastgelu_xdl_c_shuffle_f16_f16_f16_f16_km_kn_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add_fastgelu/device_gemm_add_fastgelu_xdl_c_shuffle_f16_f16_f16_f16_km_nk_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add_fastgelu/device_gemm_add_fastgelu_xdl_c_shuffle_f16_f16_f16_f16_mk_kn_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add_fastgelu/device_gemm_add_fastgelu_xdl_c_shuffle_f16_f16_f16_f16_mk_nk_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add_fastgelu/device_gemm_add_fastgelu_xdl_c_shuffle_f16_i8_f16_f16_mk_kn_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add_multiply/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add_multiply/device_gemm_add_multiply_xdl_c_shuffle_f16_f16_f16_f16_f16_km_kn_mn_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add_multiply/device_gemm_add_multiply_xdl_c_shuffle_f16_f16_f16_f16_f16_km_nk_mn_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add_multiply/device_gemm_add_multiply_xdl_c_shuffle_f16_f16_f16_f16_f16_mk_kn_mn_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add_multiply/device_gemm_add_multiply_xdl_c_shuffle_f16_f16_f16_f16_f16_mk_nk_mn_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add_relu/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add_relu/device_gemm_add_relu_xdl_c_shuffle_bf16_i8_bf16_bf16_mk_kn_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add_relu/device_gemm_add_relu_xdl_c_shuffle_f16_i8_f16_f16_mk_kn_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add_relu_add_layernorm/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add_relu_add_layernorm/device_gemm_add_relu_add_xdl_c_shuffle_layernorm_f16_km_kn_mn_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add_relu_add_layernorm/device_gemm_add_relu_add_xdl_c_shuffle_layernorm_f16_km_nk_mn_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add_relu_add_layernorm/device_gemm_add_relu_add_xdl_c_shuffle_layernorm_f16_mk_kn_mn_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add_relu_add_layernorm/device_gemm_add_relu_add_xdl_c_shuffle_layernorm_f16_mk_nk_mn_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add_silu/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add_silu/device_gemm_add_silu_xdl_c_shuffle_bf16_i8_bf16_bf16_mk_kn_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_add_silu/device_gemm_add_silu_xdl_c_shuffle_f16_i8_f16_f16_mk_kn_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_b_scale/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/gemm_b_scale/device_gemm_b_scale_xdl_f16_i4_f16/device_gemm_b_scale_xdl_f16_i4_f16_mk_nk_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_b_scale/device_gemm_b_scale_xdl_f16_i4_f16/device_gemm_b_scale_xdl_f16_i4_f16_mk_nk_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_bias_add_reduce/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/gemm_bias_add_reduce/device_gemm_bias_add_mean_squaremean_xdl_cshuffle_f16_f16_f16_f32_f32_km_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_bias_add_reduce/device_gemm_bias_add_mean_squaremean_xdl_cshuffle_f16_f16_f16_f32_f32_km_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_bias_add_reduce/device_gemm_bias_add_mean_squaremean_xdl_cshuffle_f16_f16_f16_f32_f32_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_bias_add_reduce/device_gemm_bias_add_mean_squaremean_xdl_cshuffle_f16_f16_f16_f32_f32_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_bilinear/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/gemm_bilinear/device_gemm_bilinear_wmma_c_shuffle_i8_i8_i8_i8_km_kn_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_bilinear/device_gemm_bilinear_wmma_c_shuffle_i8_i8_i8_i8_km_nk_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_bilinear/device_gemm_bilinear_wmma_c_shuffle_i8_i8_i8_i8_mk_kn_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_bilinear/device_gemm_bilinear_wmma_c_shuffle_i8_i8_i8_i8_mk_nk_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_bilinear/device_gemm_bilinear_xdl_c_shuffle_f16_f16_f16_f16_km_kn_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_bilinear/device_gemm_bilinear_xdl_c_shuffle_f16_f16_f16_f16_km_nk_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_bilinear/device_gemm_bilinear_xdl_c_shuffle_f16_f16_f16_f16_mk_kn_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_bilinear/device_gemm_bilinear_xdl_c_shuffle_f16_f16_f16_f16_mk_nk_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_fastgelu/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/gemm_fastgelu/device_gemm_fastgelu_xdl_c_shuffle_f16_f16_f16_km_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_fastgelu/device_gemm_fastgelu_xdl_c_shuffle_f16_f16_f16_km_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_fastgelu/device_gemm_fastgelu_xdl_c_shuffle_f16_f16_f16_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_fastgelu/device_gemm_fastgelu_xdl_c_shuffle_f16_f16_f16_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multi_abd/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multi_abd/device_gemm_xdl_multi_abd_bf16_i8_bf16_mk_kn_mn_common.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multi_abd/device_gemm_xdl_multi_abd_bf16_i8_bf16_mk_kn_mn_v1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multi_abd/device_gemm_xdl_multi_abd_bf16_i8_bf16_mk_nk_mn_common.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multi_abd/device_gemm_xdl_multi_abd_bias_bf16_i8_bf16_mk_kn_mn_v1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multi_abd/device_gemm_xdl_multi_abd_bias_gelu_bf16_i8_bf16_mk_kn_mn_v1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multi_abd/device_gemm_xdl_multi_abd_bias_gelu_bf16_i8_bf16_mk_nk_mn_v1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multi_abd/device_gemm_xdl_multi_abd_gelu_bf16_i8_bf16_mk_kn_mn_v1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multi_abd/device_gemm_xdl_multi_abd_multiply_bf16_i8_bf16_mk_kn_mn_v1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multi_abd/device_gemm_xdl_multi_abd_multiply_bias_bf16_i8_bf16_mk_kn_mn_v1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multi_abd/device_gemm_xdl_multi_abd_multiply_bias_gelu_bf16_i8_bf16_mk_kn_mn_v1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multi_abd/device_gemm_xdl_multi_abd_multiply_gelu_bf16_i8_bf16_mk_kn_mn_v1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_add/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_add/device_gemm_multiply_add_xdl_c_shuffle_f16_f16_f16_f16_f16_mk_kn_mn_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_add/device_gemm_multiply_add_xdl_c_shuffle_f16_f16_f16_f16_f16_mk_nk_mn_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_add/device_gemm_multiply_add_xdl_c_shuffle_f16_f8_f32_f32_f16_mk_kn_mn_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_add/device_gemm_multiply_add_xdl_c_shuffle_f16_f8_f32_f32_f16_mk_nk_mn_mn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_bf16/device_gemm_multiply_multiply_xdl_f8_f8_bf16_mk_nk_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_bf16/device_gemm_multiply_multiply_xdl_f8_f8_bf16_mk_nk_mn_comp_default_instance_part1.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_bf16/device_gemm_multiply_multiply_xdl_f8_f8_bf16_mk_nk_mn_comp_default_instance_part2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_bf16/device_gemm_multiply_multiply_xdl_f8_f8_bf16_mk_nk_mn_comp_kpadding_instance_part1.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_bf16/device_gemm_multiply_multiply_xdl_f8_f8_bf16_mk_nk_mn_comp_kpadding_instance_part2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_bf16/device_gemm_multiply_multiply_xdl_f8_f8_bf16_mk_nk_mn_comp_mfma16x16_default_instance_part1.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_bf16/device_gemm_multiply_multiply_xdl_f8_f8_bf16_mk_nk_mn_comp_mfma16x16_default_instance_part2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_bf16/device_gemm_multiply_multiply_xdl_f8_f8_bf16_mk_nk_mn_comp_mfma16x16_default_instance_part3.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_bf16/device_gemm_multiply_multiply_xdl_f8_f8_bf16_mk_nk_mn_comp_mfma16x16_kpadding_instance_part1.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_bf16/device_gemm_multiply_multiply_xdl_f8_f8_bf16_mk_nk_mn_comp_mfma16x16_kpadding_instance_part2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_bf16/device_gemm_multiply_multiply_xdl_f8_f8_bf16_mk_nk_mn_comp_mfma16x16_kpadding_instance_part3.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_bf16/device_gemm_multiply_multiply_xdl_f8_f8_bf16_mk_nk_mn_mem_v1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_bf16/device_gemm_multiply_multiply_xdl_f8_f8_bf16_mk_nk_mn_mem_v1_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_bf16/device_gemm_multiply_multiply_xdl_f8_f8_bf16_mk_nk_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_bf16/device_gemm_multiply_multiply_xdl_f8_f8_bf16_mk_nk_mn_mem_v2_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_f16/device_gemm_multiply_multiply_xdl_f8_f8_f16_mk_nk_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_f16/device_gemm_multiply_multiply_xdl_f8_f8_f16_mk_nk_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_f16/device_gemm_multiply_multiply_xdl_f8_f8_f16_mk_nk_mn_comp_default_instance_part1.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_f16/device_gemm_multiply_multiply_xdl_f8_f8_f16_mk_nk_mn_comp_default_instance_part2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_f16/device_gemm_multiply_multiply_xdl_f8_f8_f16_mk_nk_mn_comp_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_f16/device_gemm_multiply_multiply_xdl_f8_f8_f16_mk_nk_mn_comp_kpadding_instance_part1.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_f16/device_gemm_multiply_multiply_xdl_f8_f8_f16_mk_nk_mn_comp_kpadding_instance_part2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_f16/device_gemm_multiply_multiply_xdl_f8_f8_f16_mk_nk_mn_comp_mfma16x16_default_instance_part1.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_f16/device_gemm_multiply_multiply_xdl_f8_f8_f16_mk_nk_mn_comp_mfma16x16_default_instance_part2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_f16/device_gemm_multiply_multiply_xdl_f8_f8_f16_mk_nk_mn_comp_mfma16x16_default_instance_part3.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_f16/device_gemm_multiply_multiply_xdl_f8_f8_f16_mk_nk_mn_comp_mfma16x16_kpadding_instance_part1.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_f16/device_gemm_multiply_multiply_xdl_f8_f8_f16_mk_nk_mn_comp_mfma16x16_kpadding_instance_part2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_f16/device_gemm_multiply_multiply_xdl_f8_f8_f16_mk_nk_mn_comp_mfma16x16_kpadding_instance_part3.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_f16/device_gemm_multiply_multiply_xdl_f8_f8_f16_mk_nk_mn_mem_v1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_f16/device_gemm_multiply_multiply_xdl_f8_f8_f16_mk_nk_mn_mem_v1_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_f16/device_gemm_multiply_multiply_xdl_f8_f8_f16_mk_nk_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_f8_f8_f16/device_gemm_multiply_multiply_xdl_f8_f8_f16_mk_nk_mn_mem_v2_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_i8_i8_bf16/device_gemm_multiply_multiply_xdl_i8_i8_bf16_mk_nk_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_i8_i8_bf16/device_gemm_multiply_multiply_xdl_i8_i8_bf16_mk_nk_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_i8_i8_bf16/device_gemm_multiply_multiply_xdl_i8_i8_bf16_mk_nk_mn_comp_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_i8_i8_bf16/device_gemm_multiply_multiply_xdl_i8_i8_bf16_mk_nk_mn_mem_v1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_i8_i8_bf16/device_gemm_multiply_multiply_xdl_i8_i8_bf16_mk_nk_mn_mem_v1_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_i8_i8_bf16/device_gemm_multiply_multiply_xdl_i8_i8_bf16_mk_nk_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_i8_i8_bf16/device_gemm_multiply_multiply_xdl_i8_i8_bf16_mk_nk_mn_mem_v2_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_i8_i8_f16/device_gemm_multiply_multiply_xdl_i8_i8_f16_mk_nk_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_i8_i8_f16/device_gemm_multiply_multiply_xdl_i8_i8_f16_mk_nk_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_i8_i8_f16/device_gemm_multiply_multiply_xdl_i8_i8_f16_mk_nk_mn_comp_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_i8_i8_f16/device_gemm_multiply_multiply_xdl_i8_i8_f16_mk_nk_mn_mem_v1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_i8_i8_f16/device_gemm_multiply_multiply_xdl_i8_i8_f16_mk_nk_mn_mem_v1_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_i8_i8_f16/device_gemm_multiply_multiply_xdl_i8_i8_f16_mk_nk_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply/device_gemm_multiply_multiply_xdl_i8_i8_f16/device_gemm_multiply_multiply_xdl_i8_i8_f16_mk_nk_mn_mem_v2_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_bf16/device_gemm_multiply_multiply_wp_xdl_f8_f8_bf16_mk_mfma16x16_mn_compute_default_instance_p1.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_bf16/device_gemm_multiply_multiply_wp_xdl_f8_f8_bf16_mk_mfma16x16_mn_compute_default_instance_p2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_bf16/device_gemm_multiply_multiply_wp_xdl_f8_f8_bf16_mk_mfma16x16_mn_compute_default_instance_p3.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_bf16/device_gemm_multiply_multiply_wp_xdl_f8_f8_bf16_mk_mfma16x16_mn_compute_default_instance_p4.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_bf16/device_gemm_multiply_multiply_wp_xdl_f8_f8_bf16_mk_mfma16x16_mn_compute_default_instance_p5.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_bf16/device_gemm_multiply_multiply_wp_xdl_f8_f8_bf16_mk_mfma16x16_mn_compute_default_instance_p6.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_bf16/device_gemm_multiply_multiply_wp_xdl_f8_f8_bf16_mk_mfma_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_bf16/device_gemm_multiply_multiply_wp_xdl_f8_f8_bf16_mk_mfma_mn_compute_default_instance_p1.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_bf16/device_gemm_multiply_multiply_wp_xdl_f8_f8_bf16_mk_mfma_mn_compute_default_instance_p2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_bf16/device_gemm_multiply_multiply_wp_xdl_f8_f8_bf16_mk_mfma_mn_p1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_bf16/device_gemm_multiply_multiply_wp_xdl_f8_f8_bf16_mk_mfma_mn_p1_default_instance_v2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_bf16/device_gemm_multiply_multiply_wp_xdl_f8_f8_bf16_mk_mfma_mn_p2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_bf16/device_gemm_multiply_multiply_wp_xdl_f8_f8_bf16_mk_mfma_mn_p2_default_instance_v2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_bf16/device_gemm_multiply_multiply_wp_xdl_f8_f8_bf16_mk_mfma_mn_p3_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_bf16/device_gemm_multiply_multiply_wp_xdl_f8_f8_bf16_mk_mfma_mn_p3_default_instance_v2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_bf16/device_gemm_multiply_multiply_wp_xdl_f8_f8_bf16_mk_mfma_mn_p4_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_bf16/device_gemm_multiply_multiply_wp_xdl_f8_f8_bf16_mk_mfma_mn_p4_default_instance_v2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_bf16/device_gemm_multiply_multiply_wp_xdl_f8_f8_bf16_mk_mfma_mn_p5_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_bf16/device_gemm_multiply_multiply_wp_xdl_f8_f8_bf16_mk_mfma_mn_p5_default_instance_v2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_f16/device_gemm_multiply_multiply_wp_xdl_f8_f8_f16_mk_mfma16x16_mn_compute_default_instance_p1.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_f16/device_gemm_multiply_multiply_wp_xdl_f8_f8_f16_mk_mfma16x16_mn_compute_default_instance_p2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_f16/device_gemm_multiply_multiply_wp_xdl_f8_f8_f16_mk_mfma16x16_mn_compute_default_instance_p3.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_f16/device_gemm_multiply_multiply_wp_xdl_f8_f8_f16_mk_mfma16x16_mn_compute_default_instance_p4.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_f16/device_gemm_multiply_multiply_wp_xdl_f8_f8_f16_mk_mfma16x16_mn_compute_default_instance_p5.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_f16/device_gemm_multiply_multiply_wp_xdl_f8_f8_f16_mk_mfma16x16_mn_compute_default_instance_p6.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_f16/device_gemm_multiply_multiply_wp_xdl_f8_f8_f16_mk_mfma_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_f16/device_gemm_multiply_multiply_wp_xdl_f8_f8_f16_mk_mfma_mn_compute_default_instance_p1.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_f16/device_gemm_multiply_multiply_wp_xdl_f8_f8_f16_mk_mfma_mn_compute_default_instance_p2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_f16/device_gemm_multiply_multiply_wp_xdl_f8_f8_f16_mk_mfma_mn_p1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_f16/device_gemm_multiply_multiply_wp_xdl_f8_f8_f16_mk_mfma_mn_p1_default_instance_v2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_f16/device_gemm_multiply_multiply_wp_xdl_f8_f8_f16_mk_mfma_mn_p2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_f16/device_gemm_multiply_multiply_wp_xdl_f8_f8_f16_mk_mfma_mn_p2_default_instance_v2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_f16/device_gemm_multiply_multiply_wp_xdl_f8_f8_f16_mk_mfma_mn_p3_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_f16/device_gemm_multiply_multiply_wp_xdl_f8_f8_f16_mk_mfma_mn_p3_default_instance_v2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_f16/device_gemm_multiply_multiply_wp_xdl_f8_f8_f16_mk_mfma_mn_p4_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_f16/device_gemm_multiply_multiply_wp_xdl_f8_f8_f16_mk_mfma_mn_p4_default_instance_v2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_f16/device_gemm_multiply_multiply_wp_xdl_f8_f8_f16_mk_mfma_mn_p5_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_multiply_multiply_wp/f8_f8_f16/device_gemm_multiply_multiply_wp_xdl_f8_f8_f16_mk_mfma_mn_p5_default_instance_v2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_mx/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/gemm_mx/device_gemm_mx_xdl_f8_f8_bf16/device_gemm_mx_xdl_f8_f8_bf16_mk_nk_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_mx/device_gemm_mx_xdl_f8_f8_bf16/device_gemm_mx_xdl_f8_f8_bf16_mk_nk_mn_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_mx/device_gemm_mx_xdl_f8_f8_f16/device_gemm_mx_xdl_f8_f8_f16_mk_nk_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_mx/device_gemm_mx_xdl_f8_f8_f16/device_gemm_mx_xdl_f8_f8_f16_mk_nk_mn_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_reduce/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/gemm_reduce/device_gemm_reduce_xdl_cshuffle_f16_f16_f16_f32_f32_km_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_reduce/device_gemm_reduce_xdl_cshuffle_f16_f16_f16_f32_f32_km_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_reduce/device_gemm_reduce_xdl_cshuffle_f16_f16_f16_f32_f32_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_reduce/device_gemm_reduce_xdl_cshuffle_f16_f16_f16_f32_f32_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f16_f16_f16_comp_fp8_km_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f16_f16_f16_comp_fp8_km_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f16_f16_f16_comp_fp8_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f16_f16_f16_comp_fp8_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f16_f16_f16_km_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f16_f16_f16_km_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f16_f16_f16_mk_kn_mn_v1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f16_f16_f16_mk_kn_mn_v1_interwave_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f16_f16_f16_mk_kn_mn_v1_interwave_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f16_f16_f16_mk_kn_mn_v1_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f16_f16_f16_mk_kn_mn_v2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f16_f16_f16_mk_kn_mn_v2_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f16_f16_f16_mk_nk_mn_v1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f16_f16_f16_mk_nk_mn_v1_interwave_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f16_f16_f16_mk_nk_mn_v1_interwave_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f16_f16_f16_mk_nk_mn_v1_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f16_f16_f16_mk_nk_mn_v2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f16_f16_f16_mk_nk_mn_v2_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f16_fp8_f16_km_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f16_fp8_f16_km_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f16_fp8_f16_mk_kn_mn_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f16_fp8_f16_mk_kn_mn_v1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f16_fp8_f16_mk_kn_mn_v1_interwave_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f16_fp8_f16_mk_kn_mn_v2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f16_fp8_f16_mk_nk_mn_kpb128_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f16_fp8_f16_mk_nk_mn_v1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f16_fp8_f16_mk_nk_mn_v1_interwave_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f16_fp8_f16_mk_nk_mn_v2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f32_f32_f32_km_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f32_f32_f32_km_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f32_f32_f32_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_f32_f32_f32_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_fp8_f16_f16_km_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_fp8_f16_f16_km_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_fp8_f16_f16_mk_kn_mn_v1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_fp8_f16_f16_mk_kn_mn_v1_interwave_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_fp8_f16_f16_mk_kn_mn_v2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_fp8_f16_f16_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_splitk/device_gemm_xdl_splitk_lds_direct_load_f16_f16_f16_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_streamk/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/gemm_streamk/device_gemm_xdl_streamk_f16_f16_f16_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_wmma_universal_bf16_bf16_bf16/device_gemm_wmma_universal_bf16_bf16_bf16_km_kn_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_wmma_universal_bf16_bf16_bf16/device_gemm_wmma_universal_bf16_bf16_bf16_km_kn_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_wmma_universal_bf16_bf16_bf16/device_gemm_wmma_universal_bf16_bf16_bf16_km_nk_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_wmma_universal_bf16_bf16_bf16/device_gemm_wmma_universal_bf16_bf16_bf16_km_nk_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_wmma_universal_bf16_bf16_bf16/device_gemm_wmma_universal_bf16_bf16_bf16_mk_kn_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_wmma_universal_bf16_bf16_bf16/device_gemm_wmma_universal_bf16_bf16_bf16_mk_kn_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_wmma_universal_bf16_bf16_bf16/device_gemm_wmma_universal_bf16_bf16_bf16_mk_nk_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_wmma_universal_bf16_bf16_bf16/device_gemm_wmma_universal_bf16_bf16_bf16_mk_nk_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_wmma_universal_f16_f16_f16/device_gemm_wmma_universal_f16_f16_f16_km_kn_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_wmma_universal_f16_f16_f16/device_gemm_wmma_universal_f16_f16_f16_km_kn_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_wmma_universal_f16_f16_f16/device_gemm_wmma_universal_f16_f16_f16_km_nk_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_wmma_universal_f16_f16_f16/device_gemm_wmma_universal_f16_f16_f16_km_nk_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_wmma_universal_f16_f16_f16/device_gemm_wmma_universal_f16_f16_f16_mk_kn_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_wmma_universal_f16_f16_f16/device_gemm_wmma_universal_f16_f16_f16_mk_kn_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_wmma_universal_f16_f16_f16/device_gemm_wmma_universal_f16_f16_f16_mk_nk_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_wmma_universal_f16_f16_f16/device_gemm_wmma_universal_f16_f16_f16_mk_nk_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_wmma_universal_f8_f8_bf16/device_gemm_wmma_universal_f8_f8_bf16_mk_kn_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_wmma_universal_f8_f8_bf16/device_gemm_wmma_universal_f8_f8_bf16_mk_kn_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_wmma_universal_f8_f8_bf16/device_gemm_wmma_universal_f8_f8_bf16_mk_nk_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_wmma_universal_f8_f8_bf16/device_gemm_wmma_universal_f8_f8_bf16_mk_nk_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_km_kn_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_km_kn_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_km_kn_mn_comp_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_km_kn_mn_comp_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_km_kn_mn_comp_mnpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_km_kn_mn_mem_v1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_km_kn_mn_mem_v1_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_km_kn_mn_mem_v1_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_km_kn_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_km_kn_mn_mem_v2_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_km_kn_mn_mem_v2_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_km_nk_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_km_nk_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_km_nk_mn_comp_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_km_nk_mn_comp_mkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_km_nk_mn_comp_mpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_km_nk_mn_mem_v1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_km_nk_mn_mem_v1_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_km_nk_mn_mem_v1_mkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_km_nk_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_km_nk_mn_mem_v2_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_km_nk_mn_mem_v2_mkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_mk_kn_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_mk_kn_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_mk_kn_mn_comp_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_mk_kn_mn_comp_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_mk_kn_mn_comp_mnpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_mk_kn_mn_mem_v1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_mk_kn_mn_mem_v1_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_mk_kn_mn_mem_v1_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_mk_kn_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_mk_kn_mn_mem_v2_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_mk_kn_mn_mem_v2_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_mk_nk_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_mk_nk_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_mk_nk_mn_comp_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_mk_nk_mn_mem_v1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_mk_nk_mn_mem_v1_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_mk_nk_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_mk_nk_mn_mem_v2_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_i4_bf16/device_gemm_xdl_universal_bf16_i4_bf16_mk_nk_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_bf16_i4_bf16/device_gemm_xdl_universal_bf16_i4_bf16_mk_nk_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f16_f16/device_gemm_xdl_universal_f16_f16_f16_mk_kn_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f16_f16/device_gemm_xdl_universal_f16_f16_f16_mk_kn_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f16_f16/device_gemm_xdl_universal_f16_f16_f16_mk_kn_mn_comp_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f16_f16/device_gemm_xdl_universal_f16_f16_f16_mk_kn_mn_comp_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f16_f16/device_gemm_xdl_universal_f16_f16_f16_mk_kn_mn_comp_mnpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f16_f16/device_gemm_xdl_universal_f16_f16_f16_mk_kn_mn_mem_v1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f16_f16/device_gemm_xdl_universal_f16_f16_f16_mk_kn_mn_mem_v1_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f16_f16/device_gemm_xdl_universal_f16_f16_f16_mk_kn_mn_mem_v1_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f16_f16/device_gemm_xdl_universal_f16_f16_f16_mk_kn_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f16_f16/device_gemm_xdl_universal_f16_f16_f16_mk_kn_mn_mem_v2_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f16_f16/device_gemm_xdl_universal_f16_f16_f16_mk_kn_mn_mem_v2_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f16_f16/device_gemm_xdl_universal_f16_f16_f16_mk_nk_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f16_f16/device_gemm_xdl_universal_f16_f16_f16_mk_nk_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f16_f16/device_gemm_xdl_universal_f16_f16_f16_mk_nk_mn_comp_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f16_f16/device_gemm_xdl_universal_f16_f16_f16_mk_nk_mn_mem_v1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f16_f16/device_gemm_xdl_universal_f16_f16_f16_mk_nk_mn_mem_v1_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f16_f16/device_gemm_xdl_universal_f16_f16_f16_mk_nk_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f16_f16/device_gemm_xdl_universal_f16_f16_f16_mk_nk_mn_mem_v2_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f8_f16/device_gemm_xdl_universal_f16_f8_f16_mk_kn_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f8_f16/device_gemm_xdl_universal_f16_f8_f16_mk_kn_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f8_f16/device_gemm_xdl_universal_f16_f8_f16_mk_kn_mn_comp_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f8_f16/device_gemm_xdl_universal_f16_f8_f16_mk_kn_mn_comp_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f8_f16/device_gemm_xdl_universal_f16_f8_f16_mk_kn_mn_comp_mnpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f8_f16/device_gemm_xdl_universal_f16_f8_f16_mk_kn_mn_mem_v1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f8_f16/device_gemm_xdl_universal_f16_f8_f16_mk_kn_mn_mem_v1_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f8_f16/device_gemm_xdl_universal_f16_f8_f16_mk_kn_mn_mem_v1_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f8_f16/device_gemm_xdl_universal_f16_f8_f16_mk_kn_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f8_f16/device_gemm_xdl_universal_f16_f8_f16_mk_kn_mn_mem_v2_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f8_f16/device_gemm_xdl_universal_f16_f8_f16_mk_kn_mn_mem_v2_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f8_f16/device_gemm_xdl_universal_f16_f8_f16_mk_nk_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f8_f16/device_gemm_xdl_universal_f16_f8_f16_mk_nk_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f8_f16/device_gemm_xdl_universal_f16_f8_f16_mk_nk_mn_comp_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f8_f16/device_gemm_xdl_universal_f16_f8_f16_mk_nk_mn_mem_v1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f8_f16/device_gemm_xdl_universal_f16_f8_f16_mk_nk_mn_mem_v1_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f8_f16/device_gemm_xdl_universal_f16_f8_f16_mk_nk_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_f8_f16/device_gemm_xdl_universal_f16_f8_f16_mk_nk_mn_mem_v2_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_i4_f16/device_gemm_xdl_universal_f16_i4_f16_mk_nk_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f16_i4_f16/device_gemm_xdl_universal_f16_i4_f16_mk_nk_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f16_f16/device_gemm_xdl_universal_f8_f16_f16_mk_kn_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f16_f16/device_gemm_xdl_universal_f8_f16_f16_mk_kn_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f16_f16/device_gemm_xdl_universal_f8_f16_f16_mk_kn_mn_comp_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f16_f16/device_gemm_xdl_universal_f8_f16_f16_mk_kn_mn_comp_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f16_f16/device_gemm_xdl_universal_f8_f16_f16_mk_kn_mn_comp_mnpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f16_f16/device_gemm_xdl_universal_f8_f16_f16_mk_kn_mn_mem_v1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f16_f16/device_gemm_xdl_universal_f8_f16_f16_mk_kn_mn_mem_v1_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f16_f16/device_gemm_xdl_universal_f8_f16_f16_mk_kn_mn_mem_v1_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f16_f16/device_gemm_xdl_universal_f8_f16_f16_mk_kn_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f16_f16/device_gemm_xdl_universal_f8_f16_f16_mk_kn_mn_mem_v2_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f16_f16/device_gemm_xdl_universal_f8_f16_f16_mk_kn_mn_mem_v2_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f16_f16/device_gemm_xdl_universal_f8_f16_f16_mk_nk_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f16_f16/device_gemm_xdl_universal_f8_f16_f16_mk_nk_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f16_f16/device_gemm_xdl_universal_f8_f16_f16_mk_nk_mn_comp_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f16_f16/device_gemm_xdl_universal_f8_f16_f16_mk_nk_mn_mem_v1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f16_f16/device_gemm_xdl_universal_f8_f16_f16_mk_nk_mn_mem_v1_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f16_f16/device_gemm_xdl_universal_f8_f16_f16_mk_nk_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f16_f16/device_gemm_xdl_universal_f8_f16_f16_mk_nk_mn_mem_v2_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f8_bf16/device_gemm_xdl_universal_f8_f8_bf16_mk_kn_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f8_bf16/device_gemm_xdl_universal_f8_f8_bf16_mk_kn_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f8_bf16/device_gemm_xdl_universal_f8_f8_bf16_mk_kn_mn_comp_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f8_bf16/device_gemm_xdl_universal_f8_f8_bf16_mk_kn_mn_comp_nkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f8_bf16/device_gemm_xdl_universal_f8_f8_bf16_mk_kn_mn_mem_v1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f8_bf16/device_gemm_xdl_universal_f8_f8_bf16_mk_kn_mn_mem_v1_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f8_bf16/device_gemm_xdl_universal_f8_f8_bf16_mk_kn_mn_mem_v1_nkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f8_bf16/device_gemm_xdl_universal_f8_f8_bf16_mk_kn_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f8_bf16/device_gemm_xdl_universal_f8_f8_bf16_mk_kn_mn_mem_v2_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f8_bf16/device_gemm_xdl_universal_f8_f8_bf16_mk_kn_mn_mem_v2_nkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f8_bf16/device_gemm_xdl_universal_f8_f8_bf16_mk_nk_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f8_bf16/device_gemm_xdl_universal_f8_f8_bf16_mk_nk_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f8_bf16/device_gemm_xdl_universal_f8_f8_bf16_mk_nk_mn_comp_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f8_bf16/device_gemm_xdl_universal_f8_f8_bf16_mk_nk_mn_mem_v1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f8_bf16/device_gemm_xdl_universal_f8_f8_bf16_mk_nk_mn_mem_v1_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f8_bf16/device_gemm_xdl_universal_f8_f8_bf16_mk_nk_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal/device_gemm_xdl_universal_f8_f8_bf16/device_gemm_xdl_universal_f8_f8_bf16_mk_nk_mn_mem_v2_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_batched/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_batched/device_batched_gemm_xdl_universal_bf16_bf16_bf16/device_batched_gemm_xdl_universal_bf16_bf16_bf16_mk_nk_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_batched/device_batched_gemm_xdl_universal_bf16_bf16_bf16/device_batched_gemm_xdl_universal_bf16_bf16_bf16_mk_nk_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_batched/device_batched_gemm_xdl_universal_bf16_bf16_bf16/device_batched_gemm_xdl_universal_bf16_bf16_bf16_mk_nk_mn_mem_v1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_batched/device_batched_gemm_xdl_universal_bf16_bf16_bf16/device_batched_gemm_xdl_universal_bf16_bf16_bf16_mk_nk_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_batched/device_batched_gemm_xdl_universal_f8_f8_bf16/device_batched_gemm_xdl_universal_f8_f8_bf16_mk_nk_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_batched/device_batched_gemm_xdl_universal_f8_f8_bf16/device_batched_gemm_xdl_universal_f8_f8_bf16_mk_nk_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_batched/device_batched_gemm_xdl_universal_f8_f8_bf16/device_batched_gemm_xdl_universal_f8_f8_bf16_mk_nk_mn_mem_v1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_batched/device_batched_gemm_xdl_universal_f8_f8_bf16/device_batched_gemm_xdl_universal_f8_f8_bf16_mk_nk_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_reduce/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_reduce/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_mk_kn_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_reduce/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_mk_kn_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_reduce/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_mk_kn_mn_comp_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_reduce/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_mk_kn_mn_comp_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_reduce/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_mk_kn_mn_comp_mnpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_reduce/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_mk_kn_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_reduce/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_mk_kn_mn_mem_v2_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_reduce/device_gemm_xdl_universal_bf16_bf16_bf16/device_gemm_xdl_universal_bf16_bf16_bf16_mk_kn_mn_mem_v2_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_reduce/device_gemm_xdl_universal_bf16_i8_bf16/device_gemm_xdl_universal_bf16_i8_bf16_mk_kn_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_reduce/device_gemm_xdl_universal_bf16_i8_bf16/device_gemm_xdl_universal_bf16_i8_bf16_mk_kn_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_reduce/device_gemm_xdl_universal_bf16_i8_bf16/device_gemm_xdl_universal_bf16_i8_bf16_mk_kn_mn_comp_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_reduce/device_gemm_xdl_universal_bf16_i8_bf16/device_gemm_xdl_universal_bf16_i8_bf16_mk_kn_mn_comp_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_reduce/device_gemm_xdl_universal_bf16_i8_bf16/device_gemm_xdl_universal_bf16_i8_bf16_mk_kn_mn_comp_mnpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_reduce/device_gemm_xdl_universal_bf16_i8_bf16/device_gemm_xdl_universal_bf16_i8_bf16_mk_kn_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_reduce/device_gemm_xdl_universal_bf16_i8_bf16/device_gemm_xdl_universal_bf16_i8_bf16_mk_kn_mn_mem_v2_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_reduce/device_gemm_xdl_universal_bf16_i8_bf16/device_gemm_xdl_universal_bf16_i8_bf16_mk_kn_mn_mem_v2_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_reduce/device_gemm_xdl_universal_f16_f16_f16/device_gemm_xdl_universal_f16_f16_f16_mk_kn_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_reduce/device_gemm_xdl_universal_f16_f16_f16/device_gemm_xdl_universal_f16_f16_f16_mk_kn_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_reduce/device_gemm_xdl_universal_f16_f16_f16/device_gemm_xdl_universal_f16_f16_f16_mk_kn_mn_comp_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_reduce/device_gemm_xdl_universal_f16_f16_f16/device_gemm_xdl_universal_f16_f16_f16_mk_kn_mn_comp_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_reduce/device_gemm_xdl_universal_f16_f16_f16/device_gemm_xdl_universal_f16_f16_f16_mk_kn_mn_comp_mnpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_reduce/device_gemm_xdl_universal_f16_f16_f16/device_gemm_xdl_universal_f16_f16_f16_mk_kn_mn_mem_v1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_reduce/device_gemm_xdl_universal_f16_f16_f16/device_gemm_xdl_universal_f16_f16_f16_mk_kn_mn_mem_v1_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_reduce/device_gemm_xdl_universal_f16_f16_f16/device_gemm_xdl_universal_f16_f16_f16_mk_kn_mn_mem_v1_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_reduce/device_gemm_xdl_universal_f16_f16_f16/device_gemm_xdl_universal_f16_f16_f16_mk_kn_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_reduce/device_gemm_xdl_universal_f16_f16_f16/device_gemm_xdl_universal_f16_f16_f16_mk_kn_mn_mem_v2_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_reduce/device_gemm_xdl_universal_f16_f16_f16/device_gemm_xdl_universal_f16_f16_f16_mk_kn_mn_mem_v2_mnkpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/CMakeLists.txt create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_km_kn_mn.hpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_km_kn_mn_comp_default_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_km_kn_mn_comp_kpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_km_kn_mn_comp_mnkpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_km_kn_mn_comp_mnpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_km_kn_mn_mem_v1_default_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_km_kn_mn_mem_v1_kpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_km_kn_mn_mem_v1_mnkpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_km_kn_mn_mem_v2_default_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_km_kn_mn_mem_v2_kpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_km_kn_mn_mem_v2_mnkpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_km_nk_mn.hpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_km_nk_mn_comp_default_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_km_nk_mn_comp_kpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_km_nk_mn_comp_mkpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_km_nk_mn_comp_mpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_km_nk_mn_mem_v1_default_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_km_nk_mn_mem_v1_kpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_km_nk_mn_mem_v1_mkpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_km_nk_mn_mem_v2_default_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_km_nk_mn_mem_v2_kpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_km_nk_mn_mem_v2_mkpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_mk_kn_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_mk_kn_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_mk_kn_mn_comp_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_mk_kn_mn_comp_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_mk_kn_mn_comp_mnpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_mk_kn_mn_mem_v1_default_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_mk_kn_mn_mem_v1_kpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_mk_kn_mn_mem_v1_mnkpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_mk_kn_mn_mem_v2_default_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_mk_kn_mn_mem_v2_kpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_mk_kn_mn_mem_v2_mnkpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_mk_nk_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_mk_nk_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_mk_nk_mn_comp_kpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_mk_nk_mn_comp_mnkpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_mk_nk_mn_comp_mnpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_mk_nk_mn_mem_v1_default_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_mk_nk_mn_mem_v1_kpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_mk_nk_mn_mem_v1_mnkpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_mk_nk_mn_mem_v2_default_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_mk_nk_mn_mem_v2_kpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_bf16_bf16_bf16/device_gemm_xdl_universal_streamk_bf16_bf16_bf16_mk_nk_mn_mem_v2_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f16_f16/device_gemm_xdl_universal_streamk_f16_f16_f16_mk_kn_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f16_f16/device_gemm_xdl_universal_streamk_f16_f16_f16_mk_kn_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f16_f16/device_gemm_xdl_universal_streamk_f16_f16_f16_mk_kn_mn_comp_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f16_f16/device_gemm_xdl_universal_streamk_f16_f16_f16_mk_kn_mn_comp_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f16_f16/device_gemm_xdl_universal_streamk_f16_f16_f16_mk_kn_mn_comp_mnpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f16_f16/device_gemm_xdl_universal_streamk_f16_f16_f16_mk_kn_mn_mem_v1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f16_f16/device_gemm_xdl_universal_streamk_f16_f16_f16_mk_kn_mn_mem_v1_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f16_f16/device_gemm_xdl_universal_streamk_f16_f16_f16_mk_kn_mn_mem_v1_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f16_f16/device_gemm_xdl_universal_streamk_f16_f16_f16_mk_kn_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f16_f16/device_gemm_xdl_universal_streamk_f16_f16_f16_mk_kn_mn_mem_v2_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f16_f16/device_gemm_xdl_universal_streamk_f16_f16_f16_mk_kn_mn_mem_v2_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f16_f16/device_gemm_xdl_universal_streamk_f16_f16_f16_mk_nk_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f16_f16/device_gemm_xdl_universal_streamk_f16_f16_f16_mk_nk_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f16_f16/device_gemm_xdl_universal_streamk_f16_f16_f16_mk_nk_mn_comp_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f16_f16/device_gemm_xdl_universal_streamk_f16_f16_f16_mk_nk_mn_comp_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f16_f16/device_gemm_xdl_universal_streamk_f16_f16_f16_mk_nk_mn_comp_mnpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f16_f16/device_gemm_xdl_universal_streamk_f16_f16_f16_mk_nk_mn_mem_v1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f16_f16/device_gemm_xdl_universal_streamk_f16_f16_f16_mk_nk_mn_mem_v1_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f16_f16/device_gemm_xdl_universal_streamk_f16_f16_f16_mk_nk_mn_mem_v1_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f16_f16/device_gemm_xdl_universal_streamk_f16_f16_f16_mk_nk_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f16_f16/device_gemm_xdl_universal_streamk_f16_f16_f16_mk_nk_mn_mem_v2_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f16_f16/device_gemm_xdl_universal_streamk_f16_f16_f16_mk_nk_mn_mem_v2_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f8_f16/device_gemm_xdl_universal_streamk_f16_f8_f16_mk_kn_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f8_f16/device_gemm_xdl_universal_streamk_f16_f8_f16_mk_kn_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f8_f16/device_gemm_xdl_universal_streamk_f16_f8_f16_mk_kn_mn_comp_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f8_f16/device_gemm_xdl_universal_streamk_f16_f8_f16_mk_kn_mn_comp_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f8_f16/device_gemm_xdl_universal_streamk_f16_f8_f16_mk_kn_mn_comp_mnpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f8_f16/device_gemm_xdl_universal_streamk_f16_f8_f16_mk_kn_mn_mem_v1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f8_f16/device_gemm_xdl_universal_streamk_f16_f8_f16_mk_kn_mn_mem_v1_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f8_f16/device_gemm_xdl_universal_streamk_f16_f8_f16_mk_kn_mn_mem_v1_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f8_f16/device_gemm_xdl_universal_streamk_f16_f8_f16_mk_kn_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f8_f16/device_gemm_xdl_universal_streamk_f16_f8_f16_mk_kn_mn_mem_v2_kpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f8_f16/device_gemm_xdl_universal_streamk_f16_f8_f16_mk_kn_mn_mem_v2_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f8_f16/device_gemm_xdl_universal_streamk_f16_f8_f16_mk_nk_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f8_f16/device_gemm_xdl_universal_streamk_f16_f8_f16_mk_nk_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f8_f16/device_gemm_xdl_universal_streamk_f16_f8_f16_mk_nk_mn_comp_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f8_f16/device_gemm_xdl_universal_streamk_f16_f8_f16_mk_nk_mn_comp_mnkpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f8_f16/device_gemm_xdl_universal_streamk_f16_f8_f16_mk_nk_mn_comp_mnpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f8_f16/device_gemm_xdl_universal_streamk_f16_f8_f16_mk_nk_mn_mem_v1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f8_f16/device_gemm_xdl_universal_streamk_f16_f8_f16_mk_nk_mn_mem_v1_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f8_f16/device_gemm_xdl_universal_streamk_f16_f8_f16_mk_nk_mn_mem_v1_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f8_f16/device_gemm_xdl_universal_streamk_f16_f8_f16_mk_nk_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f8_f16/device_gemm_xdl_universal_streamk_f16_f8_f16_mk_nk_mn_mem_v2_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f16_f8_f16/device_gemm_xdl_universal_streamk_f16_f8_f16_mk_nk_mn_mem_v2_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f16_f16/device_gemm_xdl_universal_streamk_f8_f16_f16_mk_kn_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f16_f16/device_gemm_xdl_universal_streamk_f8_f16_f16_mk_kn_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f16_f16/device_gemm_xdl_universal_streamk_f8_f16_f16_mk_kn_mn_comp_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f16_f16/device_gemm_xdl_universal_streamk_f8_f16_f16_mk_kn_mn_comp_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f16_f16/device_gemm_xdl_universal_streamk_f8_f16_f16_mk_kn_mn_comp_mnpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f16_f16/device_gemm_xdl_universal_streamk_f8_f16_f16_mk_kn_mn_mem_v1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f16_f16/device_gemm_xdl_universal_streamk_f8_f16_f16_mk_kn_mn_mem_v1_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f16_f16/device_gemm_xdl_universal_streamk_f8_f16_f16_mk_kn_mn_mem_v1_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f16_f16/device_gemm_xdl_universal_streamk_f8_f16_f16_mk_kn_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f16_f16/device_gemm_xdl_universal_streamk_f8_f16_f16_mk_kn_mn_mem_v2_kpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f16_f16/device_gemm_xdl_universal_streamk_f8_f16_f16_mk_kn_mn_mem_v2_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f16_f16/device_gemm_xdl_universal_streamk_f8_f16_f16_mk_nk_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f16_f16/device_gemm_xdl_universal_streamk_f8_f16_f16_mk_nk_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f16_f16/device_gemm_xdl_universal_streamk_f8_f16_f16_mk_nk_mn_comp_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f16_f16/device_gemm_xdl_universal_streamk_f8_f16_f16_mk_nk_mn_comp_mnkpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f16_f16/device_gemm_xdl_universal_streamk_f8_f16_f16_mk_nk_mn_comp_mnpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f16_f16/device_gemm_xdl_universal_streamk_f8_f16_f16_mk_nk_mn_mem_v1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f16_f16/device_gemm_xdl_universal_streamk_f8_f16_f16_mk_nk_mn_mem_v1_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f16_f16/device_gemm_xdl_universal_streamk_f8_f16_f16_mk_nk_mn_mem_v1_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f16_f16/device_gemm_xdl_universal_streamk_f8_f16_f16_mk_nk_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f16_f16/device_gemm_xdl_universal_streamk_f8_f16_f16_mk_nk_mn_mem_v2_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f16_f16/device_gemm_xdl_universal_streamk_f8_f16_f16_mk_nk_mn_mem_v2_mnkpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f8_bf16/device_gemm_xdl_universal_streamk_f8_f8_bf16_mk_kn_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f8_bf16/device_gemm_xdl_universal_streamk_f8_f8_bf16_mk_kn_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f8_bf16/device_gemm_xdl_universal_streamk_f8_f8_bf16_mk_kn_mn_comp_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f8_bf16/device_gemm_xdl_universal_streamk_f8_f8_bf16_mk_kn_mn_comp_nkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f8_bf16/device_gemm_xdl_universal_streamk_f8_f8_bf16_mk_kn_mn_mem_v1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f8_bf16/device_gemm_xdl_universal_streamk_f8_f8_bf16_mk_kn_mn_mem_v1_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f8_bf16/device_gemm_xdl_universal_streamk_f8_f8_bf16_mk_kn_mn_mem_v1_nkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f8_bf16/device_gemm_xdl_universal_streamk_f8_f8_bf16_mk_kn_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f8_bf16/device_gemm_xdl_universal_streamk_f8_f8_bf16_mk_kn_mn_mem_v2_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f8_bf16/device_gemm_xdl_universal_streamk_f8_f8_bf16_mk_kn_mn_mem_v2_nkpadding_instance.cpp create mode 100755 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f8_bf16/device_gemm_xdl_universal_streamk_f8_f8_bf16_mk_nk_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f8_bf16/device_gemm_xdl_universal_streamk_f8_f8_bf16_mk_nk_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f8_bf16/device_gemm_xdl_universal_streamk_f8_f8_bf16_mk_nk_mn_comp_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f8_bf16/device_gemm_xdl_universal_streamk_f8_f8_bf16_mk_nk_mn_mem_v1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f8_bf16/device_gemm_xdl_universal_streamk_f8_f8_bf16_mk_nk_mn_mem_v1_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f8_bf16/device_gemm_xdl_universal_streamk_f8_f8_bf16_mk_nk_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/gemm_universal_streamk/device_gemm_xdl_universal_streamk_f8_f8_bf16/device_gemm_xdl_universal_streamk_f8_f8_bf16_mk_nk_mn_mem_v2_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv1d_bwd_weight/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv1d_bwd_weight/dl/device_grouped_conv1d_bwd_weight_dl_gnwc_gkxc_gnwk_bf16_f32_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv1d_bwd_weight/dl/device_grouped_conv1d_bwd_weight_dl_gnwc_gkxc_gnwk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv1d_bwd_weight/dl/device_grouped_conv1d_bwd_weight_dl_gnwc_gkxc_gnwk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv1d_bwd_weight/dl/device_grouped_conv1d_bwd_weight_dl_nwgc_gkxc_nwgk_bf16_f32_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv1d_bwd_weight/dl/device_grouped_conv1d_bwd_weight_dl_nwgc_gkxc_nwgk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv1d_bwd_weight/dl/device_grouped_conv1d_bwd_weight_dl_nwgc_gkxc_nwgk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv1d_bwd_weight/xdl/device_grouped_conv1d_bwd_weight_xdl_gnwc_gkxc_gnwk_bf16_f32_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv1d_bwd_weight/xdl/device_grouped_conv1d_bwd_weight_xdl_gnwc_gkxc_gnwk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv1d_bwd_weight/xdl/device_grouped_conv1d_bwd_weight_xdl_gnwc_gkxc_gnwk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv1d_fwd/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv1d_fwd/xdl/device_grouped_conv1d_fwd_xdl_gnwc_gkxc_gnwk_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv1d_fwd/xdl/device_grouped_conv1d_fwd_xdl_gnwc_gkxc_gnwk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv1d_fwd/xdl/device_grouped_conv1d_fwd_xdl_gnwc_gkxc_gnwk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv1d_fwd/xdl/device_grouped_conv1d_fwd_xdl_gnwc_gkxc_gnwk_int8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_data/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_data/wmma/device_grouped_conv2d_bwd_data_wmma_gnhwc_gkyxc_gnhwk_f16_1x1s1p0_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_data/wmma/device_grouped_conv2d_bwd_data_wmma_gnhwc_gkyxc_gnhwk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_data/wmma/device_grouped_conv2d_bwd_data_wmma_gnhwc_gkyxc_gnhwk_i8_1x1s1p0_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_data/wmma/device_grouped_conv2d_bwd_data_wmma_gnhwc_gkyxc_gnhwk_i8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_data/wmma/device_grouped_conv2d_bwd_data_wmma_nhwgc_gkyxc_nhwgk_f16_1x1s1p0_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_data/wmma/device_grouped_conv2d_bwd_data_wmma_nhwgc_gkyxc_nhwgk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_data/wmma/device_grouped_conv2d_bwd_data_wmma_nhwgc_gkyxc_nhwgk_i8_1x1s1p0_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_data/wmma/device_grouped_conv2d_bwd_data_wmma_nhwgc_gkyxc_nhwgk_i8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_data/xdl/device_grouped_conv2d_bwd_data_xdl_gnhwc_gkyxc_gnhwk_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_data/xdl/device_grouped_conv2d_bwd_data_xdl_gnhwc_gkyxc_gnhwk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_data/xdl/device_grouped_conv2d_bwd_data_xdl_gnhwc_gkyxc_gnhwk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_data/xdl/device_grouped_conv2d_bwd_data_xdl_ngchw_gkcyx_ngkhw_bf16_16_16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_data/xdl/device_grouped_conv2d_bwd_data_xdl_ngchw_gkcyx_ngkhw_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_data/xdl/device_grouped_conv2d_bwd_data_xdl_ngchw_gkcyx_ngkhw_bf16_vec_transpose_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_data/xdl/device_grouped_conv2d_bwd_data_xdl_ngchw_gkcyx_ngkhw_f16_16_16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_data/xdl/device_grouped_conv2d_bwd_data_xdl_ngchw_gkcyx_ngkhw_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_data/xdl/device_grouped_conv2d_bwd_data_xdl_ngchw_gkcyx_ngkhw_f16_vec_transpose_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_data/xdl/device_grouped_conv2d_bwd_data_xdl_ngchw_gkcyx_ngkhw_f32_16_16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_data/xdl/device_grouped_conv2d_bwd_data_xdl_ngchw_gkcyx_ngkhw_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_data/xdl/device_grouped_conv2d_bwd_data_xdl_ngchw_gkcyx_ngkhw_f32_vec_transpose_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_data/xdl/device_grouped_conv2d_bwd_data_xdl_ngchw_gkyxc_ngkhw_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_data/xdl/device_grouped_conv2d_bwd_data_xdl_ngchw_gkyxc_ngkhw_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_data/xdl/device_grouped_conv2d_bwd_data_xdl_ngchw_gkyxc_ngkhw_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_data/xdl/device_grouped_conv2d_bwd_data_xdl_nhwgc_gkyxc_nhwgk_bf16_16_16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_data/xdl/device_grouped_conv2d_bwd_data_xdl_nhwgc_gkyxc_nhwgk_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_data/xdl/device_grouped_conv2d_bwd_data_xdl_nhwgc_gkyxc_nhwgk_f16_16_16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_data/xdl/device_grouped_conv2d_bwd_data_xdl_nhwgc_gkyxc_nhwgk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_data/xdl/device_grouped_conv2d_bwd_data_xdl_nhwgc_gkyxc_nhwgk_f32_16_16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_data/xdl/device_grouped_conv2d_bwd_data_xdl_nhwgc_gkyxc_nhwgk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/dl/device_grouped_conv2d_bwd_weight_dl_gnhwc_gkyxc_gnhwk_bf16_f32_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/dl/device_grouped_conv2d_bwd_weight_dl_gnhwc_gkyxc_gnhwk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/dl/device_grouped_conv2d_bwd_weight_dl_gnhwc_gkyxc_gnhwk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/dl/device_grouped_conv2d_bwd_weight_dl_nhwgc_gkyxc_nhwgk_bf16_f32_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/dl/device_grouped_conv2d_bwd_weight_dl_nhwgc_gkyxc_nhwgk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/dl/device_grouped_conv2d_bwd_weight_dl_nhwgc_gkyxc_nhwgk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/gnhwc_gkyxc_gnhwk/device_grouped_conv2d_bwd_weight_xdl_gnhwc_gkyxc_gnhwk_bf16_f32_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/gnhwc_gkyxc_gnhwk/device_grouped_conv2d_bwd_weight_xdl_gnhwc_gkyxc_gnhwk_f16_default_pipev1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/gnhwc_gkyxc_gnhwk/device_grouped_conv2d_bwd_weight_xdl_gnhwc_gkyxc_gnhwk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/gnhwc_gkyxc_gnhwk/device_grouped_conv2d_bwd_weight_xdl_gnhwc_gkyxc_gnhwk_f16_pad0_pipev1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/gnhwc_gkyxc_gnhwk/device_grouped_conv2d_bwd_weight_xdl_gnhwc_gkyxc_gnhwk_f32_default_pipev1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/gnhwc_gkyxc_gnhwk/device_grouped_conv2d_bwd_weight_xdl_gnhwc_gkyxc_gnhwk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/gnhwc_gkyxc_gnhwk/device_grouped_conv2d_bwd_weight_xdl_gnhwc_gkyxc_gnhwk_f32_pad0_pipev1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/ngchw_gkcyx_ngkhw/device_grouped_conv2d_bwd_weight_two_stage_xdl_ngchw_gkcyx_ngkhw_bf16_pipev1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/ngchw_gkcyx_ngkhw/device_grouped_conv2d_bwd_weight_two_stage_xdl_ngchw_gkcyx_ngkhw_bf16_pipev2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/ngchw_gkcyx_ngkhw/device_grouped_conv2d_bwd_weight_two_stage_xdl_ngchw_gkcyx_ngkhw_bf16_pipev5_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/ngchw_gkcyx_ngkhw/device_grouped_conv2d_bwd_weight_two_stage_xdl_ngchw_gkcyx_ngkhw_f16_pipev1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/ngchw_gkcyx_ngkhw/device_grouped_conv2d_bwd_weight_two_stage_xdl_ngchw_gkcyx_ngkhw_f16_pipev2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/ngchw_gkcyx_ngkhw/device_grouped_conv2d_bwd_weight_two_stage_xdl_ngchw_gkcyx_ngkhw_f16_pipev5_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/ngchw_gkcyx_ngkhw/device_grouped_conv2d_bwd_weight_xdl_ngchw_gkcyx_ngkhw_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/ngchw_gkcyx_ngkhw/device_grouped_conv2d_bwd_weight_xdl_ngchw_gkcyx_ngkhw_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/ngchw_gkcyx_ngkhw/device_grouped_conv2d_bwd_weight_xdl_ngchw_gkcyx_ngkhw_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/ngchw_gkyxc_ngkhw/device_grouped_conv2d_bwd_weight_two_stage_xdl_ngchw_gkyxc_ngkhw_bf16_pipev1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/ngchw_gkyxc_ngkhw/device_grouped_conv2d_bwd_weight_two_stage_xdl_ngchw_gkyxc_ngkhw_f16_pipev1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/ngchw_gkyxc_ngkhw/device_grouped_conv2d_bwd_weight_xdl_ngchw_gkyxc_ngkhw_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/nhwgc_gkyxc_nhwgk/device_grouped_conv2d_bwd_weight_two_stage_xdl_nhwgc_gkyxc_nhwgk_bf16_pipev1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/nhwgc_gkyxc_nhwgk/device_grouped_conv2d_bwd_weight_two_stage_xdl_nhwgc_gkyxc_nhwgk_bf16_pipev2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/nhwgc_gkyxc_nhwgk/device_grouped_conv2d_bwd_weight_two_stage_xdl_nhwgc_gkyxc_nhwgk_bf16_pipev2_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/nhwgc_gkyxc_nhwgk/device_grouped_conv2d_bwd_weight_two_stage_xdl_nhwgc_gkyxc_nhwgk_bf16_pipev5_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/nhwgc_gkyxc_nhwgk/device_grouped_conv2d_bwd_weight_two_stage_xdl_nhwgc_gkyxc_nhwgk_bf16_pipev5_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/nhwgc_gkyxc_nhwgk/device_grouped_conv2d_bwd_weight_two_stage_xdl_nhwgc_gkyxc_nhwgk_f16_pipev1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/nhwgc_gkyxc_nhwgk/device_grouped_conv2d_bwd_weight_two_stage_xdl_nhwgc_gkyxc_nhwgk_f16_pipev2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/nhwgc_gkyxc_nhwgk/device_grouped_conv2d_bwd_weight_two_stage_xdl_nhwgc_gkyxc_nhwgk_f16_pipev2_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/nhwgc_gkyxc_nhwgk/device_grouped_conv2d_bwd_weight_two_stage_xdl_nhwgc_gkyxc_nhwgk_f16_pipev5_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/nhwgc_gkyxc_nhwgk/device_grouped_conv2d_bwd_weight_two_stage_xdl_nhwgc_gkyxc_nhwgk_f16_pipev5_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/nhwgc_gkyxc_nhwgk/device_grouped_conv2d_bwd_weight_xdl_nhwgc_gkyxc_nhwgk_bf16_default_pipev2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/nhwgc_gkyxc_nhwgk/device_grouped_conv2d_bwd_weight_xdl_nhwgc_gkyxc_nhwgk_bf16_default_pipev5_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/nhwgc_gkyxc_nhwgk/device_grouped_conv2d_bwd_weight_xdl_nhwgc_gkyxc_nhwgk_bf16_f32_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/nhwgc_gkyxc_nhwgk/device_grouped_conv2d_bwd_weight_xdl_nhwgc_gkyxc_nhwgk_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/nhwgc_gkyxc_nhwgk/device_grouped_conv2d_bwd_weight_xdl_nhwgc_gkyxc_nhwgk_bf16_pad0_pipev2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/nhwgc_gkyxc_nhwgk/device_grouped_conv2d_bwd_weight_xdl_nhwgc_gkyxc_nhwgk_bf16_pad0_pipev5_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/nhwgc_gkyxc_nhwgk/device_grouped_conv2d_bwd_weight_xdl_nhwgc_gkyxc_nhwgk_f16_default_pipev2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/nhwgc_gkyxc_nhwgk/device_grouped_conv2d_bwd_weight_xdl_nhwgc_gkyxc_nhwgk_f16_default_pipev5_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/nhwgc_gkyxc_nhwgk/device_grouped_conv2d_bwd_weight_xdl_nhwgc_gkyxc_nhwgk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/nhwgc_gkyxc_nhwgk/device_grouped_conv2d_bwd_weight_xdl_nhwgc_gkyxc_nhwgk_f16_pad0_pipev2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/nhwgc_gkyxc_nhwgk/device_grouped_conv2d_bwd_weight_xdl_nhwgc_gkyxc_nhwgk_f16_pad0_pipev5_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/nhwgc_gkyxc_nhwgk/device_grouped_conv2d_bwd_weight_xdl_nhwgc_gkyxc_nhwgk_f32_default_pipev2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/nhwgc_gkyxc_nhwgk/device_grouped_conv2d_bwd_weight_xdl_nhwgc_gkyxc_nhwgk_f32_default_pipev5_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/nhwgc_gkyxc_nhwgk/device_grouped_conv2d_bwd_weight_xdl_nhwgc_gkyxc_nhwgk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/nhwgc_gkyxc_nhwgk/device_grouped_conv2d_bwd_weight_xdl_nhwgc_gkyxc_nhwgk_f32_pad0_pipev2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_bwd_weight/xdl/nhwgc_gkyxc_nhwgk/device_grouped_conv2d_bwd_weight_xdl_nhwgc_gkyxc_nhwgk_f32_pad0_pipev5_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/dl/device_grouped_conv2d_fwd_dl_gnhwc_gkyxc_gnhwk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/dl/device_grouped_conv2d_fwd_dl_gnhwc_gkyxc_gnhwk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/dl/device_grouped_conv2d_fwd_dl_nhwgc_gkyxc_nhwgk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/dl/device_grouped_conv2d_fwd_dl_nhwgc_gkyxc_nhwgk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/wmma/device_grouped_conv2d_fwd_wmma_gnhwc_gkyxc_gnhwk_f16_1x1p0_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/wmma/device_grouped_conv2d_fwd_wmma_gnhwc_gkyxc_gnhwk_f16_1x1s1p0_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/wmma/device_grouped_conv2d_fwd_wmma_gnhwc_gkyxc_gnhwk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/wmma/device_grouped_conv2d_fwd_wmma_gnhwc_gkyxc_gnhwk_i8_1x1p0_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/wmma/device_grouped_conv2d_fwd_wmma_gnhwc_gkyxc_gnhwk_i8_1x1s1p0_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/wmma/device_grouped_conv2d_fwd_wmma_gnhwc_gkyxc_gnhwk_i8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/wmma/device_grouped_conv2d_fwd_wmma_nhwgc_gkyxc_nhwgk_f16_1x1p0_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/wmma/device_grouped_conv2d_fwd_wmma_nhwgc_gkyxc_nhwgk_f16_1x1s1p0_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/wmma/device_grouped_conv2d_fwd_wmma_nhwgc_gkyxc_nhwgk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/wmma/device_grouped_conv2d_fwd_wmma_nhwgc_gkyxc_nhwgk_i8_1x1p0_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/wmma/device_grouped_conv2d_fwd_wmma_nhwgc_gkyxc_nhwgk_i8_1x1s1p0_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/wmma/device_grouped_conv2d_fwd_wmma_nhwgc_gkyxc_nhwgk_i8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/comp/device_grouped_conv2d_fwd_xdl_ngchw_gkcyx_ngkhw_bf16_comp_2x_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/comp/device_grouped_conv2d_fwd_xdl_ngchw_gkcyx_ngkhw_bf16_comp_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/comp/device_grouped_conv2d_fwd_xdl_ngchw_gkcyx_ngkhw_bf16_comp_part2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/comp/device_grouped_conv2d_fwd_xdl_ngchw_gkcyx_ngkhw_f16_comp_2x_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/comp/device_grouped_conv2d_fwd_xdl_ngchw_gkcyx_ngkhw_f16_comp_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/comp/device_grouped_conv2d_fwd_xdl_ngchw_gkcyx_ngkhw_f16_comp_part2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/comp/device_grouped_conv2d_fwd_xdl_ngchw_gkcyx_ngkhw_f32_comp_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/comp/device_grouped_conv2d_fwd_xdl_nhwgc_gkyxc_nhwgk_bf16_comp_2x_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/comp/device_grouped_conv2d_fwd_xdl_nhwgc_gkyxc_nhwgk_bf16_comp_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/comp/device_grouped_conv2d_fwd_xdl_nhwgc_gkyxc_nhwgk_bf16_comp_part2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/comp/device_grouped_conv2d_fwd_xdl_nhwgc_gkyxc_nhwgk_f16_comp_2x_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/comp/device_grouped_conv2d_fwd_xdl_nhwgc_gkyxc_nhwgk_f16_comp_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/comp/device_grouped_conv2d_fwd_xdl_nhwgc_gkyxc_nhwgk_f16_comp_part2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/comp/device_grouped_conv2d_fwd_xdl_nhwgc_gkyxc_nhwgk_f32_comp_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/comp/device_grouped_conv2d_fwd_xdl_nhwgc_gkyxc_nhwgk_int8_comp_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/device_grouped_conv2d_fwd_xdl_gnhwc_gkyxc_gnhwk_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/device_grouped_conv2d_fwd_xdl_gnhwc_gkyxc_gnhwk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/device_grouped_conv2d_fwd_xdl_gnhwc_gkyxc_gnhwk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/device_grouped_conv2d_fwd_xdl_ngchw_gkcyx_ngkhw_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/device_grouped_conv2d_fwd_xdl_ngchw_gkcyx_ngkhw_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/device_grouped_conv2d_fwd_xdl_ngchw_gkcyx_ngkhw_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/device_grouped_conv2d_fwd_xdl_ngchw_gkyxc_ngkhw_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/device_grouped_conv2d_fwd_xdl_ngchw_gkyxc_ngkhw_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/device_grouped_conv2d_fwd_xdl_ngchw_gkyxc_ngkhw_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/device_grouped_conv2d_fwd_xdl_ngchw_gkyxc_ngkhw_int8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/device_grouped_conv2d_fwd_xdl_nhwgc_gkyxc_nhwgk_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/device_grouped_conv2d_fwd_xdl_nhwgc_gkyxc_nhwgk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/device_grouped_conv2d_fwd_xdl_nhwgc_gkyxc_nhwgk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/device_grouped_conv2d_fwd_xdl_nhwgc_gkyxc_nhwgk_int8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/large_tensor/device_grouped_conv2d_fwd_xdl_large_tensor_nhwgc_gkyxc_nhwgk_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/large_tensor/device_grouped_conv2d_fwd_xdl_large_tensor_nhwgc_gkyxc_nhwgk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/large_tensor/device_grouped_conv2d_fwd_xdl_large_tensor_nhwgc_gkyxc_nhwgk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/large_tensor/device_grouped_conv2d_fwd_xdl_large_tensor_nhwgc_gkyxc_nhwgk_int8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/mem/device_grouped_conv2d_fwd_xdl_ngchw_gkcyx_ngkhw_bf16_mem_inter_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/mem/device_grouped_conv2d_fwd_xdl_ngchw_gkcyx_ngkhw_bf16_mem_intra_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/mem/device_grouped_conv2d_fwd_xdl_ngchw_gkcyx_ngkhw_f16_mem_inter_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/mem/device_grouped_conv2d_fwd_xdl_ngchw_gkcyx_ngkhw_f16_mem_intra_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/mem/device_grouped_conv2d_fwd_xdl_ngchw_gkcyx_ngkhw_f32_mem_inter_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/mem/device_grouped_conv2d_fwd_xdl_ngchw_gkcyx_ngkhw_f32_mem_intra_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/mem/device_grouped_conv2d_fwd_xdl_nhwgc_gkyxc_nhwgk_bf16_mem_inter_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/mem/device_grouped_conv2d_fwd_xdl_nhwgc_gkyxc_nhwgk_bf16_mem_intra_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/mem/device_grouped_conv2d_fwd_xdl_nhwgc_gkyxc_nhwgk_f16_mem_inter_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/mem/device_grouped_conv2d_fwd_xdl_nhwgc_gkyxc_nhwgk_f16_mem_intra_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/mem/device_grouped_conv2d_fwd_xdl_nhwgc_gkyxc_nhwgk_f32_mem_inter_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/mem/device_grouped_conv2d_fwd_xdl_nhwgc_gkyxc_nhwgk_f32_mem_intra_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/mem/device_grouped_conv2d_fwd_xdl_nhwgc_gkyxc_nhwgk_int8_mem_inter_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/mem/device_grouped_conv2d_fwd_xdl_nhwgc_gkyxc_nhwgk_int8_mem_intra_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/merged_groups/device_grouped_conv2d_fwd_xdl_merged_groups_ngchw_gkcyx_ngkhw_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/merged_groups/device_grouped_conv2d_fwd_xdl_merged_groups_ngchw_gkcyx_ngkhw_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/merged_groups/device_grouped_conv2d_fwd_xdl_merged_groups_ngchw_gkcyx_ngkhw_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/merged_groups/device_grouped_conv2d_fwd_xdl_merged_groups_nhwgc_gkyxc_nhwgk_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/merged_groups/device_grouped_conv2d_fwd_xdl_merged_groups_nhwgc_gkyxc_nhwgk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/merged_groups/device_grouped_conv2d_fwd_xdl_merged_groups_nhwgc_gkyxc_nhwgk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/xdl/merged_groups/device_grouped_conv2d_fwd_xdl_merged_groups_nhwgc_gkyxc_nhwgk_int8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd_dynamic_op/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd_dynamic_op/xdl/device_grouped_conv2d_fwd_xdl_dynamic_op_nhwgc_gkyxc_nhwgk_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd_dynamic_op/xdl/device_grouped_conv2d_fwd_xdl_dynamic_op_nhwgc_gkyxc_nhwgk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd_dynamic_op/xdl/device_grouped_conv2d_fwd_xdl_dynamic_op_nhwgc_gkyxc_nhwgk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd_dynamic_op/xdl/device_grouped_conv2d_fwd_xdl_dynamic_op_nhwgc_gkyxc_nhwgk_int8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/wmma/device_grouped_conv3d_bwd_data_wmma_gndhwc_gkzyxc_gndhwk_f16_1x1s1p0_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/wmma/device_grouped_conv3d_bwd_data_wmma_gndhwc_gkzyxc_gndhwk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/wmma/device_grouped_conv3d_bwd_data_wmma_gndhwc_gkzyxc_gndhwk_i8_1x1s1p0_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/wmma/device_grouped_conv3d_bwd_data_wmma_gndhwc_gkzyxc_gndhwk_i8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/wmma/device_grouped_conv3d_bwd_data_wmma_ndhwgc_gkzyxc_ndhwgk_f16_1x1s1p0_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/wmma/device_grouped_conv3d_bwd_data_wmma_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/wmma/device_grouped_conv3d_bwd_data_wmma_ndhwgc_gkzyxc_ndhwgk_i8_1x1s1p0_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/wmma/device_grouped_conv3d_bwd_data_wmma_ndhwgc_gkzyxc_ndhwgk_i8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/xdl/device_grouped_conv3d_bwd_data_xdl_gndhwc_gkzyxc_gndhwk_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/xdl/device_grouped_conv3d_bwd_data_xdl_gndhwc_gkzyxc_gndhwk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/xdl/device_grouped_conv3d_bwd_data_xdl_gndhwc_gkzyxc_gndhwk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/xdl/device_grouped_conv3d_bwd_data_xdl_ndhwgc_gkzyxc_ndhwgk_bf16_16_16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/xdl/device_grouped_conv3d_bwd_data_xdl_ndhwgc_gkzyxc_ndhwgk_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/xdl/device_grouped_conv3d_bwd_data_xdl_ndhwgc_gkzyxc_ndhwgk_f16_16_16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/xdl/device_grouped_conv3d_bwd_data_xdl_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/xdl/device_grouped_conv3d_bwd_data_xdl_ndhwgc_gkzyxc_ndhwgk_f32_16_16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/xdl/device_grouped_conv3d_bwd_data_xdl_ndhwgc_gkzyxc_ndhwgk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/xdl/device_grouped_conv3d_bwd_data_xdl_ndhwgc_gkzyxc_ndhwgk_input_f16_comp_bf8_f8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/xdl/device_grouped_conv3d_bwd_data_xdl_ngcdhw_gkczyx_ngkdhw_bf16_16_16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/xdl/device_grouped_conv3d_bwd_data_xdl_ngcdhw_gkczyx_ngkdhw_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/xdl/device_grouped_conv3d_bwd_data_xdl_ngcdhw_gkczyx_ngkdhw_bf16_vec_transpose_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/xdl/device_grouped_conv3d_bwd_data_xdl_ngcdhw_gkczyx_ngkdhw_f16_16_16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/xdl/device_grouped_conv3d_bwd_data_xdl_ngcdhw_gkczyx_ngkdhw_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/xdl/device_grouped_conv3d_bwd_data_xdl_ngcdhw_gkczyx_ngkdhw_f16_vec_transpose_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/xdl/device_grouped_conv3d_bwd_data_xdl_ngcdhw_gkczyx_ngkdhw_f32_16_16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/xdl/device_grouped_conv3d_bwd_data_xdl_ngcdhw_gkczyx_ngkdhw_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/xdl/device_grouped_conv3d_bwd_data_xdl_ngcdhw_gkczyx_ngkdhw_f32_vec_transpose_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/xdl/device_grouped_conv3d_bwd_data_xdl_ngcdhw_gkzyxc_ngkdhw_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/xdl/device_grouped_conv3d_bwd_data_xdl_ngcdhw_gkzyxc_ngkdhw_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data/xdl/device_grouped_conv3d_bwd_data_xdl_ngcdhw_gkzyxc_ngkdhw_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data_bilinear/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data_bilinear/xdl/device_grouped_conv3d_bwd_data_xdl_bilinear_ndhwgc_gkzyxc_ndhwgk_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data_bilinear/xdl/device_grouped_conv3d_bwd_data_xdl_bilinear_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data_bilinear/xdl/device_grouped_conv3d_bwd_data_xdl_bilinear_ndhwgc_gkzyxc_ndhwgk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data_scale/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data_scale/xdl/device_grouped_conv3d_bwd_data_xdl_scale_ndhwgc_gkzyxc_ndhwgk_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data_scale/xdl/device_grouped_conv3d_bwd_data_xdl_scale_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_data_scale/xdl/device_grouped_conv3d_bwd_data_xdl_scale_ndhwgc_gkzyxc_ndhwgk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/dl/device_grouped_conv3d_bwd_weight_dl_gndhwc_gkzyxc_gndhwk_bf16_f32_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/dl/device_grouped_conv3d_bwd_weight_dl_gndhwc_gkzyxc_gndhwk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/dl/device_grouped_conv3d_bwd_weight_dl_gndhwc_gkzyxc_gndhwk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/dl/device_grouped_conv3d_bwd_weight_dl_ndhwgc_gkzyxc_ndhwgk_bf16_f32_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/dl/device_grouped_conv3d_bwd_weight_dl_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/dl/device_grouped_conv3d_bwd_weight_dl_ndhwgc_gkzyxc_ndhwgk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/wmma/device_grouped_conv3d_bwd_weight_wmma_gndhwc_gkzyxc_gndhwk_f16_1x1s1p0_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/wmma/device_grouped_conv3d_bwd_weight_wmma_gndhwc_gkzyxc_gndhwk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/wmma/device_grouped_conv3d_bwd_weight_wmma_gndhwc_gkzyxc_gndhwk_i8_1x1s1p0_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/wmma/device_grouped_conv3d_bwd_weight_wmma_gndhwc_gkzyxc_gndhwk_i8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/wmma/device_grouped_conv3d_bwd_weight_wmma_ndhwgc_gkzyxc_ndhwgk_f16_1x1s1p0_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/wmma/device_grouped_conv3d_bwd_weight_wmma_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/wmma/device_grouped_conv3d_bwd_weight_wmma_ndhwgc_gkzyxc_ndhwgk_i8_1x1s1p0_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/wmma/device_grouped_conv3d_bwd_weight_wmma_ndhwgc_gkzyxc_ndhwgk_i8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/gndhwc_gkzyxc_gndhwk/device_grouped_conv3d_bwd_weight_xdl_gndhwc_gkzyxc_gndhwk_bf16_f32_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/gndhwc_gkzyxc_gndhwk/device_grouped_conv3d_bwd_weight_xdl_gndhwc_gkzyxc_gndhwk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/gndhwc_gkzyxc_gndhwk/device_grouped_conv3d_bwd_weight_xdl_gndhwc_gkzyxc_gndhwk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ndhwgc_gkzyxc_ndhwgk/device_grouped_conv3d_bwd_weight_two_stage_xdl_ndhwgc_gkzyxc_ndhwgk_bf16_pipev1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ndhwgc_gkzyxc_ndhwgk/device_grouped_conv3d_bwd_weight_two_stage_xdl_ndhwgc_gkzyxc_ndhwgk_bf16_pipev2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ndhwgc_gkzyxc_ndhwgk/device_grouped_conv3d_bwd_weight_two_stage_xdl_ndhwgc_gkzyxc_ndhwgk_bf16_pipev2_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ndhwgc_gkzyxc_ndhwgk/device_grouped_conv3d_bwd_weight_two_stage_xdl_ndhwgc_gkzyxc_ndhwgk_bf16_pipev5_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ndhwgc_gkzyxc_ndhwgk/device_grouped_conv3d_bwd_weight_two_stage_xdl_ndhwgc_gkzyxc_ndhwgk_bf16_pipev5_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ndhwgc_gkzyxc_ndhwgk/device_grouped_conv3d_bwd_weight_two_stage_xdl_ndhwgc_gkzyxc_ndhwgk_f16_pipev1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ndhwgc_gkzyxc_ndhwgk/device_grouped_conv3d_bwd_weight_two_stage_xdl_ndhwgc_gkzyxc_ndhwgk_f16_pipev2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ndhwgc_gkzyxc_ndhwgk/device_grouped_conv3d_bwd_weight_two_stage_xdl_ndhwgc_gkzyxc_ndhwgk_f16_pipev2_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ndhwgc_gkzyxc_ndhwgk/device_grouped_conv3d_bwd_weight_two_stage_xdl_ndhwgc_gkzyxc_ndhwgk_f16_pipev5_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ndhwgc_gkzyxc_ndhwgk/device_grouped_conv3d_bwd_weight_two_stage_xdl_ndhwgc_gkzyxc_ndhwgk_f16_pipev5_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ndhwgc_gkzyxc_ndhwgk/device_grouped_conv3d_bwd_weight_xdl_ndhwgc_gkzyxc_ndhwgk_bf16_default_pipev2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ndhwgc_gkzyxc_ndhwgk/device_grouped_conv3d_bwd_weight_xdl_ndhwgc_gkzyxc_ndhwgk_bf16_default_pipev5_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ndhwgc_gkzyxc_ndhwgk/device_grouped_conv3d_bwd_weight_xdl_ndhwgc_gkzyxc_ndhwgk_bf16_f32_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ndhwgc_gkzyxc_ndhwgk/device_grouped_conv3d_bwd_weight_xdl_ndhwgc_gkzyxc_ndhwgk_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ndhwgc_gkzyxc_ndhwgk/device_grouped_conv3d_bwd_weight_xdl_ndhwgc_gkzyxc_ndhwgk_bf16_pad0_pipev2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ndhwgc_gkzyxc_ndhwgk/device_grouped_conv3d_bwd_weight_xdl_ndhwgc_gkzyxc_ndhwgk_bf16_pad0_pipev5_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ndhwgc_gkzyxc_ndhwgk/device_grouped_conv3d_bwd_weight_xdl_ndhwgc_gkzyxc_ndhwgk_f16_comp_bf8_fp8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ndhwgc_gkzyxc_ndhwgk/device_grouped_conv3d_bwd_weight_xdl_ndhwgc_gkzyxc_ndhwgk_f16_default_pipev2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ndhwgc_gkzyxc_ndhwgk/device_grouped_conv3d_bwd_weight_xdl_ndhwgc_gkzyxc_ndhwgk_f16_default_pipev5_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ndhwgc_gkzyxc_ndhwgk/device_grouped_conv3d_bwd_weight_xdl_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ndhwgc_gkzyxc_ndhwgk/device_grouped_conv3d_bwd_weight_xdl_ndhwgc_gkzyxc_ndhwgk_f16_pad0_pipev2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ndhwgc_gkzyxc_ndhwgk/device_grouped_conv3d_bwd_weight_xdl_ndhwgc_gkzyxc_ndhwgk_f16_pad0_pipev5_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ndhwgc_gkzyxc_ndhwgk/device_grouped_conv3d_bwd_weight_xdl_ndhwgc_gkzyxc_ndhwgk_f32_default_pipev2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ndhwgc_gkzyxc_ndhwgk/device_grouped_conv3d_bwd_weight_xdl_ndhwgc_gkzyxc_ndhwgk_f32_default_pipev5_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ndhwgc_gkzyxc_ndhwgk/device_grouped_conv3d_bwd_weight_xdl_ndhwgc_gkzyxc_ndhwgk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ndhwgc_gkzyxc_ndhwgk/device_grouped_conv3d_bwd_weight_xdl_ndhwgc_gkzyxc_ndhwgk_f32_pad0_pipev2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ndhwgc_gkzyxc_ndhwgk/device_grouped_conv3d_bwd_weight_xdl_ndhwgc_gkzyxc_ndhwgk_f32_pad0_pipev5_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ngcdhw_gkczyx_ngkdhw/device_grouped_conv3d_bwd_weight_two_stage_xdl_ngcdhw_gkczyx_ngkdhw_bf16_pipev1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ngcdhw_gkczyx_ngkdhw/device_grouped_conv3d_bwd_weight_two_stage_xdl_ngcdhw_gkczyx_ngkdhw_bf16_pipev2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ngcdhw_gkczyx_ngkdhw/device_grouped_conv3d_bwd_weight_two_stage_xdl_ngcdhw_gkczyx_ngkdhw_bf16_pipev5_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ngcdhw_gkczyx_ngkdhw/device_grouped_conv3d_bwd_weight_two_stage_xdl_ngcdhw_gkczyx_ngkdhw_f16_pipev1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ngcdhw_gkczyx_ngkdhw/device_grouped_conv3d_bwd_weight_two_stage_xdl_ngcdhw_gkczyx_ngkdhw_f16_pipev2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ngcdhw_gkczyx_ngkdhw/device_grouped_conv3d_bwd_weight_two_stage_xdl_ngcdhw_gkczyx_ngkdhw_f16_pipev5_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ngcdhw_gkczyx_ngkdhw/device_grouped_conv3d_bwd_weight_xdl_ngcdhw_gkczyx_ngkdhw_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ngcdhw_gkczyx_ngkdhw/device_grouped_conv3d_bwd_weight_xdl_ngcdhw_gkczyx_ngkdhw_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ngcdhw_gkczyx_ngkdhw/device_grouped_conv3d_bwd_weight_xdl_ngcdhw_gkczyx_ngkdhw_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ngcdhw_gkzyxc_ngkdhw/device_grouped_conv3d_bwd_weight_two_stage_xdl_ngcdhw_gkzyxc_ngkdhw_bf16_pipev1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ngcdhw_gkzyxc_ngkdhw/device_grouped_conv3d_bwd_weight_two_stage_xdl_ngcdhw_gkzyxc_ngkdhw_f16_pipev1_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight/xdl/ngcdhw_gkzyxc_ngkdhw/device_grouped_conv3d_bwd_weight_xdl_ngcdhw_gkzyxc_ngkdhw_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight_bilinear/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight_bilinear/xdl/device_grouped_conv3d_bwd_weight_xdl_bilinear_ndhwgc_gkzyxc_ndhwgk_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight_bilinear/xdl/device_grouped_conv3d_bwd_weight_xdl_bilinear_ndhwgc_gkzyxc_ndhwgk_f16_comp_bf8_fp8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight_bilinear/xdl/device_grouped_conv3d_bwd_weight_xdl_bilinear_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight_bilinear/xdl/device_grouped_conv3d_bwd_weight_xdl_bilinear_ndhwgc_gkzyxc_ndhwgk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight_scale/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight_scale/xdl/device_grouped_conv3d_bwd_weight_xdl_scale_ndhwgc_gkzyxc_ndhwgk_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight_scale/xdl/device_grouped_conv3d_bwd_weight_xdl_scale_ndhwgc_gkzyxc_ndhwgk_f16_comp_bf8_fp8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight_scale/xdl/device_grouped_conv3d_bwd_weight_xdl_scale_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_bwd_weight_scale/xdl/device_grouped_conv3d_bwd_weight_xdl_scale_ndhwgc_gkzyxc_ndhwgk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/wmma/device_grouped_conv3d_fwd_wmma_gndhwc_gkzyxc_gndhwk_f16_1x1p0_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/wmma/device_grouped_conv3d_fwd_wmma_gndhwc_gkzyxc_gndhwk_f16_1x1s1p0_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/wmma/device_grouped_conv3d_fwd_wmma_gndhwc_gkzyxc_gndhwk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/wmma/device_grouped_conv3d_fwd_wmma_gndhwc_gkzyxc_gndhwk_i8_1x1p0_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/wmma/device_grouped_conv3d_fwd_wmma_gndhwc_gkzyxc_gndhwk_i8_1x1s1p0_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/wmma/device_grouped_conv3d_fwd_wmma_gndhwc_gkzyxc_gndhwk_i8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/wmma/device_grouped_conv3d_fwd_wmma_ndhwgc_gkzyxc_ndhwgk_f16_1x1p0_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/wmma/device_grouped_conv3d_fwd_wmma_ndhwgc_gkzyxc_ndhwgk_f16_1x1s1p0_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/wmma/device_grouped_conv3d_fwd_wmma_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/wmma/device_grouped_conv3d_fwd_wmma_ndhwgc_gkzyxc_ndhwgk_i8_1x1p0_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/wmma/device_grouped_conv3d_fwd_wmma_ndhwgc_gkzyxc_ndhwgk_i8_1x1s1p0_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/wmma/device_grouped_conv3d_fwd_wmma_ndhwgc_gkzyxc_ndhwgk_i8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/comp/device_grouped_conv3d_fwd_xdl_ndhwgc_gkzyxc_ndhwgk_bf16_comp_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/comp/device_grouped_conv3d_fwd_xdl_ndhwgc_gkzyxc_ndhwgk_f16_comp_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/comp/device_grouped_conv3d_fwd_xdl_ndhwgc_gkzyxc_ndhwgk_f32_comp_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/comp/device_grouped_conv3d_fwd_xdl_ngcdhw_gkczyx_ngkdhw_bf16_comp_2x_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/comp/device_grouped_conv3d_fwd_xdl_ngcdhw_gkczyx_ngkdhw_bf16_comp_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/comp/device_grouped_conv3d_fwd_xdl_ngcdhw_gkczyx_ngkdhw_bf16_comp_part2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/comp/device_grouped_conv3d_fwd_xdl_ngcdhw_gkczyx_ngkdhw_f16_comp_2x_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/comp/device_grouped_conv3d_fwd_xdl_ngcdhw_gkczyx_ngkdhw_f16_comp_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/comp/device_grouped_conv3d_fwd_xdl_ngcdhw_gkczyx_ngkdhw_f16_comp_part2_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/comp/device_grouped_conv3d_fwd_xdl_ngcdhw_gkczyx_ngkdhw_f32_comp_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/device_grouped_conv3d_fwd_xdl_gndhwc_gkzyxc_gndhwk_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/device_grouped_conv3d_fwd_xdl_gndhwc_gkzyxc_gndhwk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/device_grouped_conv3d_fwd_xdl_gndhwc_gkzyxc_gndhwk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/device_grouped_conv3d_fwd_xdl_gndhwc_gkzyxc_gndhwk_int8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/device_grouped_conv3d_fwd_xdl_ndhwgc_gkzyxc_ndhwgk_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/device_grouped_conv3d_fwd_xdl_ndhwgc_gkzyxc_ndhwgk_bf8_fp8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/device_grouped_conv3d_fwd_xdl_ndhwgc_gkzyxc_ndhwgk_bf8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/device_grouped_conv3d_fwd_xdl_ndhwgc_gkzyxc_ndhwgk_f16_comp_fp8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/device_grouped_conv3d_fwd_xdl_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/device_grouped_conv3d_fwd_xdl_ndhwgc_gkzyxc_ndhwgk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/device_grouped_conv3d_fwd_xdl_ndhwgc_gkzyxc_ndhwgk_fp8_bf8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/device_grouped_conv3d_fwd_xdl_ndhwgc_gkzyxc_ndhwgk_fp8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/device_grouped_conv3d_fwd_xdl_ndhwgc_gkzyxc_ndhwgk_int8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/device_grouped_conv3d_fwd_xdl_ngcdhw_gkczyx_ngkdhw_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/device_grouped_conv3d_fwd_xdl_ngcdhw_gkczyx_ngkdhw_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/device_grouped_conv3d_fwd_xdl_ngcdhw_gkczyx_ngkdhw_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/large_tensor/device_grouped_conv3d_fwd_xdl_large_tensor_ndhwgc_gkzyxc_ndhwgk_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/large_tensor/device_grouped_conv3d_fwd_xdl_large_tensor_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/large_tensor/device_grouped_conv3d_fwd_xdl_large_tensor_ndhwgc_gkzyxc_ndhwgk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/mem/device_grouped_conv3d_fwd_xdl_ndhwgc_gkzyxc_ndhwgk_bf16_mem_inter_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/mem/device_grouped_conv3d_fwd_xdl_ndhwgc_gkzyxc_ndhwgk_bf16_mem_intra_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/mem/device_grouped_conv3d_fwd_xdl_ndhwgc_gkzyxc_ndhwgk_f16_mem_inter_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/mem/device_grouped_conv3d_fwd_xdl_ndhwgc_gkzyxc_ndhwgk_f16_mem_intra_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/mem/device_grouped_conv3d_fwd_xdl_ndhwgc_gkzyxc_ndhwgk_f32_mem_inter_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/mem/device_grouped_conv3d_fwd_xdl_ndhwgc_gkzyxc_ndhwgk_f32_mem_intra_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/mem/device_grouped_conv3d_fwd_xdl_ngcdhw_gkczyx_ngkdhw_bf16_mem_inter_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/mem/device_grouped_conv3d_fwd_xdl_ngcdhw_gkczyx_ngkdhw_bf16_mem_intra_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/mem/device_grouped_conv3d_fwd_xdl_ngcdhw_gkczyx_ngkdhw_f16_mem_inter_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/mem/device_grouped_conv3d_fwd_xdl_ngcdhw_gkczyx_ngkdhw_f16_mem_intra_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/mem/device_grouped_conv3d_fwd_xdl_ngcdhw_gkczyx_ngkdhw_f32_mem_inter_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/mem/device_grouped_conv3d_fwd_xdl_ngcdhw_gkczyx_ngkdhw_f32_mem_intra_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/merged_groups/device_grouped_conv3d_fwd_xdl_merged_groups_ndhwgc_gkzyxc_ndhwgk_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/merged_groups/device_grouped_conv3d_fwd_xdl_merged_groups_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/merged_groups/device_grouped_conv3d_fwd_xdl_merged_groups_ndhwgc_gkzyxc_ndhwgk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/merged_groups/device_grouped_conv3d_fwd_xdl_merged_groups_ngcdhw_gkczyx_ngkdhw_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/merged_groups/device_grouped_conv3d_fwd_xdl_merged_groups_ngcdhw_gkczyx_ngkdhw_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd/xdl/merged_groups/device_grouped_conv3d_fwd_xdl_merged_groups_ngcdhw_gkczyx_ngkdhw_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_bilinear/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_bilinear/xdl/device_grouped_conv3d_fwd_xdl_bilinear_ndhwgc_gkzyxc_ndhwgk_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_bilinear/xdl/device_grouped_conv3d_fwd_xdl_bilinear_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_bilinear/xdl/device_grouped_conv3d_fwd_xdl_bilinear_ndhwgc_gkzyxc_ndhwgk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_bilinear/xdl/device_grouped_conv3d_fwd_xdl_bilinear_ndhwgc_gkzyxc_ndhwgk_int8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_convinvscale/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_convinvscale/xdl/device_grouped_conv3d_fwd_xdl_convinvscale_ndhwgc_gkzyxc_ndhwgk_f8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_convscale/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_convscale/xdl/device_grouped_conv3d_fwd_xdl_combconvscale_ndhwgc_gkzyxc_ndhwgk_f8_f8_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_convscale/xdl/device_grouped_conv3d_fwd_xdl_convscale_ndhwgc_gkzyxc_ndhwgk_bf8_f8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_convscale/xdl/device_grouped_conv3d_fwd_xdl_convscale_ndhwgc_gkzyxc_ndhwgk_bf8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_convscale/xdl/device_grouped_conv3d_fwd_xdl_convscale_ndhwgc_gkzyxc_ndhwgk_f8_bf8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_convscale/xdl/device_grouped_conv3d_fwd_xdl_convscale_ndhwgc_gkzyxc_ndhwgk_f8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_convscale_add/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_convscale_add/xdl/device_grouped_conv3d_fwd_xdl_convscale_add_ndhwgc_gkzyxc_ndhwgk_f8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_convscale_relu/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_convscale_relu/xdl/device_grouped_conv3d_fwd_xdl_combconvscale_relu_ndhwgc_gkzyxc_ndhwgk_f8_f8_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_convscale_relu/xdl/device_grouped_conv3d_fwd_xdl_convscale_relu_ndhwgc_gkzyxc_ndhwgk_f8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_dynamic_op/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_dynamic_op/xdl/device_grouped_conv3d_fwd_xdl_dynamic_op_ndhwgc_gkzyxc_ndhwgk_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_dynamic_op/xdl/device_grouped_conv3d_fwd_xdl_dynamic_op_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_dynamic_op/xdl/device_grouped_conv3d_fwd_xdl_dynamic_op_ndhwgc_gkzyxc_ndhwgk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_dynamic_op/xdl/device_grouped_conv3d_fwd_xdl_dynamic_op_ndhwgc_gkzyxc_ndhwgk_int8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_scale/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_scale/xdl/device_grouped_conv3d_fwd_xdl_scale_ndhwgc_gkzyxc_ndhwgk_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_scale/xdl/device_grouped_conv3d_fwd_xdl_scale_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_scale/xdl/device_grouped_conv3d_fwd_xdl_scale_ndhwgc_gkzyxc_ndhwgk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_scale/xdl/device_grouped_conv3d_fwd_xdl_scale_ndhwgc_gkzyxc_ndhwgk_int8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_scaleadd_ab/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_scaleadd_ab/xdl/device_grouped_conv3d_fwd_xdl_scaleadd_ab_ndhwgc_gkzyxc_ndhwgk_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_scaleadd_ab/xdl/device_grouped_conv3d_fwd_xdl_scaleadd_ab_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_scaleadd_ab/xdl/device_grouped_conv3d_fwd_xdl_scaleadd_ab_ndhwgc_gkzyxc_ndhwgk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_scaleadd_ab/xdl/device_grouped_conv3d_fwd_xdl_scaleadd_ab_ndhwgc_gkzyxc_ndhwgk_int8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_scaleadd_scaleadd_relu/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_scaleadd_scaleadd_relu/xdl/device_grouped_conv3d_fwd_xdl_scaleadd_scaleadd_relu_ndhwgc_gkzyxc_ndhwgk_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_scaleadd_scaleadd_relu/xdl/device_grouped_conv3d_fwd_xdl_scaleadd_scaleadd_relu_ndhwgc_gkzyxc_ndhwgk_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_scaleadd_scaleadd_relu/xdl/device_grouped_conv3d_fwd_xdl_scaleadd_scaleadd_relu_ndhwgc_gkzyxc_ndhwgk_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_conv3d_fwd_scaleadd_scaleadd_relu/xdl/device_grouped_conv3d_fwd_xdl_scaleadd_scaleadd_relu_ndhwgc_gkzyxc_ndhwgk_int8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm/device_grouped_gemm_multiple_d_splitk_xdl_two_stage_bf16_bf16_bf16_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm/device_grouped_gemm_multiple_d_splitk_xdl_two_stage_bf16_bf16_bf16_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm/device_grouped_gemm_multiple_d_splitk_xdl_two_stage_bf16_i8_bf16_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm/device_grouped_gemm_multiple_d_splitk_xdl_two_stage_bf16_i8_bf16_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm/device_grouped_gemm_multiple_d_splitk_xdl_two_stage_f16_f16_f16_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm/device_grouped_gemm_xdl_f16_f16_f16_km_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm/device_grouped_gemm_xdl_f16_f16_f16_km_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm/device_grouped_gemm_xdl_f16_f16_f16_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm/device_grouped_gemm_xdl_f16_f16_f16_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm/device_grouped_gemm_xdl_splitk_bf16_bf16_bf16_km_kn_mn_irregular_pv1.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm/device_grouped_gemm_xdl_splitk_bf16_bf16_bf16_km_kn_mn_irregular_pv1_inter.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm/device_grouped_gemm_xdl_splitk_bf16_bf16_bf16_km_kn_mn_irregular_pv2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm/device_grouped_gemm_xdl_splitk_bf16_bf16_bf16_mk_kn_mn_irregular_pv1.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm/device_grouped_gemm_xdl_splitk_bf16_bf16_bf16_mk_kn_mn_irregular_pv1_inter.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm/device_grouped_gemm_xdl_splitk_bf16_bf16_bf16_mk_kn_mn_irregular_pv2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm/device_grouped_gemm_xdl_splitk_bf16_bf16_bf16_mk_nk_mn_irregular_pv1.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm/device_grouped_gemm_xdl_splitk_bf16_bf16_bf16_mk_nk_mn_irregular_pv1_inter.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm/device_grouped_gemm_xdl_splitk_bf16_bf16_bf16_mk_nk_mn_irregular_pv2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm/device_grouped_gemm_xdl_splitk_f16_f16_f16_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm/device_grouped_gemm_xdl_splitk_f16_f16_f16_mk_kn_mn_irregular_pv1.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm/device_grouped_gemm_xdl_splitk_f16_f16_f16_mk_kn_mn_irregular_pv1_inter.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm/device_grouped_gemm_xdl_splitk_f16_f16_f16_mk_kn_mn_irregular_pv2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm/device_grouped_gemm_xdl_splitk_f16_f16_f16_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm/device_grouped_gemm_xdl_splitk_f16_f16_f16_mk_nk_mn_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm/device_grouped_gemm_xdl_splitk_f16_f8_f16_mk_kn_mn_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm/device_grouped_gemm_xdl_splitk_f8_f16_f16_mk_kn_mn_irregular_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_bias/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_bias/device_grouped_gemm_xdl_fixed_nk_bias_f16_f16_f16_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_bias/device_grouped_gemm_xdl_fixed_nk_bias_f16_f16_f16_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_bias/device_grouped_gemm_xdl_fixed_nk_bias_f16_f16_f32_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_bias/device_grouped_gemm_xdl_fixed_nk_bias_f16_f16_f32_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_fastgelu/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_fastgelu/device_grouped_gemm_fastgelu_xdl_f16_f16_f16_km_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_fastgelu/device_grouped_gemm_fastgelu_xdl_f16_f16_f16_km_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_fastgelu/device_grouped_gemm_fastgelu_xdl_f16_f16_f16_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_fastgelu/device_grouped_gemm_fastgelu_xdl_f16_f16_f16_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_fixed_nk/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_fixed_nk/device_grouped_gemm_xdl_fixed_nk_bf16_bf16_bf16_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_fixed_nk/device_grouped_gemm_xdl_fixed_nk_bf16_bf16_bf16_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_fixed_nk/device_grouped_gemm_xdl_fixed_nk_bf16_i8_bf16_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_fixed_nk/device_grouped_gemm_xdl_fixed_nk_bf16_i8_bf16_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_fixed_nk/device_grouped_gemm_xdl_fixed_nk_f16_f16_f16_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_fixed_nk/device_grouped_gemm_xdl_fixed_nk_f16_f16_f16_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_fixed_nk/device_grouped_gemm_xdl_fixed_nk_f16_fp8_f16_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_fixed_nk/device_grouped_gemm_xdl_fixed_nk_f16_fp8_f16_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_fixed_nk/device_grouped_gemm_xdl_fixed_nk_f16_i8_f16_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_fixed_nk/device_grouped_gemm_xdl_fixed_nk_f16_i8_f16_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_fixed_nk_multi_abd/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_fixed_nk_multi_abd/device_grouped_gemm_xdl_fixed_nk_bf16_i8_bf16_km_kn_mn_common.hpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_fixed_nk_multi_abd/device_grouped_gemm_xdl_fixed_nk_bf16_i8_bf16_mk_kn_mn_common.hpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_fixed_nk_multi_abd/device_grouped_gemm_xdl_fixed_nk_bf16_i8_bf16_mk_nk_mn_common.hpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_fixed_nk_multi_abd/device_grouped_gemm_xdl_fixed_nk_bias_gelu_bf16_i8_bf16_km_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_fixed_nk_multi_abd/device_grouped_gemm_xdl_fixed_nk_bias_gelu_bf16_i8_bf16_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_fixed_nk_multi_abd/device_grouped_gemm_xdl_fixed_nk_bias_gelu_bf16_i8_bf16_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_tile_loop/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_tile_loop/device_grouped_gemm_xdl_tile_loop_f16_f16_f16_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_tile_loop/device_grouped_gemm_xdl_tile_loop_f16_f16_f16_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_tile_loop/device_grouped_gemm_xdl_tile_loop_multiply_bf16_i8_bf16_mk_kn_mn.hpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_tile_loop/device_grouped_gemm_xdl_tile_loop_multiply_bf16_i8_bf16_mk_kn_mn_comp_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_tile_loop/device_grouped_gemm_xdl_tile_loop_multiply_bf16_i8_bf16_mk_kn_mn_comp_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_tile_loop/device_grouped_gemm_xdl_tile_loop_multiply_bf16_i8_bf16_mk_kn_mn_comp_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_tile_loop/device_grouped_gemm_xdl_tile_loop_multiply_bf16_i8_bf16_mk_kn_mn_comp_mnpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_tile_loop/device_grouped_gemm_xdl_tile_loop_multiply_bf16_i8_bf16_mk_kn_mn_mem_v1_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_tile_loop/device_grouped_gemm_xdl_tile_loop_multiply_bf16_i8_bf16_mk_kn_mn_mem_v1_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_tile_loop/device_grouped_gemm_xdl_tile_loop_multiply_bf16_i8_bf16_mk_kn_mn_mem_v1_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_tile_loop/device_grouped_gemm_xdl_tile_loop_multiply_bf16_i8_bf16_mk_kn_mn_mem_v1_mnpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_tile_loop/device_grouped_gemm_xdl_tile_loop_multiply_bf16_i8_bf16_mk_kn_mn_mem_v2_default_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_tile_loop/device_grouped_gemm_xdl_tile_loop_multiply_bf16_i8_bf16_mk_kn_mn_mem_v2_kpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_tile_loop/device_grouped_gemm_xdl_tile_loop_multiply_bf16_i8_bf16_mk_kn_mn_mem_v2_mnkpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_tile_loop/device_grouped_gemm_xdl_tile_loop_multiply_bf16_i8_bf16_mk_kn_mn_mem_v2_mnpadding_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_tile_loop/device_grouped_gemm_xdl_tile_loop_multiply_bias_bf16_i8_bf16_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_tile_loop/device_grouped_gemm_xdl_tile_loop_multiply_bias_fastgelu_bf16_i8_bf16_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/grouped_gemm_tile_loop/device_grouped_gemm_xdl_tile_loop_multiply_fastgelu_bf16_i8_bf16_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/image_to_column/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/image_to_column/device_image_to_column_gndhwc_3d_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/image_to_column/device_image_to_column_gnhwc_2d_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/image_to_column/device_image_to_column_gnwc_1d_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/image_to_column/device_image_to_column_ndhwgc_3d_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/image_to_column/device_image_to_column_nhwgc_2d_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/image_to_column/device_image_to_column_nwgc_1d_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/max_pool_bwd/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/max_pool_bwd/device_max_pool_bwd_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/max_pool_bwd/device_max_pool_bwd_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/max_pool_bwd/device_max_pool_bwd_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/max_pool_bwd/device_max_pool_bwd_f8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/max_pool_bwd/device_max_pool_bwd_int8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/max_pool_bwd/max_pool_bwd_instance_common.hpp create mode 100644 library/src/tensor_operation_instance/gpu/mha/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/normalization_bwd_data/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/normalization_bwd_data/device_groupnorm_bwd_data_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/normalization_bwd_data/device_layernorm2d_bwd_data_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/normalization_bwd_data/device_layernorm2d_bwd_data_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/normalization_bwd_data/normalization_bwd_data_instance_common.hpp create mode 100644 library/src/tensor_operation_instance/gpu/normalization_bwd_gamma_beta/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/normalization_bwd_gamma_beta/device_groupnorm_bwd_gamma_beta_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/normalization_bwd_gamma_beta/device_layernorm2d_bwd_gamma_beta_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/normalization_bwd_gamma_beta/device_layernorm2d_bwd_gamma_beta_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/normalization_bwd_gamma_beta/normalization_bwd_gamma_beta_instance_common.hpp create mode 100644 library/src/tensor_operation_instance/gpu/normalization_fwd/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/normalization_fwd/device_groupnorm_fwd_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/normalization_fwd/device_groupnorm_fwd_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/normalization_fwd/device_groupnorm_fwd_swish_f16_f32_f32_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/normalization_fwd/device_groupnorm_fwd_swish_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/normalization_fwd/device_groupnorm_fwd_swish_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/normalization_fwd/device_layernorm2d_fwd_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/normalization_fwd/device_layernorm2d_fwd_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/normalization_fwd/device_layernorm4d_fwd_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/normalization_fwd/device_layernorm4d_fwd_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/normalization_fwd/normalization_fwd_instance_common.hpp create mode 100644 library/src/tensor_operation_instance/gpu/permute_scale/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/permute_scale/device_permute_scale_1d_fp16_instances.cpp create mode 100644 library/src/tensor_operation_instance/gpu/permute_scale/device_permute_scale_1d_fp32_instances.cpp create mode 100644 library/src/tensor_operation_instance/gpu/permute_scale/device_permute_scale_2d_fp16_instances.cpp create mode 100644 library/src/tensor_operation_instance/gpu/permute_scale/device_permute_scale_2d_fp32_instances.cpp create mode 100644 library/src/tensor_operation_instance/gpu/permute_scale/device_permute_scale_3d_fp16_instances.cpp create mode 100644 library/src/tensor_operation_instance/gpu/permute_scale/device_permute_scale_3d_fp32_instances.cpp create mode 100644 library/src/tensor_operation_instance/gpu/permute_scale/device_permute_scale_4d_fp16_instances.cpp create mode 100644 library/src/tensor_operation_instance/gpu/permute_scale/device_permute_scale_4d_fp32_instances.cpp create mode 100644 library/src/tensor_operation_instance/gpu/permute_scale/device_permute_scale_5d_fp16_instances.cpp create mode 100644 library/src/tensor_operation_instance/gpu/permute_scale/device_permute_scale_5d_fp32_instances.cpp create mode 100644 library/src/tensor_operation_instance/gpu/permute_scale/device_permute_scale_6d_fp16_instances.cpp create mode 100644 library/src/tensor_operation_instance/gpu/permute_scale/device_permute_scale_6d_fp32_fp8_instances.cpp create mode 100644 library/src/tensor_operation_instance/gpu/permute_scale/device_permute_scale_6d_fp32_instances.cpp create mode 100644 library/src/tensor_operation_instance/gpu/pool2d_fwd/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/pool2d_fwd/device_avg_pool2d_fwd_nhwc_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/pool2d_fwd/device_avg_pool2d_fwd_nhwc_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/pool2d_fwd/device_avg_pool2d_fwd_nhwc_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/pool2d_fwd/device_avg_pool2d_fwd_nhwc_f8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/pool2d_fwd/device_avg_pool2d_fwd_nhwc_i8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/pool2d_fwd/device_max_pool2d_fwd_nhwc_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/pool2d_fwd/device_max_pool2d_fwd_nhwc_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/pool2d_fwd/device_max_pool2d_fwd_nhwc_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/pool2d_fwd/device_max_pool2d_fwd_nhwc_f8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/pool2d_fwd/device_max_pool2d_fwd_nhwc_i8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/pool2d_fwd/pool2d_fwd_instance_common.hpp create mode 100644 library/src/tensor_operation_instance/gpu/pool3d_fwd/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/pool3d_fwd/device_avg_pool3d_fwd_ndhwc_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/pool3d_fwd/device_avg_pool3d_fwd_ndhwc_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/pool3d_fwd/device_avg_pool3d_fwd_ndhwc_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/pool3d_fwd/device_avg_pool3d_fwd_ndhwc_f8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/pool3d_fwd/device_avg_pool3d_fwd_ndhwc_i8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/pool3d_fwd/device_max_pool3d_fwd_ndhwc_bf16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/pool3d_fwd/device_max_pool3d_fwd_ndhwc_f16_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/pool3d_fwd/device_max_pool3d_fwd_ndhwc_f32_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/pool3d_fwd/device_max_pool3d_fwd_ndhwc_f8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/pool3d_fwd/device_max_pool3d_fwd_ndhwc_i8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/pool3d_fwd/pool_fwd_instance_common.hpp create mode 100644 library/src/tensor_operation_instance/gpu/quantization/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/quantization/conv2d_fwd/conv2d_quantization_common.hpp create mode 100644 library/src/tensor_operation_instance/gpu/quantization/conv2d_fwd/device_conv2d_dl_bias_perchannel_quantization_int8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/quantization/conv2d_fwd/device_conv2d_dl_bias_perlayer_quantization_int8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/quantization/conv2d_fwd/device_conv2d_dl_int8_instance.hpp create mode 100644 library/src/tensor_operation_instance/gpu/quantization/conv2d_fwd/device_conv2d_dl_perchannel_quantization_int8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/quantization/conv2d_fwd/device_conv2d_dl_perlayer_quantization_int8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/quantization/conv2d_fwd/device_conv2d_xdl_bias_perchannel_quantization_int8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/quantization/conv2d_fwd/device_conv2d_xdl_bias_perlayer_quantization_int8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/quantization/conv2d_fwd/device_conv2d_xdl_int8_instance.hpp create mode 100644 library/src/tensor_operation_instance/gpu/quantization/conv2d_fwd/device_conv2d_xdl_perchannel_quantization_int8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/quantization/conv2d_fwd/device_conv2d_xdl_perlayer_quantization_int8_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/quantization/gemm/device_gemm_quantization_dl_c_shuffle_i8_i8_i8_instance.hpp create mode 100644 library/src/tensor_operation_instance/gpu/quantization/gemm/device_gemm_quantization_dl_c_shuffle_i8_i8_i8_km_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/quantization/gemm/device_gemm_quantization_dl_c_shuffle_i8_i8_i8_km_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/quantization/gemm/device_gemm_quantization_dl_c_shuffle_i8_i8_i8_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/quantization/gemm/device_gemm_quantization_dl_c_shuffle_i8_i8_i8_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/quantization/gemm/device_gemm_quantization_xdl_c_shuffle_i8_i8_i8_instance.hpp create mode 100644 library/src/tensor_operation_instance/gpu/quantization/gemm/device_gemm_quantization_xdl_c_shuffle_i8_i8_i8_km_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/quantization/gemm/device_gemm_quantization_xdl_c_shuffle_i8_i8_i8_km_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/quantization/gemm/device_gemm_quantization_xdl_c_shuffle_i8_i8_i8_mk_kn_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/quantization/gemm/device_gemm_quantization_xdl_c_shuffle_i8_i8_i8_mk_nk_mn_instance.cpp create mode 100644 library/src/tensor_operation_instance/gpu/quantization/gemm/gemm_quantization_common.hpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_b16_f32_b16_add.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_b16_f32_b16_amax.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_b16_f32_b16_avg.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_b16_f32_b16_max.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_b16_f32_b16_min.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_b16_f32_b16_norm2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f16_f16_f16_amax.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f16_f16_f16_max.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f16_f16_f16_min.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f16_f32_f16_add.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f16_f32_f16_avg.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f16_f32_f16_norm2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f32_f32_f32_add.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f32_f32_f32_amax.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f32_f32_f32_avg.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f32_f32_f32_max.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f32_f32_f32_min.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f32_f32_f32_norm2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f32_f64_f32_add.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f32_f64_f32_avg.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f32_f64_f32_norm2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f64_f64_f64_add.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f64_f64_f64_amax.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f64_f64_f64_avg.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f64_f64_f64_max.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f64_f64_f64_min.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_f64_f64_f64_norm2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_i8_i32_i8_add.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_i8_i32_i8_avg.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_i8_i8_i8_amax.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_i8_i8_i8_max.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_blockwise_i8_i8_i8_min.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_multiblock_atomic_add_b16_f32_f32_add.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_multiblock_atomic_add_b16_f32_f32_avg.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_multiblock_atomic_add_f16_f32_f32_add.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_multiblock_atomic_add_f16_f32_f32_avg.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_multiblock_atomic_add_f32_f32_f32_add.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_multiblock_atomic_add_f32_f32_f32_avg.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_multiblock_atomic_add_f32_f64_f32_add.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_multiblock_atomic_add_f32_f64_f32_avg.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_multiblock_atomic_add_f64_f64_f64_add.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_multiblock_atomic_add_f64_f64_f64_avg.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_b16_f32_b16_add.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_b16_f32_b16_amax.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_b16_f32_b16_avg.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_b16_f32_b16_max.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_b16_f32_b16_min.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_b16_f32_b16_norm2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f16_f16_f16_amax.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f16_f16_f16_max.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f16_f16_f16_min.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f16_f32_f16_add.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f16_f32_f16_avg.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f16_f32_f16_norm2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f32_f32_f32_add.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f32_f32_f32_amax.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f32_f32_f32_avg.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f32_f32_f32_max.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f32_f32_f32_min.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f32_f32_f32_norm2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f32_f64_f32_add.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f32_f64_f32_avg.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f32_f64_f32_norm2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f64_f64_f64_add.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f64_f64_f64_amax.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f64_f64_f64_avg.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f64_f64_f64_max.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f64_f64_f64_min.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_f64_f64_f64_norm2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_i8_i32_i8_add.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_i8_i32_i8_avg.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_i8_i8_i8_amax.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_i8_i8_i8_max.cpp create mode 100644 library/src/tensor_operation_instance/gpu/reduce/device_reduce_instance_threadwise_i8_i8_i8_min.cpp create mode 100644 library/src/tensor_operation_instance/gpu/softmax/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/softmax/device_softmax_f16_f16_instance_rank3_reduce1.cpp create mode 100644 library/src/tensor_operation_instance/gpu/softmax/device_softmax_f16_f16_instance_rank3_reduce2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/softmax/device_softmax_f16_f16_instance_rank3_reduce3.cpp create mode 100644 library/src/tensor_operation_instance/gpu/softmax/device_softmax_f16_f16_instance_rank4_reduce1.cpp create mode 100644 library/src/tensor_operation_instance/gpu/softmax/device_softmax_f16_f16_instance_rank4_reduce2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/softmax/device_softmax_f16_f16_instance_rank4_reduce3.cpp create mode 100644 library/src/tensor_operation_instance/gpu/softmax/device_softmax_f16_f16_instance_rank4_reduce4.cpp create mode 100644 library/src/tensor_operation_instance/gpu/softmax/device_softmax_f32_f32_instance_rank3_reduce1.cpp create mode 100644 library/src/tensor_operation_instance/gpu/softmax/device_softmax_f32_f32_instance_rank3_reduce2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/softmax/device_softmax_f32_f32_instance_rank3_reduce3.cpp create mode 100644 library/src/tensor_operation_instance/gpu/softmax/device_softmax_f32_f32_instance_rank4_reduce1.cpp create mode 100644 library/src/tensor_operation_instance/gpu/softmax/device_softmax_f32_f32_instance_rank4_reduce2.cpp create mode 100644 library/src/tensor_operation_instance/gpu/softmax/device_softmax_f32_f32_instance_rank4_reduce3.cpp create mode 100644 library/src/tensor_operation_instance/gpu/softmax/device_softmax_f32_f32_instance_rank4_reduce4.cpp create mode 100644 library/src/tensor_operation_instance/gpu/transpose/CMakeLists.txt create mode 100644 library/src/tensor_operation_instance/gpu/transpose/device_transpose_instances_3d.cpp create mode 100644 library/src/utility/CMakeLists.txt create mode 100644 library/src/utility/convolution_parameter.cpp create mode 100644 library/src/utility/device_memory.cpp create mode 100644 library/src/utility/host_tensor.cpp create mode 100644 profiler/CMakeLists.txt create mode 100644 profiler/README.md create mode 100644 profiler/include/profiler/data_type_enum.hpp create mode 100644 profiler/include/profiler/profile_avg_pool2d_bwd_impl.hpp create mode 100644 profiler/include/profiler/profile_avg_pool3d_bwd_impl.hpp create mode 100644 profiler/include/profiler/profile_batched_gemm_add_relu_gemm_add_impl.hpp create mode 100644 profiler/include/profiler/profile_batched_gemm_b_scale_impl.hpp create mode 100644 profiler/include/profiler/profile_batched_gemm_bias_softmax_gemm_permute_impl.hpp create mode 100644 profiler/include/profiler/profile_batched_gemm_gemm_impl.hpp create mode 100644 profiler/include/profiler/profile_batched_gemm_impl.hpp create mode 100644 profiler/include/profiler/profile_batched_gemm_reduce_impl.hpp create mode 100644 profiler/include/profiler/profile_batched_gemm_softmax_gemm_impl.hpp create mode 100644 profiler/include/profiler/profile_batched_gemm_softmax_gemm_permute_impl.hpp create mode 100644 profiler/include/profiler/profile_batchnorm_backward_impl.hpp create mode 100644 profiler/include/profiler/profile_batchnorm_forward_impl.hpp create mode 100644 profiler/include/profiler/profile_batchnorm_infer_impl.hpp create mode 100644 profiler/include/profiler/profile_contraction_impl.hpp create mode 100644 profiler/include/profiler/profile_contraction_utils.hpp create mode 100644 profiler/include/profiler/profile_conv_bwd_data_impl.hpp create mode 100644 profiler/include/profiler/profile_conv_fwd_bias_relu_add_impl.hpp create mode 100644 profiler/include/profiler/profile_conv_fwd_bias_relu_impl.hpp create mode 100644 profiler/include/profiler/profile_conv_fwd_impl.hpp create mode 100644 profiler/include/profiler/profile_conv_tensor_rearrange_impl.hpp create mode 100644 profiler/include/profiler/profile_elementwise_layernorm_impl.hpp create mode 100644 profiler/include/profiler/profile_gemm_ab_scale_impl.hpp create mode 100644 profiler/include/profiler/profile_gemm_add_add_fastgelu_impl.hpp create mode 100644 profiler/include/profiler/profile_gemm_add_fastgelu_impl.hpp create mode 100644 profiler/include/profiler/profile_gemm_add_impl.hpp create mode 100644 profiler/include/profiler/profile_gemm_add_multiply_impl.hpp create mode 100644 profiler/include/profiler/profile_gemm_add_relu_add_layernorm_impl.hpp create mode 100644 profiler/include/profiler/profile_gemm_add_relu_impl.hpp create mode 100644 profiler/include/profiler/profile_gemm_add_silu_impl.hpp create mode 100644 profiler/include/profiler/profile_gemm_b_scale_impl.hpp create mode 100644 profiler/include/profiler/profile_gemm_bias_add_reduce_impl.hpp create mode 100644 profiler/include/profiler/profile_gemm_bilinear_impl.hpp create mode 100644 profiler/include/profiler/profile_gemm_fastgelu_impl.hpp create mode 100644 profiler/include/profiler/profile_gemm_impl.hpp create mode 100644 profiler/include/profiler/profile_gemm_multiply_add_impl.hpp create mode 100644 profiler/include/profiler/profile_gemm_multiply_multiply_impl.hpp create mode 100644 profiler/include/profiler/profile_gemm_multiply_multiply_wp_impl.hpp create mode 100644 profiler/include/profiler/profile_gemm_reduce_impl.hpp create mode 100644 profiler/include/profiler/profile_gemm_splitk_impl.hpp create mode 100644 profiler/include/profiler/profile_gemm_streamk_impl.hpp create mode 100644 profiler/include/profiler/profile_gemm_universal_batched_impl.hpp create mode 100644 profiler/include/profiler/profile_gemm_universal_impl.hpp create mode 100644 profiler/include/profiler/profile_gemm_universal_reduce_impl.hpp create mode 100755 profiler/include/profiler/profile_gemm_universal_streamk_impl.hpp create mode 100644 profiler/include/profiler/profile_grouped_conv_bwd_data_impl.hpp create mode 100644 profiler/include/profiler/profile_grouped_conv_bwd_weight_impl.hpp create mode 100644 profiler/include/profiler/profile_grouped_conv_fwd_impl.hpp create mode 100644 profiler/include/profiler/profile_grouped_conv_fwd_outelementop_impl.hpp create mode 100644 profiler/include/profiler/profile_grouped_gemm_fastgelu_impl.hpp create mode 100644 profiler/include/profiler/profile_grouped_gemm_fixed_nk_impl.hpp create mode 100644 profiler/include/profiler/profile_grouped_gemm_impl.hpp create mode 100644 profiler/include/profiler/profile_grouped_gemm_multiply_tile_loop_impl.hpp create mode 100644 profiler/include/profiler/profile_grouped_gemm_tile_loop_impl.hpp create mode 100644 profiler/include/profiler/profile_groupnorm_bwd_data_impl.hpp create mode 100644 profiler/include/profiler/profile_groupnorm_bwd_gamma_beta_impl.hpp create mode 100644 profiler/include/profiler/profile_groupnorm_fwd_impl.hpp create mode 100644 profiler/include/profiler/profile_layernorm_bwd_data_impl.hpp create mode 100644 profiler/include/profiler/profile_layernorm_bwd_gamma_beta_impl.hpp create mode 100644 profiler/include/profiler/profile_layernorm_fwd_impl.hpp create mode 100644 profiler/include/profiler/profile_max_pool2d_bwd_impl.hpp create mode 100644 profiler/include/profiler/profile_max_pool3d_bwd_impl.hpp create mode 100644 profiler/include/profiler/profile_permute_scale_impl.hpp create mode 100644 profiler/include/profiler/profile_pool2d_fwd_impl.hpp create mode 100644 profiler/include/profiler/profile_pool3d_fwd_impl.hpp create mode 100644 profiler/include/profiler/profile_reduce_impl.hpp create mode 100644 profiler/include/profiler/profile_softmax_impl.hpp create mode 100644 profiler/include/profiler/profile_transpose_impl.hpp create mode 100644 profiler/src/CMakeLists.txt create mode 100644 profiler/src/profile_avg_pool2d_bwd.cpp create mode 100644 profiler/src/profile_avg_pool3d_bwd.cpp create mode 100644 profiler/src/profile_batched_gemm.cpp create mode 100644 profiler/src/profile_batched_gemm_add_relu_gemm_add.cpp create mode 100644 profiler/src/profile_batched_gemm_b_scale.cpp create mode 100644 profiler/src/profile_batched_gemm_gemm.cpp create mode 100644 profiler/src/profile_batched_gemm_multi_d.cpp create mode 100644 profiler/src/profile_batched_gemm_reduce.cpp create mode 100644 profiler/src/profile_batchnorm_bwd.cpp create mode 100644 profiler/src/profile_batchnorm_fwd.cpp create mode 100644 profiler/src/profile_batchnorm_infer.cpp create mode 100644 profiler/src/profile_contraction_bilinear.cpp create mode 100644 profiler/src/profile_contraction_scale.cpp create mode 100644 profiler/src/profile_conv_bwd_data.cpp create mode 100644 profiler/src/profile_conv_fwd.cpp create mode 100644 profiler/src/profile_conv_fwd_bias_relu.cpp create mode 100644 profiler/src/profile_conv_fwd_bias_relu_add.cpp create mode 100644 profiler/src/profile_conv_tensor_rearrange.cpp create mode 100644 profiler/src/profile_gemm.cpp create mode 100644 profiler/src/profile_gemm_ab_scale.cpp create mode 100644 profiler/src/profile_gemm_add.cpp create mode 100644 profiler/src/profile_gemm_add_add_fastgelu.cpp create mode 100644 profiler/src/profile_gemm_add_fastgelu.cpp create mode 100644 profiler/src/profile_gemm_add_multiply.cpp create mode 100644 profiler/src/profile_gemm_add_relu.cpp create mode 100644 profiler/src/profile_gemm_add_relu_add_layernorm.cpp create mode 100644 profiler/src/profile_gemm_add_silu.cpp create mode 100644 profiler/src/profile_gemm_b_scale.cpp create mode 100644 profiler/src/profile_gemm_bias_add_reduce.cpp create mode 100644 profiler/src/profile_gemm_bilinear.cpp create mode 100644 profiler/src/profile_gemm_fastgelu.cpp create mode 100644 profiler/src/profile_gemm_multiply_add.cpp create mode 100644 profiler/src/profile_gemm_multiply_multiply.cpp create mode 100644 profiler/src/profile_gemm_multiply_multiply_wp.cpp create mode 100644 profiler/src/profile_gemm_reduce.cpp create mode 100644 profiler/src/profile_gemm_splitk.cpp create mode 100644 profiler/src/profile_gemm_streamk.cpp create mode 100644 profiler/src/profile_gemm_universal.cpp create mode 100644 profiler/src/profile_gemm_universal_batched.cpp create mode 100644 profiler/src/profile_gemm_universal_reduce.cpp create mode 100755 profiler/src/profile_gemm_universal_streamk.cpp create mode 100644 profiler/src/profile_grouped_conv_bwd_data.cpp create mode 100644 profiler/src/profile_grouped_conv_bwd_weight.cpp create mode 100644 profiler/src/profile_grouped_conv_fwd.cpp create mode 100644 profiler/src/profile_grouped_conv_fwd_outelementop.cpp create mode 100644 profiler/src/profile_grouped_gemm.cpp create mode 100644 profiler/src/profile_grouped_gemm_fastgelu.cpp create mode 100644 profiler/src/profile_grouped_gemm_fixed_nk.cpp create mode 100644 profiler/src/profile_grouped_gemm_multiply_tile_loop.cpp create mode 100644 profiler/src/profile_grouped_gemm_tile_loop.cpp create mode 100644 profiler/src/profile_groupnorm_bwd_data.cpp create mode 100644 profiler/src/profile_groupnorm_bwd_gamma_beta.cpp create mode 100644 profiler/src/profile_groupnorm_fwd.cpp create mode 100644 profiler/src/profile_layernorm_bwd_data.cpp create mode 100644 profiler/src/profile_layernorm_bwd_gamma_beta.cpp create mode 100644 profiler/src/profile_layernorm_fwd.cpp create mode 100644 profiler/src/profile_max_pool2d_bwd.cpp create mode 100644 profiler/src/profile_max_pool2d_fwd.cpp create mode 100644 profiler/src/profile_max_pool3d_bwd.cpp create mode 100644 profiler/src/profile_permute_scale.cpp create mode 100644 profiler/src/profile_pool3d_fwd.cpp create mode 100644 profiler/src/profile_reduce.cpp create mode 100644 profiler/src/profile_softmax.cpp create mode 100644 profiler/src/profile_transpose.cpp create mode 100644 profiler/src/profiler.cpp create mode 100644 profiler/src/profiler_operation_registry.hpp create mode 100644 pyproject.toml create mode 100644 python/ck4inductor/__init__.py create mode 100644 python/ck4inductor/batched_universal_gemm/gen_instances.py create mode 100644 python/ck4inductor/batched_universal_gemm/op.py create mode 100644 python/ck4inductor/grouped_conv_fwd/gen_instances.py create mode 100644 python/ck4inductor/grouped_conv_fwd/op.py create mode 100644 python/ck4inductor/universal_gemm/gen_instances.py create mode 100644 python/ck4inductor/universal_gemm/op.py create mode 100644 python/ck4inductor/util.py create mode 100644 python/test/test_gen_instances.py create mode 100644 rbuild.ini create mode 100644 requirements.txt create mode 100755 script/check_copyright_year.sh create mode 100755 script/clang-format-overwrite.sh create mode 100755 script/cmake-ck-dev.sh create mode 100755 script/cmake-ck-release.sh create mode 100644 script/convert_miopen_driver_to_profiler.py create mode 100755 script/count_vgpr.sh create mode 100644 script/hip_fatbin_insert create mode 100755 script/hipclang_opt.sh create mode 100755 script/install_precommit.sh create mode 100644 script/process_perf_data.py create mode 100755 script/process_perf_data.sh create mode 100755 script/process_qa_data.sh create mode 100755 script/profile_batched_gemm.sh create mode 100755 script/profile_gemm.sh create mode 100755 script/profile_gemm_bilinear.sh create mode 100755 script/profile_grouped_conv_bwd_data.sh create mode 100755 script/profile_grouped_conv_bwd_weight.sh create mode 100755 script/profile_grouped_conv_fwd.sh create mode 100755 script/profile_grouped_conv_fwd_outelementop.sh create mode 100755 script/profile_grouped_gemm.sh create mode 100755 script/profile_mixed_gemm.sh create mode 100755 script/profile_onnx_gemm.sh create mode 100755 script/profile_permute_scale.sh create mode 100755 script/profile_reduce_no_index.sh create mode 100755 script/profile_reduce_with_index.sh create mode 100755 script/profile_resnet50.sh create mode 100755 script/profile_splitK_gemm.sh create mode 100644 script/redis-cli.conf create mode 100755 script/run_full_performance_tests.sh create mode 100755 script/run_gemm_performance_tests.sh create mode 100755 script/run_performance_tests.sh create mode 100755 script/sccache_wrapper.sh create mode 100644 script/test_convnd_fwd.sh create mode 100755 script/test_reduce_no_index.sh create mode 100755 script/uninstall_precommit.sh create mode 100755 test/CMakeLists.txt create mode 100644 test/batched_gemm/CMakeLists.txt create mode 100644 test/batched_gemm/test_batched_gemm_xdl.cpp create mode 100644 test/batched_gemm_gemm/CMakeLists.txt create mode 100644 test/batched_gemm_gemm/test_batched_gemm_gemm_fp16_xdl.cpp create mode 100644 test/batched_gemm_gemm/test_batched_gemm_gemm_util.hpp create mode 100644 test/batched_gemm_multi_d/CMakeLists.txt create mode 100644 test/batched_gemm_multi_d/test_batched_gemm_multi_d_dl.cpp create mode 100644 test/batched_gemm_reduce/CMakeLists.txt create mode 100644 test/batched_gemm_reduce/batched_gemm_reduce_fp16_xdl.cpp create mode 100644 test/batched_gemm_softmax_gemm/CMakeLists.txt create mode 100644 test/batched_gemm_softmax_gemm/test_batched_gemm_softmax_gemm_fp16_xdl.cpp create mode 100644 test/batched_gemm_softmax_gemm/test_batched_gemm_softmax_gemm_util.hpp create mode 100644 test/batched_gemm_softmax_gemm_permute/CMakeLists.txt create mode 100644 test/batched_gemm_softmax_gemm_permute/test_batched_gemm_bias_softmax_gemm_permute_bf16_xdl.cpp create mode 100644 test/batched_gemm_softmax_gemm_permute/test_batched_gemm_bias_softmax_gemm_permute_fp16_xdl.cpp create mode 100644 test/batched_gemm_softmax_gemm_permute/test_batched_gemm_bias_softmax_gemm_permute_util.hpp create mode 100644 test/batched_gemm_softmax_gemm_permute/test_batched_gemm_softmax_gemm_permute_bf16_xdl.cpp create mode 100644 test/batched_gemm_softmax_gemm_permute/test_batched_gemm_softmax_gemm_permute_fp16_xdl.cpp create mode 100644 test/batched_gemm_softmax_gemm_permute/test_batched_gemm_softmax_gemm_permute_util.hpp create mode 100644 test/batchnorm/CMakeLists.txt create mode 100644 test/batchnorm/batchnorm_bwd_rank_4.cpp create mode 100644 test/batchnorm/batchnorm_fwd_rank_4.cpp create mode 100644 test/batchnorm/batchnorm_infer_rank_4.cpp create mode 100644 test/block_swizzle_test/block_swizzle_test.cpp create mode 100644 test/block_swizzle_test/rebuild.sh create mode 100644 test/block_swizzle_test/simple_args.h create mode 100644 test/block_to_ctile_map/CMakeLists.txt create mode 100644 test/block_to_ctile_map/test_block_to_ctile_map.cpp create mode 100644 test/ck_tile/CMakeLists.txt create mode 100644 test/ck_tile/batched_gemm/CMakeLists.txt create mode 100644 test/ck_tile/batched_gemm/test_batched_gemm.cpp create mode 100644 test/ck_tile/batched_gemm/test_batched_gemm_ut_cases.inc create mode 100644 test/ck_tile/batched_gemm/test_batched_gemm_util.hpp create mode 100644 test/ck_tile/data_type/CMakeLists.txt create mode 100644 test/ck_tile/data_type/test_pk_int4.cpp create mode 100644 test/ck_tile/gemm/CMakeLists.txt create mode 100644 test/ck_tile/gemm/test_gemm_pipeline_compv3.cpp create mode 100644 test/ck_tile/gemm/test_gemm_pipeline_compv4.cpp create mode 100644 test/ck_tile/gemm/test_gemm_pipeline_kernel_types.hpp create mode 100644 test/ck_tile/gemm/test_gemm_pipeline_mem.cpp create mode 100644 test/ck_tile/gemm/test_gemm_pipeline_ut_cases.inc create mode 100644 test/ck_tile/gemm/test_gemm_pipeline_util.hpp create mode 100644 test/ck_tile/grouped_gemm/CMakeLists.txt create mode 100644 test/ck_tile/grouped_gemm/test_grouped_gemm.cpp create mode 100644 test/ck_tile/grouped_gemm/test_grouped_gemm_ut_cases.inc create mode 100644 test/ck_tile/grouped_gemm/test_grouped_gemm_util.hpp create mode 100644 test/ck_tile/image_to_column/CMakeLists.txt create mode 100644 test/ck_tile/image_to_column/test_tile_image_to_column.cpp create mode 100644 test/contraction/CMakeLists.txt create mode 100644 test/contraction/test_contraction_interface_xdl.cpp create mode 100644 test/contraction/test_contraction_xdl.cpp create mode 100644 test/conv_tensor_rearrange/CMakeLists.txt create mode 100644 test/conv_tensor_rearrange/test_conv_tensor_rearrange.cpp create mode 100644 test/conv_tensor_rearrange/test_conv_tensor_rearrange_interface.cpp create mode 100644 test/conv_util/CMakeLists.txt create mode 100644 test/conv_util/conv_util.cpp create mode 100644 test/convnd_bwd_data/CMakeLists.txt create mode 100644 test/convnd_bwd_data/convnd_bwd_data_xdl.cpp create mode 100644 test/convnd_fwd/CMakeLists.txt create mode 100644 test/convnd_fwd/convnd_fwd_xdl.cpp create mode 100644 test/data_type/CMakeLists.txt create mode 100644 test/data_type/test_bf6.cpp create mode 100644 test/data_type/test_bf8_fnuz.cpp create mode 100644 test/data_type/test_bf8_ocp.cpp create mode 100644 test/data_type/test_bhalf.cpp create mode 100644 test/data_type/test_custom_type.cpp create mode 100644 test/data_type/test_e8m0.cpp create mode 100644 test/data_type/test_fp4.cpp create mode 100644 test/data_type/test_fp6.cpp create mode 100644 test/data_type/test_fp8_fnuz.cpp create mode 100644 test/data_type/test_fp8_ocp.cpp create mode 100644 test/data_type/test_int4.cpp create mode 100644 test/data_type/test_mx_bf8.cpp create mode 100644 test/data_type/test_mx_fp4.cpp create mode 100644 test/data_type/test_mx_fp8.cpp create mode 100644 test/data_type/test_pk_i4.cpp create mode 100644 test/data_type/type_convert_const.cpp create mode 100644 test/elementwise_normalization/CMakeLists.txt create mode 100644 test/elementwise_normalization/test_elementwise_layernorm_fp16.cpp create mode 100644 test/gemm/CMakeLists.txt create mode 100644 test/gemm/gemm_bf16.cpp create mode 100644 test/gemm/gemm_fp16.cpp create mode 100644 test/gemm/gemm_fp32.cpp create mode 100644 test/gemm/gemm_fp64.cpp create mode 100644 test/gemm/gemm_int8.cpp create mode 100644 test/gemm/gemm_standalone_xdl_fp16.cpp create mode 100644 test/gemm/gemm_util.hpp create mode 100644 test/gemm/instance/gemm_f16_nn_instance.cpp create mode 100644 test/gemm/instance/gemm_f16_nn_instance.hpp create mode 100644 test/gemm/instance/gemm_f16_nt_instance.cpp create mode 100644 test/gemm/instance/gemm_f16_nt_instance.hpp create mode 100644 test/gemm/instance/gemm_f16_tn_instance.cpp create mode 100644 test/gemm/instance/gemm_f16_tn_instance.hpp create mode 100644 test/gemm/instance/gemm_f16_tt_instance.cpp create mode 100644 test/gemm/instance/gemm_f16_tt_instance.hpp create mode 100644 test/gemm/instance/gemm_wavelet_f16_tn_instance.cpp create mode 100644 test/gemm/instance/gemm_wavelet_f16_tn_instance.hpp create mode 100644 test/gemm/run_gemm_test.inc create mode 100644 test/gemm_add/CMakeLists.txt create mode 100644 test/gemm_add/test_gemm_add_fastgelu_xdl.cpp create mode 100644 test/gemm_add/test_gemm_add_relu_xdl.cpp create mode 100644 test/gemm_add/test_gemm_add_silu_xdl.cpp create mode 100644 test/gemm_add/test_gemm_add_xdl.hpp create mode 100644 test/gemm_layernorm/CMakeLists.txt create mode 100644 test/gemm_layernorm/test_gemm_add_relu_add_layernorm_fp16_xdl.cpp create mode 100644 test/gemm_mx/CMakeLists.txt create mode 100644 test/gemm_mx/test_gemm_mx.cpp create mode 100644 test/gemm_mx/test_gemm_mx_util.hpp create mode 100644 test/gemm_reduce/CMakeLists.txt create mode 100644 test/gemm_reduce/gemm_reduce_fp16_xdl.cpp create mode 100644 test/gemm_split_k/CMakeLists.txt create mode 100644 test/gemm_split_k/test_gemm_splitk_ut_cases.inc create mode 100644 test/gemm_split_k/test_gemm_splitk_util.hpp create mode 100644 test/gemm_split_k/test_gemm_splitk_xdl.cpp create mode 100755 test/gemm_universal/CMakeLists.txt create mode 100644 test/gemm_universal/test_gemm_universal_ut_cases_bf16.inc create mode 100644 test/gemm_universal/test_gemm_universal_ut_cases_fp16.inc create mode 100644 test/gemm_universal/test_gemm_universal_ut_cases_fp8.inc create mode 100644 test/gemm_universal/test_gemm_universal_util.hpp create mode 100644 test/gemm_universal/test_gemm_universal_wmma_bf16.cpp create mode 100644 test/gemm_universal/test_gemm_universal_wmma_fp16.cpp create mode 100644 test/gemm_universal/test_gemm_universal_wmma_fp8.cpp create mode 100644 test/gemm_universal/test_gemm_universal_xdl_bf16.cpp create mode 100644 test/gemm_universal/test_gemm_universal_xdl_fp16.cpp create mode 100644 test/gemm_universal/test_gemm_universal_xdl_fp8.cpp create mode 100755 test/gemm_universal_streamk/CMakeLists.txt create mode 100644 test/gemm_universal_streamk/test_gemm_universal_streamk_ut_cases_bf16.inc create mode 100644 test/gemm_universal_streamk/test_gemm_universal_streamk_ut_cases_fp16.inc create mode 100755 test/gemm_universal_streamk/test_gemm_universal_streamk_ut_cases_fp8.inc create mode 100644 test/gemm_universal_streamk/test_gemm_universal_streamk_util.hpp create mode 100755 test/gemm_universal_streamk/test_gemm_universal_streamk_xdl_bf16.cpp create mode 100644 test/gemm_universal_streamk/test_gemm_universal_streamk_xdl_fp16.cpp create mode 100755 test/gemm_universal_streamk/test_gemm_universal_streamk_xdl_fp8.cpp create mode 100644 test/grouped_convnd_bwd_data/CMakeLists.txt create mode 100644 test/grouped_convnd_bwd_data/test_grouped_convnd_bwd_data_interface_wmma.cpp create mode 100644 test/grouped_convnd_bwd_data/test_grouped_convnd_bwd_data_interface_xdl.cpp create mode 100644 test/grouped_convnd_bwd_data/test_grouped_convnd_bwd_data_wmma.cpp create mode 100644 test/grouped_convnd_bwd_data/test_grouped_convnd_bwd_data_xdl.cpp create mode 100644 test/grouped_convnd_bwd_data/test_grouped_convnd_bwd_data_xdl_large_cases.cpp create mode 100644 test/grouped_convnd_bwd_weight/CMakeLists.txt create mode 100644 test/grouped_convnd_bwd_weight/test_grouped_conv_bwd_weight_xdl_bilinear.cpp create mode 100644 test/grouped_convnd_bwd_weight/test_grouped_convnd_bwd_weight.cpp create mode 100644 test/grouped_convnd_bwd_weight/test_grouped_convnd_bwd_weight_interface_wmma.cpp create mode 100644 test/grouped_convnd_bwd_weight/test_grouped_convnd_bwd_weight_interface_xdl.cpp create mode 100644 test/grouped_convnd_bwd_weight/test_grouped_convnd_bwd_weight_v3_interface_xdl.cpp create mode 100644 test/grouped_convnd_fwd/CMakeLists.txt create mode 100644 test/grouped_convnd_fwd/test_grouped_convnd_fwd.cpp create mode 100644 test/grouped_convnd_fwd/test_grouped_convnd_fwd_large_cases_xdl.cpp create mode 100644 test/grouped_convnd_fwd/test_grouped_convnd_fwd_multi_ab_interface.cpp create mode 100644 test/grouped_convnd_fwd/test_grouped_convnd_fwd_multi_d_interface_compatibility_xdl_wmma.cpp create mode 100644 test/grouped_gemm/CMakeLists.txt create mode 100644 test/grouped_gemm/test_grouped_gemm_interface_xdl.cpp create mode 100644 test/grouped_gemm/test_grouped_gemm_splitk_xdl.cpp create mode 100644 test/grouped_gemm/test_grouped_gemm_two_stage_multiple_d_splitk_xdl.cpp create mode 100644 test/grouped_gemm/test_grouped_gemm_two_stage_ut_cases.inc create mode 100644 test/grouped_gemm/test_grouped_gemm_ut_cases.inc create mode 100644 test/grouped_gemm/test_grouped_gemm_util.hpp create mode 100644 test/magic_number_division/CMakeLists.txt create mode 100644 test/magic_number_division/magic_number_division.cpp create mode 100644 test/mx_mfma_op/CMakeLists.txt create mode 100644 test/mx_mfma_op/mx_mfma_op.cpp create mode 100644 test/mx_mfma_op/mx_mfma_op.hpp create mode 100644 test/normalization_bwd_data/CMakeLists.txt create mode 100644 test/normalization_bwd_data/test_groupnorm_bwd_data_fp32.cpp create mode 100644 test/normalization_bwd_data/test_layernorm2d_bwd_data_fp32.cpp create mode 100644 test/normalization_bwd_gamma_beta/CMakeLists.txt create mode 100644 test/normalization_bwd_gamma_beta/test_groupnorm_bwd_gamma_beta_fp32.cpp create mode 100644 test/normalization_bwd_gamma_beta/test_layernorm2d_bwd_gamma_beta_fp32.cpp create mode 100644 test/normalization_fwd/CMakeLists.txt create mode 100644 test/normalization_fwd/test_groupnorm_fwd_fp16.cpp create mode 100644 test/normalization_fwd/test_groupnorm_fwd_fp32.cpp create mode 100644 test/normalization_fwd/test_layernorm2d_fwd_fp16.cpp create mode 100644 test/normalization_fwd/test_layernorm2d_fwd_fp32.cpp create mode 100644 test/normalization_fwd/test_layernorm4d_fwd_fp16.cpp create mode 100644 test/permute_scale/CMakeLists.txt create mode 100644 test/permute_scale/test_permute_scale.cpp create mode 100644 test/pool/CMakeLists.txt create mode 100644 test/pool/test_avg_pool2d_bwd.cpp create mode 100644 test/pool/test_avg_pool2d_fwd.cpp create mode 100644 test/pool/test_avg_pool3d_bwd.cpp create mode 100644 test/pool/test_avg_pool3d_fwd.cpp create mode 100644 test/pool/test_max_pool2d_bwd.cpp create mode 100644 test/pool/test_max_pool2d_fwd.cpp create mode 100644 test/pool/test_max_pool3d_bwd.cpp create mode 100644 test/pool/test_max_pool3d_fwd.cpp create mode 100644 test/pool/test_pool_fwd_common.hpp create mode 100644 test/position_embedding/CMakeLists.txt create mode 100644 test/position_embedding/position_embedding.cpp create mode 100644 test/reduce/CMakeLists.txt create mode 100644 test/reduce/reduce_no_index.cpp create mode 100644 test/reduce/reduce_with_index.cpp create mode 100644 test/reference_conv_fwd/CMakeLists.txt create mode 100644 test/reference_conv_fwd/reference_conv_fwd.cpp create mode 100644 test/scatter_gather/CMakeLists.txt create mode 100644 test/scatter_gather/scatter_gather.cpp create mode 100644 test/smfmac_op/CMakeLists.txt create mode 100644 test/smfmac_op/smfmac_op.cpp create mode 100644 test/smfmac_op/smfmac_op_util.hpp create mode 100644 test/smfmac_op/smfmac_op_xdl.cpp create mode 100644 test/softmax/CMakeLists.txt create mode 100644 test/softmax/test_softmax_interface.cpp create mode 100644 test/softmax/test_softmax_rank3.cpp create mode 100644 test/softmax/test_softmax_rank4.cpp create mode 100644 test/softmax/test_softmax_ut_cases.inc create mode 100644 test/softmax/test_softmax_util.hpp create mode 100644 test/space_filling_curve/CMakeLists.txt create mode 100644 test/space_filling_curve/space_filling_curve.cpp create mode 100644 test/transpose/CMakeLists.txt create mode 100644 test/transpose/test_transpose_xdl.cpp create mode 100644 test/wmma_op/CMakeLists.txt create mode 100644 test/wmma_op/wmma_op.cpp create mode 100644 test/wmma_op/wmma_op_util.hpp create mode 100644 test/wrapper/CMakeLists.txt create mode 100644 test/wrapper/test_wrapper_copy.cpp create mode 100644 test/wrapper/test_wrapper_gemm_xdl.cpp create mode 100644 test/wrapper/test_wrapper_layout.cpp create mode 100644 test/wrapper/test_wrapper_partition.cpp create mode 100644 test/wrapper/test_wrapper_tensor.cpp create mode 100755 tile_engine/CMakeLists.txt create mode 100755 tile_engine/include/CMakeLists.txt create mode 100755 tile_engine/ops/CMakeLists.txt create mode 100644 tile_engine/ops/gemm/CMakeLists.txt create mode 100644 tile_engine/ops/gemm/README.md create mode 100644 tile_engine/ops/gemm/configs/instance_combination.json create mode 100755 tile_engine/ops/gemm/gemm_host_api.cpp create mode 100755 tile_engine/ops/gemm/gemm_host_api.hpp create mode 100755 tile_engine/ops/gemm/gemm_instance_builder.py diff --git a/.azuredevops/rocm-ci.yml b/.azuredevops/rocm-ci.yml new file mode 100644 index 0000000000..b37b8cc27f --- /dev/null +++ b/.azuredevops/rocm-ci.yml @@ -0,0 +1,30 @@ +resources: + repositories: + - repository: pipelines_repo + type: github + endpoint: ROCm + name: ROCm/ROCm + +variables: +- group: common +- template: /.azuredevops/variables-global.yml@pipelines_repo + +trigger: + batch: true + branches: + include: + - develop + - amd-develop + paths: + exclude: + - .github + - docs + - '.*.y*ml' + - '*.md' + - Jenkinsfile + - LICENSE + +pr: none + +jobs: + - template: ${{ variables.CI_COMPONENT_PATH }}/composable_kernel.yml@pipelines_repo diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000000..22f2674966 --- /dev/null +++ b/.clang-format @@ -0,0 +1,90 @@ +--- +Language: Cpp +AccessModifierOffset: 0 +AlignAfterOpenBracket: Align +AlignConsecutiveAssignments: true +AlignConsecutiveDeclarations: false +AlignEscapedNewlinesLeft: true +AlignOperands: true +AlignTrailingComments: true +AllowAllParametersOfDeclarationOnNextLine: true +AllowShortBlocksOnASingleLine: true +AllowShortCaseLabelsOnASingleLine: true +AllowShortFunctionsOnASingleLine: All +AllowShortIfStatementsOnASingleLine: false +AllowShortLoopsOnASingleLine: false +AlwaysBreakAfterDefinitionReturnType: None +AlwaysBreakAfterReturnType: None +AlwaysBreakBeforeMultilineStrings: false +AlwaysBreakTemplateDeclarations: true +BinPackArguments: false +BinPackParameters: false +BraceWrapping: + AfterClass: true + AfterControlStatement: true + AfterEnum: true + AfterFunction: true + AfterNamespace: false + AfterObjCDeclaration: true + AfterStruct: true + AfterUnion: true + BeforeCatch: true + BeforeElse: true + IndentBraces: false +BreakBeforeBinaryOperators: None +BreakBeforeBraces: Custom +BreakBeforeTernaryOperators: true +BreakConstructorInitializersBeforeComma: false +ColumnLimit: 100 +CommentPragmas: '^ IWYU pragma:' +ConstructorInitializerAllOnOneLineOrOnePerLine: true +ConstructorInitializerIndentWidth: 4 +ContinuationIndentWidth: 4 +Cpp11BracedListStyle: true +DerivePointerAlignment: false +DisableFormat: false +ExperimentalAutoDetectBinPacking: false +ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ] +IncludeCategories: + - Regex: '^"(llvm|llvm-c|clang|clang-c)/' + Priority: 2 + - Regex: '^(<|"(gtest|isl|json)/)' + Priority: 3 + - Regex: '.*' + Priority: 1 +IndentCaseLabels: false +IndentWidth: 4 +IndentWrappedFunctionNames: false +KeepEmptyLinesAtTheStartOfBlocks: true +MacroBlockBegin: '' +MacroBlockEnd: '' +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: None +ObjCBlockIndentWidth: 2 +ObjCSpaceAfterProperty: false +ObjCSpaceBeforeProtocolList: true +PenaltyBreakBeforeFirstCallParameter: 19 +PenaltyBreakComment: 300 +PenaltyBreakFirstLessLess: 120 +PenaltyBreakString: 1000 +PenaltyExcessCharacter: 1000000 +PenaltyReturnTypeOnItsOwnLine: 60 +PointerAlignment: Left +ReflowComments: true +SortIncludes: false +SpaceAfterCStyleCast: false +# SpaceAfterTemplateKeyword: true +SpaceBeforeAssignmentOperators: true +SpaceBeforeParens: Never +SpaceInEmptyParentheses: false +SpacesBeforeTrailingComments: 1 +SpacesInAngles: false +SpacesInContainerLiterals: true +SpacesInCStyleCastParentheses: false +SpacesInParentheses: false +SpacesInSquareBrackets: false +Standard: Cpp11 +TabWidth: 8 +UseTab: Never +... + diff --git a/.clang-tidy b/.clang-tidy new file mode 100644 index 0000000000..3815c654fe --- /dev/null +++ b/.clang-tidy @@ -0,0 +1,3 @@ +CheckOptions: + - key: bugprone-reserved-identifier.AllowedIdentifiers + value: '__HIP_PLATFORM_HCC__;__HIP_PLATFORM_AMD__;__HIP_ROCclr__' diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000000..ccdfb0f6fb --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,8 @@ +* @illsilin @carlushuang @qianfengz @aosewski @poyenc @geyyer @bartekxk @andriy-ca @afagaj @asleepzzz @tenpercent @ThomasNing @coderfeli +# Documentation files +docs/ @ROCm/rocm-documentation @illsilin @carlushuang @qianfengz @aosewski @poyenc @geyyer @bartekxk @andriy-ca @afagaj @asleepzzz @ThomasNing @coderfeli +*.md @ROCm/rocm-documentation @illsilin @carlushuang @qianfengz @aosewski @poyenc @geyyer @bartekxk @andriy-ca @afagaj @asleepzzz @ThomasNing @coderfeli +*.rst @ROCm/rocm-documentation @illsilin @carlushuang @qianfengz @aosewski @poyenc @geyyer @bartekxk @andriy-ca @afagaj @asleepzzz @ThomasNing @coderfeli +.readthedocs.yaml @ROCm/rocm-documentation @illsilin @carlushuang @qianfengz @aosewski @poyenc @geyyer @bartekxk @andriy-ca @afagaj @asleepzzz @ThomasNing @coderfeli +# Header directory for Doxygen documentation +library/include/ @ROCm/rocm-documentation @illsilin @carlushuang @qianfengz @aosewski @poyenc @geyyer @bartekxk @andriy-ca @afagaj @asleepzzz @ThomasNing @coderfeli diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 0000000000..56f2acee71 --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,10 @@ +We'd love for you to contribute to our source code! + +Some helpful links: + +- [Code of Conduct guidelines](https://www.contributor-covenant.org/version/2/1/code_of_conduct/code_of_conduct.txt) +- [New issue guidelines](https://github.com/rocm/composable_kernel/blob/develop/.github/ISSUE_TEMPLATE.md) +- [Submitting a pull request guidelines](https://github.com/rocm/composable_kernel/blob/develop/.github/PULL_REQUEST_TEMPLATE.md) +- [Maintainers](https://github.com/rocm/composable_kernel/blob/develop/CONTRIBUTORS.md) +- [General information](https://github.com/rocm/composable_kernel/blob/develop/README.md) +- [ROCm documentation](https://rocm.docs.amd.com/en/latest/how-to/llm-fine-tuning-optimization/optimizing-with-composable-kernel.html) \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000000..263cc3480d --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,14 @@ +When creating an issue, please check if a similar issue already exists. + +### When reporting a bug, please include: +- [ ] A descriptive title +- [ ] An isolated way to reproduce the behavior (preferably a docker container with a repro) +- [ ] ROCm version, clang version, Composable Kernel commit pin +- [ ] Environment variables +- [ ] The behavior you expect to see, and the behavior you actually see + +### When requesting a feature, please include: +- [ ] A descriptive title +- [ ] A detailed description of the problem you are trying to solve +- [ ] An overview of the suggested solution +- [ ] Explanation why the solution is an improvement \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000000..0086358db1 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1 @@ +blank_issues_enabled: true diff --git a/.github/ISSUE_TEMPLATE/issue_report.yml b/.github/ISSUE_TEMPLATE/issue_report.yml new file mode 100644 index 0000000000..ef6e6faa1b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/issue_report.yml @@ -0,0 +1,221 @@ +name: Issue Report +description: File a report for ROCm related issues on Linux and Windows. For issues pertaining to documentation or non-bug related, please open a blank issue located below. +title: "[Issue]: " + +body: +- type: markdown + attributes: + value: | + Thank you for taking the time to fill out this report! + + You can acquire your OS, CPU, GPU (for filling out this report) with the following commands: + + Linux: + echo "OS:" && cat /etc/os-release | grep -E "^(NAME=|VERSION=)"; + echo "CPU: " && cat /proc/cpuinfo | grep "model name" | sort --unique; + echo "GPU:" && /opt/rocm/bin/rocminfo | grep -E "^\s*(Name|Marketing Name)"; + + Windows: + (Get-WmiObject Win32_OperatingSystem).Version + (Get-WmiObject win32_Processor).Name + (Get-WmiObject win32_VideoController).Name +- type: textarea + attributes: + label: Problem Description + description: Describe the issue you encountered. + validations: + required: true +- type: input + attributes: + label: Operating System + description: What is the name and version number of the OS? + placeholder: "e.g. Ubuntu 22.04.3 LTS (Jammy Jellyfish)" + validations: + required: true +- type: input + attributes: + label: CPU + description: What CPU did you encounter the issue on? + placeholder: "e.g. AMD Ryzen 9 5900HX with Radeon Graphics" + validations: + required: true +- type: dropdown + attributes: + label: GPU + description: What GPU(s) did you encounter the issue on (you can select multiple GPUs from the list) + multiple: true + options: + - AMD Instinct MI300X + - AMD Instinct MI300A + - AMD Instinct MI300 + - AMD Instinct MI250X + - AMD Instinct MI250 + - AMD Instinct MI210 + - AMD Instinct MI100 + - AMD Instinct MI50 + - AMD Instinct MI25 + - AMD Radeon Pro V620 + - AMD Radeon Pro VII + - AMD Radeon RX 7900 XTX + - AMD Radeon VII + - AMD Radeon Pro W7900 + - AMD Radeon Pro W7800 + - AMD Radeon Pro W6800 + - AMD Radeon Pro W6600 + - AMD Radeon Pro W5500 + - AMD Radeon RX 7900 XT + - AMD Radeon RX 7600 + - AMD Radeon RX 6950 XT + - AMD Radeon RX 6900 XT + - AMD Radeon RX 6800 XT + - AMD Radeon RX 6800 + - AMD Radeon RX 6750 + - AMD Radeon RX 6700 XT + - AMD Radeon RX 6700 + - AMD Radeon RX 6650 XT + - AMD Radeon RX 6600 XT + - AMD Radeon RX 6600 + - Other + validations: + required: true +- type: input + attributes: + label: Other + description: If you selected Other, please specify +- type: dropdown + attributes: + label: ROCm Version + description: What version(s) of ROCm did you encounter the issue on? + multiple: true + options: + - ROCm 6.0.0 + - ROCm 5.7.1 + - ROCm 5.7.0 + - ROCm 5.6.1 + - ROCm 5.6.0 + - ROCm 5.5.1 + - ROCm 5.5.0 + validations: + required: true +- type: dropdown + attributes: + label: ROCm Component + description: (Optional) If this issue relates to a specific ROCm component, it can be mentioned here. + multiple: true + options: + - Other + - AMD Common Language Runtime + - AMD MIGraphX + - AMD System Management Interface + - amdgpu KCL/autoconf + - amdgpu Kernel-mode GPU Driver + - amdgpu-install + - AOMP + - AOMP Extras + - AqlProfile + - build-infra + - chelsio + - clang-ocl + - Composable Kernel + - dkms + - docker / ROCm-docker + - flang + - gpuburn + - half + - HIP + - HIP Examples + - hipBLAS + - hipBLASLt + - HIPCC + - hipCUB + - hip-examples-private + - hipFFT + - hipfort + - HIPIFY + - hipRAND + - hipSOLVER + - hipSPARSE + - hipSPARSELt + - hipTensor + - hip-tests + - HSA Runtime + - infrastructure + - jenkins-utils + - libdrm + - Linux BPI packaging framework + - llvm-project + - Mesa + - meta + - MIOpen + - MIVisionX + - ml-framework-ci + - MLSEQA_TestRepo + - OpenCL API C++ Bindings + - OpenCL API Headers + - OpenCL Conformance Test Suite + - OpenCL ICD Loader + - perftest-p2p + - prototype + - RCCL + - rccl-rdma-sharp-plugins + - rocALUTION + - rocBLAS + - ROCdbgapi + - ROCdebug-agent + - rocFFT + - ROCgdb + - ROCK + - ROCm Documentation/Website + - ROCm Data Center Tool + - ROCm Examples + - ROCm for Windows + - ROCm Performance Primitives + - ROCm System Management Interface Library + - ROCm Thrust + - ROCm Validation Suite + - rocm_bandwidth_test + - rocm-cmake + - rocm-core + - rocm-docs-core + - rocminfo + - rocMLIR + - rocmtools + - rocPRIM + - rocprofiler + - rocRAND + - ROCR-Runtime + - rocSOLVER + - rocSPARSE + - roctracer + - ROCT-Thunk-Interface + - rocWMMA + - Tensile + - umr + - ibv_rc_pingpong-amd + - mellanox + - mpitest + - Pytorch + - Tensorflow + - APEX + - torchvision + - Magma +- type: textarea + attributes: + label: Steps to Reproduce + description: (Optional) Detailed steps to reproduce the issue. + validations: + required: false + +- type: textarea + attributes: + label: (Optional for Linux users) Output of /opt/rocm/bin/rocminfo --support + description: The output of rocminfo --support could help to better address the problem. + validations: + required: false + +- type: textarea + attributes: + label: Additional Information + description: (Optional) Any additional information that is relevant, e.g. relevant environment variables, dockerfiles, log files, dmesg output (on Linux), etc. + validations: + required: false diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000000..8a988ad1c9 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,20 @@ +## Proposed changes + +Please describe the motivation behind the pull request, whether it enables a new feature or fixes a bug. If there are associated pull requests or issues, please link them to the pull request. + +## Checklist + +Please put an `x` into the boxes that apply. You can also fill these out after creating the PR. If you're not sure, please don't hesitate to ask. + +- [ ] I have added tests relevant to the introduced functionality, and the unit tests are passing locally +- [ ] I have added the test to REGRESSION_TESTS list defined at the top of CMakeLists.txt in tests/CMakeLists.txt, **IF** the test takes more than 30 seconds to run. +- [ ] I have added inline documentation which enables the maintainers with understanding the motivation +- [ ] I have removed the stale documentation which is no longer relevant after this pull request +- [ ] (If this change is user-facing) I have added release notes which provide the end users with a brief summary of the improvement from this pull request +- [ ] I have run `clang-format` on all changed files +- [ ] Any dependent changes have been merged + +## Discussion + +If this is a relatively large or complex change, feel free to start a discussion by explaining why you chose the solution you did and what alternatives you considered + diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000000..0e0a252eb6 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,18 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: "pip" # See documentation for possible values + directory: "/docs/sphinx" # Location of package manifests + open-pull-requests-limit: 10 + schedule: + interval: "daily" + labels: + - "documentation" + - "dependencies" + - "ci:docs-only" + reviewers: + - "samjwu" diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000..599ef99e35 --- /dev/null +++ b/.gitignore @@ -0,0 +1,70 @@ +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch +*.ipch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + +# vim tags +tags +.tags +.*.swp + +# Editors +.vscode + +# build-in-source directory +build* + +# emacs temporary/backup files +.\#* +\#*\# +*~ + +# GDB temporary files +.gdb_history +install.dir* + +# documentation artifacts +_build/ +_images/ +_static/ +_templates/ +_toc.yml +_doxygen/ +docs/doxygen/html +docs/doxygen/xml + +# JetBrains IDE +.idea/ +cmake-build*/ +build*/ + +# Python virtualenv +.venv/ + +# Python cache +__pycache__/ diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100755 index 0000000000..d6700ae05b --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,14 @@ +repos: +- repo: local + hooks: + - id: clang-format + name: clang-format + entry: clang-format-12 -i --style=file + language: system + types_or: [c++, inc] + - id: copyright-year-checker + name: copyright-year-checker + entry: script/check_copyright_year.sh + verbose: false + language: script + types: [c++] diff --git a/.readthedocs.yaml b/.readthedocs.yaml new file mode 100644 index 0000000000..b3299fa4e8 --- /dev/null +++ b/.readthedocs.yaml @@ -0,0 +1,18 @@ +# Read the Docs configuration file +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details + +version: 2 + +sphinx: + configuration: docs/conf.py + +formats: [htmlzip, pdf, epub] + +python: + install: + - requirements: docs/sphinx/requirements.txt + +build: + os: ubuntu-22.04 + tools: + python: "3.10" diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000000..e0ec214c69 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,123 @@ +# Changelog for Composable Kernel + +Documentation for Composable Kernel available at [https://rocm.docs.amd.com/projects/composable_kernel/en/latest/](https://rocm.docs.amd.com/projects/composable_kernel/en/latest/). + +## Composable Kernel 1.1.0 for ROCm 6.5.0 + +### Added + +* Added support for bf16, f32, and f16 for 2D and 3D NGCHW grouped convolution backward data +* Added a fully asynchronous HOST (CPU) arguments copy flow for CK grouped GEMM kernels. +* Added support GKCYX layout for grouped convolution forward (NGCHW/GKCYX/NGKHW, number of instances in instance factory for NGCHW/GKYXC/NGKHW has been reduced). +* Added support for GKCYX layout for grouped convolution forward (NGCHW/GKCYX/NGKHW). +* Added support for GKCYX layout for grouped convolution backward weight (NGCHW/GKCYX/NGKHW). +* Added support for GKCYX layout for grouped convolution backward data (NGCHW/GKCYX/NGKHW). +* Added support for Stream-K version of mixed fp8/bf16 GEMM +* Added GEMM pipeline for microscaling (MX) data types +* Added support for FP16 2:4 structured sparsity to universal GEMM. +* Added support for Split K for grouped convolution backward data. + +### Optimized + +None + +### Fixes + +None + +### Changes + +* Removed support for gfx940 and gfx941 targets (#1944) +* Replaced the raw buffer load/store intrinsics with Clang20 built-ins (#1876) +* DL and DPP kernels are now enabled by default. +* Number of instances in instance factory for grouped convolution forward NGCHW/GKYXC/NGKHW has been reduced. +* Number of instances in instance factory for grouped convolution backward weight NGCHW/GKYXC/NGKHW has been reduced. +* Number of instances in instance factory for grouped convolution backward data NGCHW/GKYXC/NGKHW has been reduced. + +### Known issues + +None + +## Composable Kernel 1.1.0 for ROCm 6.1.0 + +### Additions + +* Added generic instances for GEMM XDL operations (#1161) +* Added gamma and beta parameters for the layernorm and groupnorm bwd operations (#1133) +* Introduced wrapper sublibrary (limited functionality). (#1071, #1098, #1108, #1126) +* Added an option to vary the number of warm-up cycles and iterations for ckProfiler (#1124) + +### Optimizations + +* New performance optimizations for GEMM operations on MI200 and MI300 architectures (#1135) + +### Fixes + +* Reduced the build time for most GPU architectures (#1084) +* Fixed some conversion issues for fp8 data type (#1099) + +### Changes + +None + +### Known issues + +None + +## Composable Kernel 1.1.0 for ROCm 6.0.0 + +### Fixes + +* Fixed a hazard associated with inline v_dot (#808) +* Fixed two bugs in grouped convolution backward data without K padding (#848 #876) + +### Optimizations + +None + +### Additions + +* Added an image to a column kernel (#867) +* Added a column to an image kernel (#930) +* Support for 3D grouped convolution on RDNA 3 GPUs (#935, #950, #985) +* Grouped convolution support for small K and C (#822 #879 #897) +* Support for NHWGC (2D and 3D) grouped convolution backward weight (#769 #804) +* Support for bf16/f32/f16 and NHWGC (2D and 3D) grouped convolution backward data (#757 #799) +* Support for Batched GEMM DL (#732) + +### Changes + +* Changed the grouped convolution API to maintain consistency with other convolution kernels (#817) + +## Composable Kernel 0.2.0 for ROCm 5.7.0 + +### Fixes + +* Fixed a bug in 6-dimensional kernels (#555) +* Fixed a test case failure with grouped convolution backward weight (#524) + +### Optimizations + +* Improved the performance of the normalization kernel + +### Additions + +* New CMake flags: + * "DL_KERNELS"-* Must be set to "ON" in order to build the GEMM DL and batched_gemm_multi_d_dl instances + * "DTYPES" -- Can be set to any subset of "fp64;fp32;fp16;fp8;bf16;int8" to build an instance of the specified data types + * "INSTANCES_ONLY" -- Only builds CK library and instances without tests, examples, or profiler +* New feature: if GPU_TARGETS is not set in the CMake command line, CK will be built for all targets supported by the compiler +* Support for MI300A/MI300X +* Support for AMD RDNA 3 +* New user tutorial (#563) +* Additional instances for irregular GEMM sizes (#560) +* New inter-wave consumer-producer programming model for GEMM kernels (#310) +* GEMM with support multiple elementwise fusions (multi-D) (#534) +* Multi-embeddings support (#542) +* AMD RDNA 3 blockwise GEMM and real GEMM support (#541) +* AMD RDNA grouped convolution backward weight support (#505) +* MaxPool and AvgPool forward (#815); MaxPool backward (#750) + +### Changes + +None diff --git a/CITATION.cff b/CITATION.cff new file mode 100644 index 0000000000..3813d63812 --- /dev/null +++ b/CITATION.cff @@ -0,0 +1,67 @@ +cff-version: 1.2.0 +title: Composable Kernel +message: If you use this software, please cite using the following metadata. +type: software +authors: + - given-names: Chao + family-names: Liu + email: chao.liu2@amd.com + affiliation: AMD + - given-names: Jing + family-names: Zhang + email: jing.zhang3@amd.com + affiliation: AMD + - given-names: Letao + family-names: Qin + email: letao.qin@amd.com + affiliation: AMD + - given-names: Qianfeng + family-names: Zhang + email: qianfeng.zhang@amd.com + affiliation: AMD + - given-names: Liang + family-names: Huang + email: carlus.huang@amd.com + affiliation: AMD + - given-names: Shaojie + family-names: Wang + email: shaojie.wang@amd.com + affiliation: AMD + - given-names: Anthony + family-names: Chang + email: antc@amd.com + affiliation: AMD + - given-names: Chunyu + family-names: Lai + email: chunyu.lai@amd.com + affiliation: AMD + - given-names: Illia + family-names: Silin + email: illia.silin@amd.com + affiliation: AMD + - given-names: Adam + family-names: Osewski + email: adam.osewski@amd.com + affiliation: AMD + - given-names: Poyen + family-names: Chen + email: poyen.chen@amd.com + affiliation: AMD + - given-names: Rosty + family-names: Geyyer + email: rosty.geyyer@amd.com + affiliation: AMD + - given-names: Hanwen + family-names: Chen + - given-names: Tejash + family-names: Shah + - given-names: Xiaoyan + family-names: Zhou + - given-names: Jianfeng + family-names: Yan +repository-code: 'https://github.com/ROCm/composable_kernel' +abstract: Composable Kernel (CK) library aims to provide a programming model for writing performance critical kernels for Machine Learning workloads across multiple architectures including GPUs, CPUs, etc, through general purpose kernel progarmming languages, like HIP C++. +keywords: + - 'CK, Composable Kernel, Tensor Coordinate Transformation' +license: MIT +license-url: https://github.com/ROCm/composable_kernel/blob/7fc3ed761aa35709d87c8fbbe41dd368648b3541/LICENSE diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000000..4e12462a41 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,671 @@ +cmake_minimum_required(VERSION 3.14) +if(POLICY CMP0140) + # policies CMP0140 not known to CMake until 3.25 + cmake_policy(SET CMP0140 NEW) +endif() + +get_property(_GENERATOR_IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) + +# This has to be initialized before the project() command appears +# Set the default of CMAKE_BUILD_TYPE to be release, unless user specifies with -D. MSVC_IDE does not use CMAKE_BUILD_TYPE +if(_GENERATOR_IS_MULTI_CONFIG) + set(CMAKE_CONFIGURATION_TYPES "Debug;Release;RelWithDebInfo;MinSizeRel" CACHE STRING + "Available build types (configurations) on multi-config generators") +else() + set(CMAKE_BUILD_TYPE Release CACHE STRING + "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel.") +endif() + +# Default installation path +if(NOT WIN32) + set(CMAKE_INSTALL_PREFIX "/opt/rocm" CACHE PATH "") +endif() + +set(version 1.1.0) +# Check support for CUDA/HIP in Cmake +project(composable_kernel VERSION ${version} LANGUAGES CXX HIP) +include(CTest) + +# Usage: for customized Python location cmake -DCK_USE_ALTERNATIVE_PYTHON="/opt/Python-3.8.13/bin/python3.8" +# CK Codegen requires dataclass which is added in Python 3.7 +# Python version 3.8 is required for general good practice as it is default for Ubuntu 20.04 +if(NOT CK_USE_ALTERNATIVE_PYTHON) + find_package(Python3 3.8 COMPONENTS Interpreter REQUIRED) +else() + message("Using alternative python version") + set(EXTRA_PYTHON_PATH) + # this is overly restrictive, we may need to be more flexible on the following + string(REPLACE "/bin/python3.8" "" EXTRA_PYTHON_PATH "${CK_USE_ALTERNATIVE_PYTHON}") + message("alternative python path is: ${EXTRA_PYTHON_PATH}") + find_package(Python3 3.6 COMPONENTS Interpreter REQUIRED) + add_definitions(-DPython3_EXECUTABLE="${CK_USE_ALTERNATIVE_PYTHON}") + set(Python3_EXECUTABLE "${CK_USE_ALTERNATIVE_PYTHON}") + set(PYTHON_EXECUTABLE "${CK_USE_ALTERNATIVE_PYTHON}") + set(ENV{LD_LIBRARY_PATH} "${EXTRA_PYTHON_PATH}/lib:$ENV{LD_LIBRARY_PATH}") +endif() + +list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") + +if (DTYPES) + add_definitions(-DDTYPES) + if (DTYPES MATCHES "int8") + add_definitions(-DCK_ENABLE_INT8) + set(CK_ENABLE_INT8 "ON") + endif() + if (DTYPES MATCHES "fp8") + add_definitions(-DCK_ENABLE_FP8) + set(CK_ENABLE_FP8 "ON") + endif() + if (DTYPES MATCHES "bf8") + add_definitions(-DCK_ENABLE_BF8) + set(CK_ENABLE_BF8 "ON") + endif() + if (DTYPES MATCHES "fp16") + add_definitions(-DCK_ENABLE_FP16) + set(CK_ENABLE_FP16 "ON") + endif() + if (DTYPES MATCHES "fp32") + add_definitions(-DCK_ENABLE_FP32) + set(CK_ENABLE_FP32 "ON") + endif() + if (DTYPES MATCHES "fp64") + add_definitions(-DCK_ENABLE_FP64) + set(CK_ENABLE_FP64 "ON") + endif() + if (DTYPES MATCHES "bf16") + add_definitions(-DCK_ENABLE_BF16) + set(CK_ENABLE_BF16 "ON") + endif() + message("DTYPES macro set to ${DTYPES}") +else() + add_definitions(-DCK_ENABLE_INT8 -DCK_ENABLE_FP16 -DCK_ENABLE_FP32 -DCK_ENABLE_FP64 -DCK_ENABLE_BF16 -DCK_ENABLE_FP8 -DCK_ENABLE_BF8) + set(CK_ENABLE_INT8 "ON") + set(CK_ENABLE_FP16 "ON") + set(CK_ENABLE_FP32 "ON") + set(CK_ENABLE_FP64 "ON") + set(CK_ENABLE_BF16 "ON") + set(CK_ENABLE_FP8 "ON") + set(CK_ENABLE_BF8 "ON") +endif() + +#for f8/bf8_t type +add_compile_options(-Wno-bit-int-extension) +add_compile_options(-Wno-pass-failed) +add_compile_options(-Wno-switch-default) +add_compile_options(-Wno-unique-object-duplication) + +if(NOT DISABLE_DL_KERNELS) + add_definitions(-DDL_KERNELS) + set(DL_KERNELS "ON") + set(CK_ENABLE_DL_KERNELS "ON") +endif() +if(NOT DISABLE_DPP_KERNELS) + add_definitions(-DDPP_KERNELS) + set(DPP_KERNELS "ON") + set(CK_ENABLE_DPP_KERNELS "ON") +endif() +option(CK_USE_CODEGEN "Enable codegen library" OFF) +if(CK_USE_CODEGEN) + add_definitions(-DCK_USE_CODEGEN) +endif() + +option(CK_TIME_KERNEL "Enable kernel time tracking" ON) +if(CK_TIME_KERNEL) + add_definitions(-DCK_TIME_KERNEL=1) +else() + add_definitions(-DCK_TIME_KERNEL=0) +endif() + +include(getopt) + +# CK version file to record release version as well as git commit hash +find_package(Git REQUIRED) +execute_process(COMMAND "${GIT_EXECUTABLE}" rev-parse HEAD OUTPUT_VARIABLE COMMIT_ID OUTPUT_STRIP_TRAILING_WHITESPACE) +configure_file(include/ck/version.h.in ${CMAKE_CURRENT_BINARY_DIR}/include/ck/version.h) + +set(ROCM_SYMLINK_LIBS OFF) +find_package(ROCM REQUIRED PATHS /opt/rocm) + +include(ROCMInstallTargets) +include(ROCMPackageConfigHelpers) +include(ROCMSetupVersion) +include(ROCMInstallSymlinks) +include(ROCMCreatePackage) +include(CheckCXXCompilerFlag) +include(ROCMCheckTargetIds) +include(TargetFlags) + +rocm_setup_version(VERSION ${version}) + +list(APPEND CMAKE_PREFIX_PATH ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_PREFIX}/llvm ${CMAKE_INSTALL_PREFIX}/hip /opt/rocm /opt/rocm/llvm /opt/rocm/hip "$ENV{ROCM_PATH}" "$ENV{HIP_PATH}") + +message("GPU_TARGETS= ${GPU_TARGETS}") +message("GPU_ARCHS= ${GPU_ARCHS}") +if(GPU_ARCHS) + #disable GPU_TARGETS to avoid conflicts, this needs to happen before we call hip package + unset(GPU_TARGETS CACHE) + unset(AMDGPU_TARGETS CACHE) +endif() +if(GPU_TARGETS) + set(USER_GPU_TARGETS 1) +else() + set(USER_GPU_TARGETS 0) +endif() +find_package(hip REQUIRED) +# No assumption that HIP kernels are launched with uniform block size for backward compatibility +# SWDEV-413293 and https://reviews.llvm.org/D155213 +math(EXPR hip_VERSION_FLAT "(${hip_VERSION_MAJOR} * 1000 + ${hip_VERSION_MINOR}) * 100000 + ${hip_VERSION_PATCH}") +message("hip_version_flat=${hip_VERSION_FLAT}") + +message("checking which targets are supported") +#In order to build just the CK library (without tests and examples) for all supported GPU targets +#use -D GPU_ARCHS="gfx908;gfx90a;gfx942;gfx1030;gfx1100;gfx1101;gfx1102;gfx1200;gfx1201" +#the GPU_TARGETS flag will be reset in this case in order to avoid conflicts. +# +#In order to build CK along with all tests and examples it should be OK to set GPU_TARGETS to just 1 or 2 similar architectures. +if(NOT ENABLE_ASAN_PACKAGING) + if(NOT WIN32 AND ${hip_VERSION_FLAT} LESS 600300000) + # WORKAROUND: compiler does not yet fully support gfx12 targets, need to fix version above + set(CK_GPU_TARGETS "gfx908;gfx90a;gfx942;gfx1030;gfx1100;gfx1101;gfx1102") + elseif(NOT WIN32 AND ${hip_VERSION_FLAT} GREATER_EQUAL 600300000 AND ${hip_VERSION_FLAT} LESS 600400000) + set(CK_GPU_TARGETS "gfx908;gfx90a;gfx942;gfx1030;gfx1100;gfx1101;gfx1102;gfx1200;gfx1201") + elseif(NOT WIN32 AND ${hip_VERSION_FLAT} GREATER_EQUAL 600400000) + set(CK_GPU_TARGETS "gfx908;gfx90a;gfx942;gfx1030;gfx1100;gfx1101;gfx1102;gfx1200;gfx1201;gfx950") + endif() +else() + #build CK only for xnack-supported targets when using ASAN + set(CK_GPU_TARGETS "gfx908:xnack+;gfx90a:xnack+;gfx942:xnack+") +endif() + +#if user set GPU_ARCHS on the cmake command line, overwrite default target list with user's list +#otherwise, if user set GPU_TARGETS, use that set of targets +if(GPU_ARCHS) + set(CK_GPU_TARGETS ${GPU_ARCHS}) +else() + if(USER_GPU_TARGETS) + set(CK_GPU_TARGETS ${GPU_TARGETS}) + endif() +endif() +#if the user did not set GPU_TARGETS, delete whatever was set by HIP package +if(NOT USER_GPU_TARGETS) + set(GPU_TARGETS "") +endif() +#make sure all the targets on the list are actually supported by the current compiler +rocm_check_target_ids(SUPPORTED_GPU_TARGETS + TARGETS ${CK_GPU_TARGETS}) + +message("Building CK for the following targets: ${SUPPORTED_GPU_TARGETS}") + +if (SUPPORTED_GPU_TARGETS MATCHES "gfx9") + message("Enabling XDL instances") + add_definitions(-DCK_USE_XDL) + set(CK_USE_XDL "ON") +endif() +if (SUPPORTED_GPU_TARGETS MATCHES "gfx94" OR SUPPORTED_GPU_TARGETS MATCHES "gfx95") + message("Enabling XDL FP8 gemms on native architectures") + add_definitions(-DCK_USE_GFX94) + set(CK_USE_GFX94 "ON") +endif() +if (SUPPORTED_GPU_TARGETS MATCHES "gfx11" OR SUPPORTED_GPU_TARGETS MATCHES "gfx12") + message("Enabling WMMA instances") + add_definitions(-DCK_USE_WMMA) + set(CK_USE_WMMA "ON") +endif() +if (SUPPORTED_GPU_TARGETS MATCHES "gfx12") + message("Enabling WMMA FP8 gemms on native architectures") + add_definitions(-DCK_USE_WMMA_FP8) + set(CK_USE_WMMA_FP8 "ON") +endif() +if (SUPPORTED_GPU_TARGETS MATCHES "gfx12" OR SUPPORTED_GPU_TARGETS MATCHES "gfx950") + add_definitions(-DCK_USE_OCP_FP8) + set(CK_USE_OCP_FP8 "ON") +endif() +if (SUPPORTED_GPU_TARGETS MATCHES "gfx90a" OR SUPPORTED_GPU_TARGETS MATCHES "gfx94") + add_definitions(-DCK_USE_FNUZ_FP8) + set(CK_USE_FNUZ_FP8 "ON") +endif() +if (SUPPORTED_GPU_TARGETS MATCHES "gfx950") + add_definitions(-DCK_USE_NATIVE_MX_SUPPORT) + set(CK_USE_NATIVE_MX_SUPPORT "ON") +endif() + +option(CK_USE_FP8_ON_UNSUPPORTED_ARCH "Enable FP8 GEMM instances on older architectures" OFF) +if(CK_USE_FP8_ON_UNSUPPORTED_ARCH AND (SUPPORTED_GPU_TARGETS MATCHES "gfx90a" OR SUPPORTED_GPU_TARGETS MATCHES "gfx908")) + add_definitions(-DCK_USE_FP8_ON_UNSUPPORTED_ARCH) + set(CK_USE_FP8_ON_UNSUPPORTED_ARCH "ON") +endif() + +# CK config file to record supported datatypes, etc. +configure_file(include/ck/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/include/ck/config.h) + +if(NOT WIN32 AND ${hip_VERSION_FLAT} GREATER 500723302) + check_cxx_compiler_flag("-fno-offload-uniform-block" HAS_NO_OFFLOAD_UNIFORM_BLOCK) + if(HAS_NO_OFFLOAD_UNIFORM_BLOCK) + message("Adding the fno-offload-uniform-block compiler flag") + add_compile_options(-fno-offload-uniform-block) + endif() +endif() +if(NOT WIN32 AND ${hip_VERSION_FLAT} GREATER 500500000) + check_cxx_compiler_flag("-mllvm --lsr-drop-solution=1" HAS_LSR_DROP_SOLUTION) + if(HAS_LSR_DROP_SOLUTION) + message("Adding the lsr-drop-solution=1 compiler flag") + add_compile_options("SHELL: -mllvm --lsr-drop-solution=1") + endif() +endif() +if(NOT WIN32 AND ${hip_VERSION_FLAT} GREATER 600140090) + check_cxx_compiler_flag("-mllvm -enable-post-misched=0" HAS_ENABLE_POST_MISCHED) + if(HAS_ENABLE_POST_MISCHED) + message("Adding the enable-post-misched=0 compiler flag") + add_compile_options("SHELL: -mllvm -enable-post-misched=0") + endif() +endif() +set(check-coerce) +check_cxx_compiler_flag(" -mllvm -amdgpu-coerce-illegal-types=1" check-coerce) +if(NOT WIN32 AND check-coerce AND ${hip_VERSION_FLAT} GREATER 600241132) + message("Adding the amdgpu-coerce-illegal-types=1") + add_compile_options("SHELL: -mllvm -amdgpu-coerce-illegal-types=1") +endif() +if(NOT WIN32 AND ${hip_VERSION_FLAT} GREATER 600241132) + message("Adding -amdgpu-early-inline-all=true and -amdgpu-function-calls=false") + add_compile_options("SHELL: -mllvm -amdgpu-early-inline-all=true") + add_compile_options("SHELL: -mllvm -amdgpu-function-calls=false") +endif() +# +# Seperate linking jobs from compiling +# Too many concurrent linking jobs can break the build +# Copied from LLVM +set(CK_PARALLEL_LINK_JOBS "" CACHE STRING + "Define the maximum number of concurrent link jobs (Ninja only).") +if(CMAKE_GENERATOR MATCHES "Ninja") + if(CK_PARALLEL_LINK_JOBS) + set_property(GLOBAL APPEND PROPERTY JOB_POOLS link_job_pool=${CK_PARALLEL_LINK_JOBS}) + set(CMAKE_JOB_POOL_LINK link_job_pool) + endif() +elseif(CK_PARALLEL_LINK_JOBS) + message(WARNING "Job pooling is only available with Ninja generators.") +endif() +# Similar for compiling +set(CK_PARALLEL_COMPILE_JOBS "" CACHE STRING + "Define the maximum number of concurrent compile jobs (Ninja only).") +if(CMAKE_GENERATOR MATCHES "Ninja") + if(CK_PARALLEL_COMPILE_JOBS) + set_property(GLOBAL APPEND PROPERTY JOB_POOLS compile_job_pool=${CK_PARALLEL_COMPILE_JOBS}) + set(CMAKE_JOB_POOL_COMPILE compile_job_pool) + endif() +elseif(CK_PARALLEL_COMPILE_JOBS) + message(WARNING "Job pooling is only available with Ninja generators.") +endif() + + +option(USE_BITINT_EXTENSION_INT4 "Whether to enable clang's BitInt extension to provide int4 data type." OFF) +option(USE_OPT_GFX11 "Whether to enable LDS cumode and Wavefront32 mode for GFX11 silicons." OFF) + +if(USE_BITINT_EXTENSION_INT4) + add_compile_definitions(CK_EXPERIMENTAL_BIT_INT_EXTENSION_INT4) + add_compile_options(-Wno-bit-int-extension) + message("CK compiled with USE_BITINT_EXTENSION_INT4 set to ${USE_BITINT_EXTENSION_INT4}") +endif() + +if(USE_OPT_GFX11) + add_compile_options(-mcumode) + add_compile_options(-mno-wavefrontsize64) + message("CK compiled with USE_OPT_GFX11 set to ${USE_OPT_GFX11}") +endif() + +## Threads +set(THREADS_PREFER_PTHREAD_FLAG ON) +find_package(Threads REQUIRED) +link_libraries(Threads::Threads) + +## C++ +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) +message("CMAKE_CXX_COMPILER: ${CMAKE_CXX_COMPILER}") + +# https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_macros.html +# _GLIBCXX_ASSERTIONS +# Undefined by default. When defined, enables extra error checking in the form of +# precondition assertions, such as bounds checking in strings and null pointer +# checks when dereferencing smart pointers +option(USE_GLIBCXX_ASSERTIONS "Turn on additional c++ library checks." OFF) +if(USE_GLIBCXX_ASSERTIONS) + add_compile_options(-Wp,-D_GLIBCXX_ASSERTIONS) +endif() + +## HIP +set(CMAKE_HIP_PLATFORM amd) +set(CMAKE_HIP_COMPILER ${CMAKE_CXX_COMPILER}) +set(CMAKE_HIP_EXTENSIONS ON) +message("CMAKE_HIP_COMPILER: ${CMAKE_HIP_COMPILER}") + +## OpenMP +if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") + # workaround issue hipcc in rocm3.5 cannot find openmp + set(OpenMP_CXX "${CMAKE_CXX_COMPILER}") + set(OpenMP_CXX_FLAGS "-fopenmp=libomp -Wno-unused-command-line-argument") + set(OpenMP_CXX_LIB_NAMES "libomp" "libgomp" "libiomp5") + set(OpenMP_libomp_LIBRARY ${OpenMP_CXX_LIB_NAMES}) + set(OpenMP_libgomp_LIBRARY ${OpenMP_CXX_LIB_NAMES}) + set(OpenMP_libiomp5_LIBRARY ${OpenMP_CXX_LIB_NAMES}) +else() + find_package(OpenMP REQUIRED) +endif() + +message("OpenMP_CXX_LIB_NAMES: ${OpenMP_CXX_LIB_NAMES}") +message("OpenMP_gomp_LIBRARY: ${OpenMP_gomp_LIBRARY}") +message("OpenMP_pthread_LIBRARY: ${OpenMP_pthread_LIBRARY}") +message("OpenMP_CXX_FLAGS: ${OpenMP_CXX_FLAGS}") + +link_libraries(${OpenMP_gomp_LIBRARY}) +link_libraries(${OpenMP_pthread_LIBRARY}) + +## HIP +# Override HIP version in config.h, if necessary. +# The variables set by find_package() can't be overwritten, +# therefore let's use intermediate variables. +set(CK_HIP_VERSION_MAJOR "${HIP_VERSION_MAJOR}") +set(CK_HIP_VERSION_MINOR "${HIP_VERSION_MINOR}") +set(CK_HIP_VERSION_PATCH "${HIP_VERSION_PATCH}") +if( DEFINED CK_OVERRIDE_HIP_VERSION_MAJOR ) + set(CK_HIP_VERSION_MAJOR "${CK_OVERRIDE_HIP_VERSION_MAJOR}") + message(STATUS "CK_HIP_VERSION_MAJOR overriden with ${CK_OVERRIDE_HIP_VERSION_MAJOR}") +endif() +if( DEFINED CK_OVERRIDE_HIP_VERSION_MINOR ) + set(CK_HIP_VERSION_MINOR "${CK_OVERRIDE_HIP_VERSION_MINOR}") + message(STATUS "CK_HIP_VERSION_MINOR overriden with ${CK_OVERRIDE_HIP_VERSION_MINOR}") +endif() +if( DEFINED CK_OVERRIDE_HIP_VERSION_PATCH ) + set(CK_HIP_VERSION_PATCH "${CK_OVERRIDE_HIP_VERSION_PATCH}") + message(STATUS "CK_HIP_VERSION_PATCH overriden with ${CK_OVERRIDE_HIP_VERSION_PATCH}") +endif() +message(STATUS "Build with HIP ${HIP_VERSION}") +link_libraries(hip::device) +if(CK_hip_VERSION VERSION_GREATER_EQUAL 6.0.23494) + add_compile_definitions(__HIP_PLATFORM_AMD__=1) +else() + add_compile_definitions(__HIP_PLATFORM_HCC__=1) +endif() + +## tidy +include(EnableCompilerWarnings) +set(CK_TIDY_ERRORS ERRORS * -readability-inconsistent-declaration-parameter-name) +if(CMAKE_CXX_COMPILER MATCHES ".*hcc" OR CMAKE_CXX_COMPILER MATCHES ".*clang\\+\\+") + set(CK_TIDY_CHECKS -modernize-use-override -readability-non-const-parameter) +# Enable tidy on hip +elseif(CK_BACKEND STREQUAL "HIP" OR CK_BACKEND STREQUAL "HIPNOGPU") + set(CK_TIDY_ERRORS ALL) +endif() + + +include(ClangTidy) +enable_clang_tidy( + CHECKS + * + -abseil-* + -android-cloexec-fopen + # Yea we shouldn't be using rand() + -cert-msc30-c + -bugprone-exception-escape + -bugprone-macro-parentheses + -cert-env33-c + -cert-msc32-c + -cert-msc50-cpp + -cert-msc51-cpp + -cert-dcl37-c + -cert-dcl51-cpp + -clang-analyzer-alpha.core.CastToStruct + -clang-analyzer-optin.performance.Padding + -clang-diagnostic-deprecated-declarations + -clang-diagnostic-extern-c-compat + -clang-diagnostic-unused-command-line-argument + -cppcoreguidelines-avoid-c-arrays + -cppcoreguidelines-avoid-magic-numbers + -cppcoreguidelines-explicit-virtual-functions + -cppcoreguidelines-init-variables + -cppcoreguidelines-macro-usage + -cppcoreguidelines-non-private-member-variables-in-classes + -cppcoreguidelines-pro-bounds-array-to-pointer-decay + -cppcoreguidelines-pro-bounds-constant-array-index + -cppcoreguidelines-pro-bounds-pointer-arithmetic + -cppcoreguidelines-pro-type-member-init + -cppcoreguidelines-pro-type-reinterpret-cast + -cppcoreguidelines-pro-type-union-access + -cppcoreguidelines-pro-type-vararg + -cppcoreguidelines-special-member-functions + -fuchsia-* + -google-explicit-constructor + -google-readability-braces-around-statements + -google-readability-todo + -google-runtime-int + -google-runtime-references + -hicpp-vararg + -hicpp-braces-around-statements + -hicpp-explicit-conversions + -hicpp-named-parameter + -hicpp-no-array-decay + # We really shouldn't use bitwise operators with signed integers, but + # opencl leaves us no choice + -hicpp-avoid-c-arrays + -hicpp-signed-bitwise + -hicpp-special-member-functions + -hicpp-uppercase-literal-suffix + -hicpp-use-auto + -hicpp-use-equals-default + -hicpp-use-override + -llvm-header-guard + -llvm-include-order + #-llvmlibc-* + -llvmlibc-restrict-system-libc-headers + -llvmlibc-callee-namespace + -llvmlibc-implementation-in-namespace + -llvm-else-after-return + -llvm-qualified-auto + -misc-misplaced-const + -misc-non-private-member-variables-in-classes + -misc-no-recursion + -modernize-avoid-bind + -modernize-avoid-c-arrays + -modernize-pass-by-value + -modernize-use-auto + -modernize-use-default-member-init + -modernize-use-equals-default + -modernize-use-trailing-return-type + -modernize-use-transparent-functors + -performance-unnecessary-value-param + -readability-braces-around-statements + -readability-else-after-return + # we are not ready to use it, but very useful + -readability-function-cognitive-complexity + -readability-isolate-declaration + -readability-magic-numbers + -readability-named-parameter + -readability-uppercase-literal-suffix + -readability-convert-member-functions-to-static + -readability-qualified-auto + -readability-redundant-string-init + # too many narrowing conversions in our code + -bugprone-narrowing-conversions + -cppcoreguidelines-narrowing-conversions + -altera-struct-pack-align + -cppcoreguidelines-prefer-member-initializer + ${CK_TIDY_CHECKS} + ${CK_TIDY_ERRORS} + HEADER_FILTER + "\.hpp$" + EXTRA_ARGS + -DCK_USE_CLANG_TIDY +) + +include(CppCheck) +enable_cppcheck( + CHECKS + warning + style + performance + portability + SUPPRESS + ConfigurationNotChecked + constStatement + duplicateCondition + noExplicitConstructor + passedByValue + preprocessorErrorDirective + shadowVariable + unusedFunction + unusedPrivateFunction + unusedStructMember + unmatchedSuppression + FORCE + SOURCES + library/src + INCLUDE + ${CMAKE_CURRENT_SOURCE_DIR}/include + ${CMAKE_CURRENT_BINARY_DIR}/include + ${CMAKE_CURRENT_SOURCE_DIR}/library/include + DEFINE + CPPCHECK=1 + __linux__=1 +) + +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin) + +# set CK project include directories +include_directories(BEFORE + ${PROJECT_BINARY_DIR}/include + ${PROJECT_SOURCE_DIR}/include + ${PROJECT_SOURCE_DIR}/library/include + ${HIP_INCLUDE_DIRS} +) + +SET(BUILD_DEV ON CACHE BOOL "BUILD_DEV") +if(BUILD_DEV) + add_compile_options(-Werror) + add_compile_options(-Weverything) +endif() +message("CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}") + +if("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") + add_compile_options(-fcolor-diagnostics) +endif() +if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.9) + add_compile_options(-fdiagnostics-color=always) +endif() + +# make check runs the entire set of examples and tests +add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C ${CMAKE_CFG_INTDIR}) +# make smoke runs the tests and examples that runs within 30 seconds on gfx90a +add_custom_target(smoke COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C ${CMAKE_CFG_INTDIR} -L "SMOKE_TEST") +# make regression runs the tests and examples that runs for more 30 seconds on gfx90a +add_custom_target(regression COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C ${CMAKE_CFG_INTDIR} -L "REGRESSION_TEST") + + +file(GLOB_RECURSE INSTANCE_FILES "${PROJECT_SOURCE_DIR}/*/device_*_instance.cpp") +file(GLOB dir_list RELATIVE ${PROJECT_SOURCE_DIR}/library/src/tensor_operation_instance/gpu ${PROJECT_SOURCE_DIR}/library/src/tensor_operation_instance/gpu/*) +set(CK_DEVICE_INSTANCES) +FOREACH(subdir_path ${dir_list}) +set(target_dir) +IF(IS_DIRECTORY "${PROJECT_SOURCE_DIR}/library/src/tensor_operation_instance/gpu/${subdir_path}") + set(cmake_instance) + file(READ "${PROJECT_SOURCE_DIR}/library/src/tensor_operation_instance/gpu/${subdir_path}/CMakeLists.txt" cmake_instance) + set(add_inst 0) + if(("${cmake_instance}" MATCHES "fp8" OR "${cmake_instance}" MATCHES "_f8") AND DTYPES MATCHES "fp8") + set(add_inst 1) + endif() + if(("${cmake_instance}" MATCHES "bf8" OR "${cmake_instance}" MATCHES "_b8") AND DTYPES MATCHES "bf8") + set(add_inst 1) + endif() + if(("${cmake_instance}" MATCHES "fp16" OR "${cmake_instance}" MATCHES "_f16") AND DTYPES MATCHES "fp16") + set(add_inst 1) + endif() + if(("${cmake_instance}" MATCHES "fp32" OR "${cmake_instance}" MATCHES "_f32") AND DTYPES MATCHES "fp32") + set(add_inst 1) + endif() + if(("${cmake_instance}" MATCHES "fp64" OR "${cmake_instance}" MATCHES "_f64") AND DTYPES MATCHES "fp64") + set(add_inst 1) + endif() + if(("${cmake_instance}" MATCHES "bf16" OR "${cmake_instance}" MATCHES "_b16") AND DTYPES MATCHES "bf16") + set(add_inst 1) + endif() + if(("${cmake_instance}" MATCHES "int8" OR "${cmake_instance}" MATCHES "_i8") AND DTYPES MATCHES "int8") + set(add_inst 1) + endif() + if(NOT "${cmake_instance}" MATCHES "DTYPES") + set(add_inst 1) + endif() + if(add_inst EQUAL 1 OR NOT DEFINED DTYPES) + list(APPEND CK_DEVICE_INSTANCES device_${subdir_path}_instance) + endif() +ENDIF() +ENDFOREACH() + +add_custom_target(instances DEPENDS utility;${CK_DEVICE_INSTANCES} SOURCES ${INSTANCE_FILES}) +add_subdirectory(library) + +if(NOT GPU_ARCHS AND USER_GPU_TARGETS) + rocm_package_setup_component(tests + LIBRARY_NAME composablekernel + PACKAGE_NAME tests # Prevent -static suffix on package name + ) + + rocm_package_setup_component(examples + LIBRARY_NAME composablekernel + PACKAGE_NAME examples + ) + add_subdirectory(example) + add_subdirectory(tile_engine) + if(BUILD_TESTING) + add_subdirectory(test) + endif() +endif() + +rocm_package_setup_component(profiler + LIBRARY_NAME composablekernel + PACKAGE_NAME ckprofiler +) +add_subdirectory(profiler) + +if(CK_USE_CODEGEN AND (SUPPORTED_GPU_TARGETS MATCHES "gfx9" OR GPU_ARCHS)) + add_subdirectory(codegen) +endif() + +#Create an interface target for the include only files and call it "composablekernels" +include(CMakePackageConfigHelpers) + +write_basic_package_version_file( + "${CMAKE_CURRENT_BINARY_DIR}/composable_kernelConfigVersion.cmake" + VERSION "${version}" + COMPATIBILITY AnyNewerVersion +) + +configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in + "${CMAKE_CURRENT_BINARY_DIR}/composable_kernelConfig.cmake" + INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/composable_kernel + NO_CHECK_REQUIRED_COMPONENTS_MACRO +) + +rocm_install(FILES + "${CMAKE_CURRENT_BINARY_DIR}/composable_kernelConfig.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/composable_kernelConfigVersion.cmake" + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/composable_kernel +) + +# Install CK version and configuration files +rocm_install(FILES + ${PROJECT_BINARY_DIR}/include/ck/version.h + ${PROJECT_BINARY_DIR}/include/ck/config.h + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/ck/ +) + +set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") +set(CPACK_RPM_PACKAGE_LICENSE "MIT") + +rocm_create_package( + NAME composablekernel + DESCRIPTION "High Performance Composable Kernel for AMD GPUs" + MAINTAINER "MIOpen Kernels Dev Team