Preset K, byte-identical to the previous output in all captured buffers and the harness image, measured on an RX 7700 XT: - LDS row padding so WMMA operand loads hit distinct banks - WGP mode for enc1/enc2/dec1/dec2, ds_bpermute half-wave exchange for enc0/dec0/dec3, more waves per window in enc4/dec4/dec5 - cheaper operand plumbing in common/wmma_layout.h (packed f16 conversions, no dynamic vector indexing), raw buffer weight loads, accumulator-init vectors prepared once - enc1 as a single-buffer recompute layer, dec1 Q/K/V chains split - dec5 as four dependent phase kernels
5 lines
196 B
Plaintext
5 lines
196 B
Plaintext
// the WMMA half exchange through ds_bpermute instead of v_permlanex16: -1.5% here
|
|
// d4r-build-flags: -DWM_HALF_BPERMUTE
|
|
#include "pwin_wide.h"
|
|
WIDE_DECODER(dltss_pwin_dec3_layer, 4, 96, 128, 2)
|