Share gfx12 K enc0 V tiles while preserving strict FP16 arithmetic
This commit is contained in:
1 parent
28832eef6c
commit
a2a4a7e765
8 files changed
+159
-36
No files matched your search
@@ -1,5 +1,19 @@
|
||||
// CU mode: the waves of a window share one L0 cache (1-6% faster here; slower in the wide layers)
|
||||
// d4r-build-flags: -mcumode
|
||||
#define PWIN_F32ACC
|
||||
#ifndef D4R_K_POS_MT
|
||||
#define D4R_K_POS_MT 2
|
||||
#elif !defined(__GFX12__) || !defined(D4R_K_FP16_BASELINE)
|
||||
#error "experimental position token tiling requires gfx12 strict K baseline"
|
||||
#endif
|
||||
// Reuse V across the window's waves. Paired gfx1201 replays retain every half
|
||||
// code and reduce enc0 time by about 5%; gfx11 and arithmetic experiments keep
|
||||
// their previous path. D4R_K_PRIVATE_V supplies the original A/B control.
|
||||
#if defined(__GFX12__) && defined(D4R_K_FP16_BASELINE) && !defined(D4R_K_PRIVATE_V) && \
|
||||
!defined(D4R_K_PACKED_ACC) && !defined(D4R_K_F16_WMMA)
|
||||
#ifndef POS_VSHARE
|
||||
#define POS_VSHARE
|
||||
#endif
|
||||
#endif
|
||||
#include "pwin_pos.h"
|
||||
POS_ENCODER(dltss_pwin_enc0_layer, 2, 32, 64, 16, 2)
|
||||
POS_ENCODER(dltss_pwin_enc0_layer, 2, 32, 64, 16, D4R_K_POS_MT)
|
||||
Reference in new issue
Block a user