mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-05-19 04:19:36 +00:00
* initial stub for standalone softmax
* start device_softmax_mk_to_mk as a wrapper to device_reduce_mk_to_m
* host softmax validates
* compiles; to implement beta scaling
* use NaN trick to efficiently ignore OOB values during sum of exponentials
* freeload device_reduce's utility functions
* clean up interface
* adding prior value (beta scaling)
* remove restriction related to perf considerations
* apply clang-format
* clean; disable diagnostics
* resolve conflicts
* add exp wrapper
* honor HostTensorDesc interface; allow implicit cast from different vector<T> type
* test softmax for fp16/fp32
* update readme
* amend commit NaN trick
* remove redundant param added during development
* format
* replace ScalarDataType with AccDataType
* separate out test programs by precision type
* move softmax sample code to its own folder
* format
* keep up with recent changes in reduction API
* remove extra header
[ROCm/composable_kernel commit: 15c89e81f0]
60 lines
2.6 KiB
CMake
60 lines
2.6 KiB
CMake
include_directories(BEFORE
|
|
${PROJECT_SOURCE_DIR}/include/ck
|
|
${PROJECT_SOURCE_DIR}/include/ck/utility
|
|
${PROJECT_SOURCE_DIR}/include/ck/host_utility
|
|
${PROJECT_SOURCE_DIR}/include/ck/tensor_description
|
|
${PROJECT_SOURCE_DIR}/include/ck/tensor
|
|
${PROJECT_SOURCE_DIR}/include/ck/problem_transform
|
|
${PROJECT_SOURCE_DIR}/include/ck/tensor_operation/gpu/device
|
|
${PROJECT_SOURCE_DIR}/include/ck/tensor_operation/gpu/grid
|
|
${PROJECT_SOURCE_DIR}/include/ck/tensor_operation/gpu/block
|
|
${PROJECT_SOURCE_DIR}/include/ck/tensor_operation/gpu/warp
|
|
${PROJECT_SOURCE_DIR}/include/ck/tensor_operation/gpu/thread
|
|
${PROJECT_SOURCE_DIR}/include/ck/tensor_operation/gpu/element
|
|
${PROJECT_SOURCE_DIR}/library/include/ck/library/host_tensor
|
|
${PROJECT_SOURCE_DIR}/library/include/ck/library/reference_tensor_operation/cpu
|
|
${PROJECT_SOURCE_DIR}/library/include/ck/library/reference_tensor_operation/gpu
|
|
${PROJECT_SOURCE_DIR}/library/include/ck/library/utility
|
|
${PROJECT_SOURCE_DIR}/external/include/half
|
|
)
|
|
|
|
add_custom_target(examples)
|
|
|
|
function(add_example_executable EXAMPLE_NAME FILE_NAME)
|
|
message("adding example ${EXAMPLE_NAME}")
|
|
add_executable(${EXAMPLE_NAME} ${FILE_NAME})
|
|
target_link_libraries(${EXAMPLE_NAME} PRIVATE host_tensor)
|
|
add_test(NAME ${EXAMPLE_NAME} COMMAND $<TARGET_FILE:${EXAMPLE_NAME}> ${ARGN})
|
|
add_dependencies(examples ${EXAMPLE_NAME})
|
|
add_dependencies(check ${EXAMPLE_NAME})
|
|
endfunction(add_example_executable EXAMPLE_NAME)
|
|
|
|
function(add_example_executable_no_testing EXAMPLE_NAME FILE_NAME)
|
|
message("adding example ${EXAMPLE_NAME}")
|
|
add_executable(${EXAMPLE_NAME} ${FILE_NAME})
|
|
target_link_libraries(${EXAMPLE_NAME} PRIVATE host_tensor)
|
|
add_dependencies(examples ${EXAMPLE_NAME})
|
|
endfunction(add_example_executable_no_testing EXAMPLE_NAME)
|
|
|
|
add_subdirectory(01_gemm)
|
|
add_subdirectory(02_gemm_alpha_beta)
|
|
add_subdirectory(03_gemm_bias_relu)
|
|
add_subdirectory(04_gemm_add_add_fastgelu)
|
|
add_subdirectory(06_conv2d_fwd_bias_relu)
|
|
add_subdirectory(07_conv2d_fwd_bias_relu_add)
|
|
add_subdirectory(09_convnd_fwd)
|
|
add_subdirectory(10_conv2d_bwd_data)
|
|
add_subdirectory(11_conv2d_bwd_weight)
|
|
add_subdirectory(12_reduce)
|
|
add_subdirectory(13_pool2d_fwd)
|
|
add_subdirectory(14_gemm_xdl_requant_relu_requant)
|
|
add_subdirectory(15_grouped_gemm)
|
|
add_subdirectory(16_gemm_reduce)
|
|
add_subdirectory(17_convnd_bwd_data_xdl)
|
|
add_subdirectory(18_batched_gemm_reduce)
|
|
add_subdirectory(19_binary_elementwise)
|
|
add_subdirectory(20_convnd_bwd_weight_xdl)
|
|
add_subdirectory(21_gemm_layernorm)
|
|
add_subdirectory(22_cgemm)
|
|
add_subdirectory(23_softmax)
|