mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-04-20 06:49:15 +00:00
Add support for double buffering in direct load GEMM kernel (#1052)
This PR introduces support for double buffering in LDS into GEMM kernels that use direct load instructions. Direct loads now use inline asm instead of intrinsics. Usage of intrinsics results in compiler adding additional waitcnt instructions what breaks possible load/compute overlap in case of double buffering. Usage of inline asm results in the need to use sched_barrier in order to make sure that compiler cannot incorrectly reschedule instructions since it does not know the data dependencies between global->LDS and LDS->registers.
This commit is contained in:
committed by
GitHub
parent
c7d5c7727b
commit
bc4bf9bd03
@@ -134,6 +134,9 @@
|
||||
// inner product using V_DOT with DPP8 modifiers
|
||||
#define CK_USE_AMD_V_DOT_DPP8_INLINE_ASM 1
|
||||
|
||||
// LDS direct loads using inline assembly
|
||||
#define CK_USE_AMD_LDS_DIRECT_LOAD_INLINE_ASM 1
|
||||
|
||||
// set stochastic rounding as default for f8 conversions
|
||||
#define CK_USE_SR_F8_CONVERSION 1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user