mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-06-06 15:54:31 +00:00
Merge branch 'develop' into feature/cond-add-splitkv
This commit is contained in:
12
.github/CODEOWNERS
vendored
12
.github/CODEOWNERS
vendored
@@ -1,8 +1,8 @@
|
||||
* @zjing14 @junliume @illsilin @carlushuang @aosewski @yigex
|
||||
* @junliume @illsilin @carlushuang @aosewski @poyenc
|
||||
# Documentation files
|
||||
docs/* @ROCm/rocm-documentation @zjing14 @junliume @illsilin @carlushuang @aosewski @yigex
|
||||
*.md @ROCm/rocm-documentation @zjing14 @junliume @illsilin @carlushuang @aosewski @yigex
|
||||
*.rst @ROCm/rocm-documentation @zjing14 @junliume @illsilin @carlushuang @aosewski @yigex
|
||||
.readthedocs.yaml @ROCm/rocm-documentation @zjing14 @junliume @illsilin @carlushuang @aosewski @yigex
|
||||
docs/ @ROCm/rocm-documentation @junliume @illsilin @carlushuang @aosewski @poyenc
|
||||
*.md @ROCm/rocm-documentation @junliume @illsilin @carlushuang @aosewski @poyenc
|
||||
*.rst @ROCm/rocm-documentation @junliume @illsilin @carlushuang @aosewski @poyenc
|
||||
.readthedocs.yaml @ROCm/rocm-documentation @junliume @illsilin @carlushuang @aosewski @poyenc
|
||||
# Header directory for Doxygen documentation
|
||||
library/include/* @ROCm/rocm-documentation @zjing14 @junliume @illsilin @carlushuang @aosewski @yigex
|
||||
library/include/ @ROCm/rocm-documentation @junliume @illsilin @carlushuang @aosewski @poyenc
|
||||
|
||||
27
CHANGELOG.md
27
CHANGELOG.md
@@ -1,38 +1,46 @@
|
||||
# Changelog for Composable Kernel
|
||||
|
||||
Full documentation for Composable Kernel is not yet available.
|
||||
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/).
|
||||
|
||||
## CK for ROCm 6.1.0
|
||||
## 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
|
||||
|
||||
## CK for ROCm 6.0.0
|
||||
## 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)
|
||||
|
||||
* 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)
|
||||
@@ -42,18 +50,22 @@ None
|
||||
* Support for Batched GEMM DL (#732)
|
||||
|
||||
### Changes
|
||||
* Changed the grouped convolution API to maintain consistency with other convolution kernels (#817)
|
||||
|
||||
## CK 0.2.0 for ROCm 5.7.0
|
||||
* 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
|
||||
@@ -71,4 +83,5 @@ None
|
||||
* MaxPool and AvgPool forward (#815); MaxPool backward (#750)
|
||||
|
||||
### Changes
|
||||
|
||||
None
|
||||
|
||||
@@ -112,7 +112,7 @@ message("checking which targets are supported")
|
||||
#Setting GPU_TARGETS on command line will override this list
|
||||
if(NOT PROFILER_ONLY)
|
||||
rocm_check_target_ids(DEFAULT_GPU_TARGETS
|
||||
TARGETS "gfx908;gfx90a;gfx940;gfx941;gfx942;gfx1030;gfx1100;gfx1101;gfx1102")
|
||||
TARGETS "gfx908;gfx90a;gfx940;gfx941;gfx942;gfx1030;gfx1100;gfx1101;gfx1102;gfx1200;gfx1201")
|
||||
else()
|
||||
add_definitions(-DPROFILER_ONLY)
|
||||
set(GPU_TARGETS "" CACHE STRING "" FORCE)
|
||||
@@ -148,7 +148,7 @@ if (GPU_TARGETS)
|
||||
add_definitions(-DCK_USE_XDL)
|
||||
set(CK_USE_XDL "ON")
|
||||
endif()
|
||||
if (GPU_TARGETS MATCHES "gfx11")
|
||||
if (GPU_TARGETS MATCHES "gfx11" OR GPU_TARGETS MATCHES "gfx12")
|
||||
add_definitions(-DCK_USE_WMMA)
|
||||
set(CK_USE_WMMA "ON")
|
||||
endif()
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
rocm-docs-core==1.4.1
|
||||
rocm-docs-core==1.5.0
|
||||
sphinxcontrib-bibtex==2.6.2
|
||||
|
||||
@@ -103,7 +103,7 @@ requests==2.31.0
|
||||
# via
|
||||
# pygithub
|
||||
# sphinx
|
||||
rocm-docs-core==1.4.1
|
||||
rocm-docs-core==1.5.0
|
||||
# via -r requirements.in
|
||||
six==1.16.0
|
||||
# via
|
||||
|
||||
@@ -67,7 +67,7 @@ function(add_example_executable EXAMPLE_NAME FILE_NAME)
|
||||
endforeach()
|
||||
#Do not build any WMMA examples if gfx11 targets are not on the list
|
||||
foreach(source IN LISTS FILE_NAME)
|
||||
if(NOT GPU_TARGETS MATCHES "gfx11" AND NOT GPU_TARGETS MATCHES "gfx12" AND source MATCHES "_wmma")
|
||||
if(NOT EX_TARGETS MATCHES "gfx11" AND NOT EX_TARGETS MATCHES "gfx12" AND source MATCHES "_wmma")
|
||||
message("removing wmma example ${source} ")
|
||||
list(REMOVE_ITEM FILE_NAME "${source}")
|
||||
endif()
|
||||
@@ -154,7 +154,7 @@ function(add_example_executable_no_testing EXAMPLE_NAME FILE_NAME)
|
||||
endforeach()
|
||||
#Do not build any WMMA examples if gfx11 targets are not on the list
|
||||
foreach(source IN LISTS FILE_NAME)
|
||||
if(NOT GPU_TARGETS MATCHES "gfx11" AND NOT GPU_TARGETS MATCHES "gfx12" AND source MATCHES "_wmma")
|
||||
if(NOT EX_TARGETS MATCHES "gfx11" AND NOT EX_TARGETS MATCHES "gfx12" AND source MATCHES "_wmma")
|
||||
message("removing wmma example ${source} ")
|
||||
list(REMOVE_ITEM FILE_NAME "${source}")
|
||||
endif()
|
||||
|
||||
@@ -59,7 +59,7 @@ function(add_instance_library INSTANCE_NAME)
|
||||
endforeach()
|
||||
# Do not build WMMA instances if gfx11 targets are not on the target list
|
||||
foreach(source IN LISTS ARGN)
|
||||
if(NOT GPU_TARGETS MATCHES "gfx11" AND NOT GPU_TARGETS MATCHES "gfx12" AND source MATCHES "_wmma")
|
||||
if(NOT INST_TARGETS MATCHES "gfx11" AND NOT INST_TARGETS MATCHES "gfx12" AND source MATCHES "_wmma")
|
||||
message("removing wmma instance ${source} ")
|
||||
list(REMOVE_ITEM ARGN "${source}")
|
||||
endif()
|
||||
@@ -177,7 +177,7 @@ FOREACH(subdir_path ${dir_list})
|
||||
message("Found only xdl instances, but gfx9 is not on the targets list. Skipping.")
|
||||
set(add_inst 0)
|
||||
endif()
|
||||
if(("${cmake_instance}" MATCHES "ONLY WMMA_KERNELS") AND (NOT GPU_TARGETS MATCHES "gfx11") AND (NOT GPU_TARGETS MATCHES "gfx12"))
|
||||
if(("${cmake_instance}" MATCHES "ONLY WMMA_KERNELS") AND (NOT INST_TARGETS MATCHES "gfx11") AND (NOT INST_TARGETS MATCHES "gfx12"))
|
||||
message("Found only wmma instances, but gfx11 is not on the targets list. Skipping.")
|
||||
set(add_inst 0)
|
||||
endif()
|
||||
@@ -185,11 +185,11 @@ FOREACH(subdir_path ${dir_list})
|
||||
message("Found only xdl and dl instances, but gfx9 is not on the targets listand DL_KERNELS is not set. Skipping.")
|
||||
set(add_inst 0)
|
||||
endif()
|
||||
if(("${cmake_instance}" MATCHES "ONLY XDL_AND_WMMA_KERNELS") AND (NOT GPU_TARGETS MATCHES "gfx11") AND (NOT GPU_TARGETS MATCHES "gfx12") AND (NOT GPU_TARGETS MATCHES "gfx9"))
|
||||
if(("${cmake_instance}" MATCHES "ONLY XDL_AND_WMMA_KERNELS") AND (NOT INST_TARGETS MATCHES "gfx11") AND (NOT INST_TARGETS MATCHES "gfx12") AND (NOT INST_TARGETS MATCHES "gfx9"))
|
||||
message("Found only xdl and wmma instances, but gfx11 and gfx9 are not on the targets list. Skipping.")
|
||||
set(add_inst 0)
|
||||
endif()
|
||||
if(("${cmake_instance}" MATCHES "XDL_DL_WMMA_KERNELS") AND (NOT GPU_TARGETS MATCHES "gfx11") AND (NOT GPU_TARGETS MATCHES "gfx12") AND (NOT GPU_TARGETS MATCHES "gfx9") AND (NOT DEFINED DL_KERNELS))
|
||||
if(("${cmake_instance}" MATCHES "XDL_DL_WMMA_KERNELS") AND (NOT INST_TARGETS MATCHES "gfx11") AND (NOT INST_TARGETS MATCHES "gfx12") AND (NOT INST_TARGETS MATCHES "gfx9") AND (NOT DEFINED DL_KERNELS))
|
||||
message("Found xdl, dl, and wmma instances, but none of those meet the target list. Skipping.")
|
||||
set(add_inst 0)
|
||||
endif()
|
||||
|
||||
@@ -60,7 +60,7 @@ function(add_test_executable TEST_NAME)
|
||||
endif()
|
||||
endforeach()
|
||||
foreach(source IN LISTS ARGN)
|
||||
if(NOT GPU_TARGETS MATCHES "gfx11" AND NOT GPU_TARGETS MATCHES "gfx12" AND source MATCHES "wmma")
|
||||
if(NOT TEST_TARGETS MATCHES "gfx11" AND NOT TEST_TARGETS MATCHES "gfx12" AND source MATCHES "wmma")
|
||||
message("removing wmma test ${source} ")
|
||||
list(REMOVE_ITEM ARGN "${source}")
|
||||
endif()
|
||||
@@ -141,7 +141,7 @@ function(add_gtest_executable TEST_NAME)
|
||||
endif()
|
||||
endforeach()
|
||||
foreach(source IN LISTS ARGN)
|
||||
if(NOT GPU_TARGETS MATCHES "gfx11" AND NOT GPU_TARGETS MATCHES "gfx12" AND source MATCHES "wmma")
|
||||
if(NOT TEST_TARGETS MATCHES "gfx11" AND NOT TEST_TARGETS MATCHES "gfx12" AND source MATCHES "wmma")
|
||||
message("removing wmma test ${source} ")
|
||||
list(REMOVE_ITEM ARGN "${source}")
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user