mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-05-17 19:40:04 +00:00
* universal streamk with atomics with ckprofiler support. grid_size and streamk strategy are tunable. grid_size of -1 leads to #WGs = maximum occupancy X num_CUs. implementation supports many different streamk policies: 1-tile, 2-tile, 3-tile and 4-tile. streamk strategy of -1 leads to default streamk policy (4-tile).
* Update README.md
* fixing clang-format issues
* removed conflicts in struct members between streamk and universal streamk
* corrected arg parsing for streamk and universal streamk
* added stream-k policies for 3 tile and 4 tile
* fixed argument type issue with parsing cmd args
* changes suggested in PR review are made- removing comments and correcting copyright
* file permissions updated
* added default value support for grid_size and streamk-policy selection set to -1
* print messages for arguments
* print messages for arguments
* print messages for arguments1
[ROCm/composable_kernel commit: 75e622f02f]
86 lines
3.9 KiB
CMake
86 lines
3.9 KiB
CMake
add_custom_target(example_gemm_dl)
|
|
|
|
add_example_executable(example_gemm_dl_fp32 gemm_dl_fp32.cpp)
|
|
add_example_dependencies(example_gemm_dl example_gemm_dl_fp32)
|
|
|
|
add_example_executable(example_gemm_dl_fp16 gemm_dl_fp16.cpp)
|
|
add_example_dependencies(example_gemm_dl example_gemm_dl_fp16)
|
|
|
|
add_example_executable(example_gemm_dpp_fp16 gemm_dpp_fp16.cpp)
|
|
|
|
add_example_executable(example_gemm_dl_int8 gemm_dl_int8.cpp)
|
|
add_example_dependencies(example_gemm_dl example_gemm_dl_int8)
|
|
if(USE_BITINT_EXTENSION_INT4)
|
|
add_example_executable(example_gemm_dl_int4 gemm_dl_int4.cpp)
|
|
add_example_dependencies(example_gemm_dl example_gemm_dl_int4)
|
|
endif(USE_BITINT_EXTENSION_INT4)
|
|
|
|
add_custom_target(example_gemm_xdl)
|
|
add_example_executable(example_gemm_xdl_fp16 gemm_xdl_fp16.cpp)
|
|
add_example_dependencies(example_gemm_xdl example_gemm_xdl_fp16)
|
|
|
|
add_example_executable(example_gemm_xdl_fp16_v2 gemm_xdl_fp16_v2.cpp)
|
|
add_example_dependencies(example_gemm_xdl example_gemm_xdl_fp16_v2)
|
|
|
|
add_example_executable(example_gemm_xdl_fp16_streamk_v3 gemm_xdl_fp16_streamk_v3.cpp)
|
|
add_example_dependencies(example_gemm_xdl example_gemm_xdl_fp16_streamk_v3)
|
|
add_example_executable(example_gemm_xdl_fp16_v3 gemm_xdl_fp16_v3.cpp)
|
|
add_example_dependencies(example_gemm_xdl example_gemm_xdl_fp16_v3)
|
|
add_example_executable(example_gemm_xdl_fp8_v3 gemm_xdl_fp8_v3.cpp)
|
|
add_example_dependencies(example_gemm_xdl example_gemm_xdl_fp8_v3)
|
|
add_example_executable(example_gemm_xdl_fp16_fp8_v3 gemm_xdl_fp16_fp8_v3.cpp)
|
|
add_example_dependencies(example_gemm_xdl example_gemm_xdl_fp16_fp8_v3)
|
|
add_example_executable(example_gemm_xdl_bf16_v3 gemm_xdl_bf16_v3.cpp)
|
|
add_example_dependencies(example_gemm_xdl example_gemm_xdl_bf16_v3)
|
|
|
|
add_example_executable(example_gemm_xdl_wavelet_fp16 gemm_xdl_wavelet_fp16.cpp)
|
|
add_example_dependencies(example_gemm_xdl example_gemm_xdl_wavelet_fp16)
|
|
|
|
add_example_executable(example_gemm_xdl_skip_b_lds_fp16 gemm_xdl_skip_b_lds_fp16.cpp)
|
|
add_example_dependencies(example_gemm_xdl example_gemm_xdl_skip_b_lds_fp16)
|
|
|
|
add_example_executable(example_gemm_xdl_bf16 gemm_xdl_bf16.cpp)
|
|
add_example_dependencies(example_gemm_xdl example_gemm_xdl_bf16)
|
|
|
|
add_example_executable(example_gemm_xdl_bf16_rtn gemm_xdl_bf16_rtn.cpp)
|
|
add_example_dependencies(example_gemm_xdl example_gemm_xdl_bf16_rtn)
|
|
|
|
add_example_executable(example_gemm_xdl_int8 gemm_xdl_int8.cpp)
|
|
add_example_dependencies(example_gemm_xdl example_gemm_xdl_int8)
|
|
|
|
if(USE_BITINT_EXTENSION_INT4)
|
|
add_example_executable(example_gemm_xdl_int4 gemm_xdl_int4.cpp)
|
|
add_example_dependencies(example_gemm_xdl example_gemm_xdl_int4)
|
|
endif(USE_BITINT_EXTENSION_INT4)
|
|
|
|
add_example_executable(example_gemm_xdl_fp64 gemm_xdl_fp64.cpp)
|
|
add_example_dependencies(example_gemm_xdl example_gemm_xdl_fp64)
|
|
|
|
add_example_executable(example_gemm_xdl_streamk gemm_xdl_streamk.cpp)
|
|
|
|
list(APPEND gpu_list gfx90a gfx940 gfx941 gfx942)
|
|
set(target 0)
|
|
foreach(gpu IN LISTS GPU_TARGETS)
|
|
if(gpu IN_LIST gpu_list AND target EQUAL 0)
|
|
add_example_executable(example_gemm_xdl_lds_direct_load_fp32 gemm_xdl_lds_direct_load_fp32.cpp)
|
|
add_example_dependencies(example_gemm_xdl example_gemm_xdl_lds_direct_load_fp32)
|
|
|
|
add_example_executable(example_gemm_xdl_lds_direct_load_fp16 gemm_xdl_lds_direct_load_fp16.cpp)
|
|
add_example_dependencies(example_gemm_xdl example_gemm_xdl_lds_direct_load_fp16)
|
|
set(target 1)
|
|
endif()
|
|
endforeach()
|
|
|
|
add_example_executable(example_gemm_xdl_fp8 gemm_xdl_fp8.cpp)
|
|
add_example_dependencies(example_gemm_xdl example_gemm_xdl_fp8)
|
|
|
|
add_example_executable(example_gemm_xdl_fp8_bf8 gemm_xdl_fp8_bf8.cpp)
|
|
add_example_dependencies(example_gemm_xdl example_gemm_xdl_fp8_bf8)
|
|
|
|
add_example_executable(example_gemm_xdl_fp16_fp8 gemm_xdl_fp16_fp8.cpp)
|
|
add_example_dependencies(example_gemm_xdl example_gemm_xdl_fp16_fp8)
|
|
|
|
add_custom_target(example_gemm_wmma)
|
|
add_example_executable(example_gemm_wmma_fp16 gemm_wmma_fp16.cpp)
|
|
add_example_dependencies(example_gemm_wmma example_gemm_wmma_fp16)
|