Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -33915,6 +33915,251 @@
reorderGRInstForDTVB: false
tailLoopOptA: false
tailLoopOptB: false
- 1LDSBuffer: 0
ActivationAlt: false
ActivationFuncCall: false
ActivationFused: true
AssertAIGreaterThanEqual: -1
AssertAILessThanEqual: -1
AssertFree0ElementMultiple: 1
AssertFree1ElementMultiple: 1
AssertSummationElementMultiple: 1
AssignedDerivedParameters: true
AssignedProblemIndependentDerivedParameters: true
BaseName: Cijk_Ailk_Bjlk_S_MX_B_UserArgs_MT128x192x32_MI16I-bKewXBxsIYX52AgcqlTaTPE3bzeUK2nUl7t59lkms=
BufferLoad: true
BufferStore: true
CUCount: null
CUOccupancy: -1
ClusterLocalRead: 1
CodeObjectVersion: '4'
ConvertAfterDS: false
CustomKernelName: ''
DebugStreamK: 0
DepthU: 32
DirectToLds: true
DirectToLdsA: true
DirectToLdsB: true
DirectToVgprA: false
DirectToVgprB: false
DirectToVgprSparseMetadata: false
EdgeType: ShiftPtr
EnableF32XdlMathOp: true
EnableMatrixInstruction: true
ExpandPointerSwap: 0
ExpertSchedulingMode: 0
ForceDisableShadowInit: false
ForceUnrollSubIter: true
GlobalReadPerMfma: 1
GlobalReadVectorWidthA: 4
GlobalReadVectorWidthB: 4
GlobalSplitU: 0
GlobalSplitUAlgorithm: MultipleBuffer
GlobalSplitUCoalesced: false
GlobalSplitUWorkGroupMappingRoundRobin: false
GlobalWriteVectorWidth: 4
GroupLoadStore: false
GuaranteeNoPartialA: false
GuaranteeNoPartialB: false
GuaranteeNoPartialMetadata: true
ISA: [9, 5, 0]
InnerUnroll: 1
InterleaveAlpha: 0
InternalSupportParams: {KernArgsVersion: 2, SupportCustomStaggerU: true, SupportCustomWGM: true,
SupportUserGSU: false, UseSFC: false, UseUniversalArgs: true}
Kernel: true
KernelLanguage: Assembly
KernelNameMin: Cijk_Ailk_Bjlk_S_MX_B_UserArgs_MT128x192x32_MI16x16x1_CMS_SN_LDSB0_AFC0_AFEM1_AFEM1_ASEM1_CLR1_CADS0_DTLA1_DTLB1_DTVA0_DTVB0_EPS0_FDSI0_GRPM1_GRVWA4_GRVWB4_GSU0_GSUAMB_GLS0_ISA950_IU1_K1_LDSTI1_LBSPPA1024_LBSPPB1024_LBSPPM0_LPA0_LPB0_LPM0_LRVW4_LWPMn1_MIAV0_MIWT4_6_MO40_NTn1_NTA0_NTB0_NTC0_NTD0_NTM0_NEPBS0_NLCA1_NLCB1_ONLL1_PGR2_PLR0_PKA1_SIA3_SS0_SPO0_SRVW0_SSO0_SVW4_SK3_SKFTR0_SKXCCM0_TLDS0_ULSGRO0_USL1_UIOFGRO0_USFGROn1_VSn1_VWA4_VWB2_WSGRA0_WSGRB0_WS64_WG32_8_1
LDSTrInst: 1
LSCA: 128
LSCB: 192
LSPA: 8
LSPB: 6
LVCA: 32
LVCB: 48
LVPA: 2
LVPB: 2
LdsBlockSizePerPadA: 1024
LdsBlockSizePerPadB: 1024
LdsBlockSizePerPadMetadata: 0
LdsBytesNoAmax: 106496
LdsInitCVgprs: false
LdsNumBytes: 106496
LdsNumElementsAlignedA: 16384
LdsNumElementsAlignedB: 24576
LdsNumElementsAlignedMetadata: 0
LdsOffsetA: 0
LdsOffsetA_Blk: 65536
LdsOffsetB: 16384
LdsOffsetB_Blk: 81920
LdsOffsetBias: 0
LdsOffsetBiasGSU: 0
LdsOffsetBiasNonGSU: 0
LdsOffsetMetadata: 16384
LdsOffsetMetadata_Blk: 81920
LdsPadA: 0
LdsPadB: 0
LdsPadMetadata: 0
LocalReadVectorWidth: 4
LocalSplitU: 1
LocalSplitUReuseLDS: 1
LocalWritePerMfma: -1
LocalWriteUseSgprA: true
LocalWriteUseSgprB: true
LoopIters: 1
LoopUnroll: 32
MFMA_BF16_1K: false
MIArchVgpr: false
MIBlock: [16, 16, 32, 1, 1, 1]
MIInputPerThread: 8
MIInputPerThreadA: 8
MIInputPerThreadB: 8
MIInputPerThreadMetadata: 8
MIOutputVectorWidth: 4
MIRegPerOut: 1
MIWaveGroup: [2, 2]
MIWaveTile: [4, 6]
MIWaveTileA: 4
MIWaveTileB: 6
MIWaveTileMetadata: 0
MacroTile0: 128
MacroTile1: 192
MacroTileA: 128
MacroTileB: 192
MagicDivAlg: 2
MathClocksUnrolledLoop: 0
MatrixInstB: 1
MatrixInstBM: 1
MatrixInstBN: 1
MatrixInstK: 32
MatrixInstM: 16
MatrixInstN: 16
MatrixInstruction: [16, 16, 32, 1]
MaxLDS: 163840
MaxOccupancy: 40
MbskPrefetchMethod: 0
MfmaInitCVgprs: true
NoLdsWriteCode: true
NoReject: false
NoTailLoop: false
NonDTLTailLoopA: false
NonDTLTailLoopB: false
NonTemporal: -1
NonTemporalA: 0
NonTemporalB: 0
NonTemporalC: 0
NonTemporalD: 0
NonTemporalE: 0
NonTemporalMetadata: 0
NonTemporalWS: 0
NumElementsPerBatchStore: 0
NumElementsPerThread: 96
NumGlobalWriteVectorsPerThread: 24
NumLoadsA: 4
NumLoadsB: 6
NumLoadsCoalescedA: 1
NumLoadsCoalescedB: 1
NumLoadsPerpendicularA: 4
NumLoadsPerpendicularB: 6
NumThreads: 256
NumTotalPackedLoadsA: 4
NumTotalPackedLoadsB: 6
NumWaveSplitK: 1
OptNoLoadLoop: 1
PackedC0IdxChars: [I]
PackedC0IndicesX: [0]
PackedC1IdxChars: [J]
PackedC1IndicesX: [1]
PrefetchGlobalRead: 2
PrefetchLocalRead: 0
PreloadKernArgs: true
SFCWGM:
- [1, 1]
- [1, 1]
ScheduleGlobalRead: 1
ScheduleIterAlg: 3
ScheduleLocalWrite: 1
SolutionIndex: 142
SolutionNameMin: Cijk_Ailk_Bjlk_S_MX_B_UserArgs_MT128x192x32_MI16x16x1_CMS_SN_LDSB0_AFC0_AFEM1_AFEM1_ASEM1_CLR1_CADS0_DTLA1_DTLB1_DTVA0_DTVB0_EPS0_FDSI0_GRPM1_GRVWA4_GRVWB4_GSU0_GSUAMB_GSUC0_GSUWGMRR0_GLS0_ISA950_IU1_K1_LDSTI1_LBSPPA1024_LBSPPB1024_LBSPPM0_LPA0_LPB0_LPM0_LRVW4_LWPMn1_MIAV0_MIWT4_6_MO40_NTn1_NTA0_NTB0_NTC0_NTD0_NTM0_NEPBS0_NLCA1_NLCB1_ONLL1_PGR2_PLR0_PKA1_SIA3_SS0_SU0_SUM0_SUS128_SPO0_SRVW0_SSO0_SVW4_SK3_SKFTR0_SKXCCM0_TLDS0_ULSGRO0_USL1_UIOFGRO0_USFGROn1_VSn1_VWA4_VWB2_WSGRA0_WSGRB0_WS64_WG32_8_1_WGM8_WGMXCC1_WGMXCCGn1
SourceSwap: false
SpaceFillingAlgo: []
StaggerU: 0
StaggerUMapping: 0
StaggerUStride: 128
StorePriorityOpt: false
StoreRemapVectorWidth: 0
StoreSwapAddr: false
StoreSyncOpt: 0
StoreVectorWidth: 4
StreamK: 3
StreamKAtomic: 0
StreamKFixupTreeReduction: 0
StreamKXCCMapping: 0
SubGroup0: 8
SubGroup1: 32
SubGroupA: 8
SubGroupB: 32
SuppressNoLoadLoop: false
SwapGlobalReadOrder: false
ThreadTile: [1, 1]
ThreadTile0: 16
ThreadTile1: 6
ThreadTileA: 16
ThreadTileB: 6
TransposeLDS: 0
TransposeLDSMetadata: true
ULSGRODoubleG2L: 0
UnrollLoopSwapGlobalReadOrder: 0
UnrollMajorLDSA: 0
UnrollMajorLDSB: 0
UnrollMajorLDSMetadata: true
Use64bShadowLimit: 1
UseCustomMainLoopSchedule: true
UseDirect32XEmulation: true
UseDot2F32XEmulation: false
UseDotInstruction: false
UseF32XEmulation: true
UseGeneralizedNLCOneA: true
UseGeneralizedNLCOneB: true
UseGeneralizedNLCOneMetadata: false
UseInstOffsetForGRO: 0
UseMFMAF32XEmulation: false
UsePLRPack: true
UseSgprForGRO: -1
Valid: true
VectorStore: -1
VectorWidthA: 4
VectorWidthB: 2
WaveSeparateGlobalReadA: 0
WaveSeparateGlobalReadB: 0
WaveSeparateGlobalReadMetadata: 0
WaveSplitK: false
WavefrontSize: 64
WorkGroup: [32, 8, 1]
WorkGroupMapping: 8
WorkGroupMappingXCC: 1
WorkGroupMappingXCCGroup: -1
WorkGroupReduction: false
WorkspaceCheck: [4, 0, 0]
_DepthU: 32
_DepthUA: 32
_DepthUB: 32
_DepthUMetadata: 32
_GlobalAccumulation: PartialsBuffer
_UseSgprForGRO: 0
_VectorStore: 1
_WorkspaceSizePerElemBias: 0
_WorkspaceSizePerElemC: 4
_staggerStrideShift: 0
enableGLTrA: false
enableGLTrB: false
enableLDSTrA: false
enableLDSTrB: false
numSubTiles: 2
reorderGRInstForDTVA: false
reorderGRInstForDTVB: false
tailLoopOptA: false
tailLoopOptB: false
- [2, 3, 0, 1]
- - - [120, 256, 1, 8192]
- [44, 0.0]
Expand Down Expand Up @@ -34196,6 +34441,8 @@
- [141, 0.0]
- - [2820, 5640, 1, 8192]
- [141, 0.0]
- - [2048, 3072, 1, 8192]
- [142, 0.0]
- null
- null
- DeviceEfficiency
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2312,8 +2312,42 @@ def _get_schedule_128x192x32_TF32(kernel, useLDSTr, TLDS):
syncCode = syncTable[1::2]
nglshift = nllshift = 10
elif isNT(kernel) and useLDSTr and TLDS==0:
# TODO: Add NT schedule in upcoming PR
return False, None
kernel["UsePLRPack"] = True
syncTable = [
-1, SWaitCnt(dscnt=0, vlcnt=-1, vscnt=-1, comment="Begininng of a iteration. Wait for prior local read.") ,
8, SWaitCnt(dscnt=0, vlcnt=-1, vscnt=-1, comment="Before PackA0. Wait for all prior LRA0.") ,
17, SWaitCnt(dscnt=18, vlcnt=-1, vscnt=-1, comment="Before GRA. Wait for all prior LRA0 for GRA. Skip 18*LRB0.") ,
17, SBarrier(comment="GRA") ,
22, SWaitCnt(dscnt=0, vlcnt=-1, vscnt=-1, comment="Before PackB0. Wait for all prior LRB0.") ,
35, SWaitCnt(dscnt=0, vlcnt=4, vscnt=-1, comment="Before GRB and LRB3. Wait for all prior LRB0 for GRB and GRB from previous iter for LRB3. Skip 4*GRA") ,
35, SBarrier(comment="GRB/LRB") ,
48, SWaitCnt(dscnt=0, vlcnt=-1, vscnt=-1, comment="Before PackB3. Wait for all prior LRB3.") ,
53, SWaitCnt(dscnt=-1, vlcnt=10, vscnt=-1, comment="Before LRA3. Wait for GRA from previous iter. Skip 4*GRA + 6*GRB") ,
53, SBarrier(comment="LRA") ,
64, SWaitCnt(dscnt=0, vlcnt=-1, vscnt=-1, comment="Before PackA3. Wait for all prior LRA3.") ,
]
optSchedule = {
'SYNC' : [syncTable[::2]],
'GRIncA': [[0, 1, 2, 3, 4, 5, 6, 7, 8]],
'GRIncB': [[9, 10, 11, 12, 13, 14, 15, 16, 17]],
'LRA0' : [[0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7]],
'LRB0' : [[8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, 20]],
'PackA0': [create_range( 9, 8, 17, 1, 6)],
'PackB0': [create_range(22, 12, 34, 1, 6)],
'GRA' : [[17, 18, 19, 20, 23, 24, 25, 26]],
'GRB' : [[35, 36, 37, 38, 53, 54, 55, 56, 57, 58, 59, 60]],
'LRB3' : [[35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 45, 45, 46, 46]],
'LRA3' : [[54, 54, 54, 55, 55, 55, 56, 56, 59, 59, 60, 60, 61, 61, 62, 62]],
'PackB3': [create_range(48,4,52, 1, 18)],
'PackA3': [create_range(64,8,71, 1, 6)],
'LRSA' : [[27]],
'LRSB' : [[28]],
'LWSA' : [[61]],
'LWSB' : [[62]],
'LCC' : [[71, 71]],
}
syncCode = syncTable[1::2]
nglshift = nllshift = 10
else:
return False, None

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -189,4 +189,52 @@ BenchmarkProblems:
- Range: [[192], [256], [1], [64, 64, 256]]
- Range: [[192], [256], [1], [1,1,64]]
- Range: [[192], [256], [1], [32, 64, 256]]
- BiasTypeArgs: ['b']
- BiasTypeArgs: ['b']

########################################
# TF32 NT - standard
########################################
-
- # ProblemType
OperationType: GEMM
DataType: S
DestDataType: S
F32XdlMathOp: X
TransposeA: 0
TransposeB: 1
UseBeta: True
Batched: True
UseBias: 1
BiasDataTypeList: [s,b]
UseScaleAlphaVec: 1
Activation: true
ActivationType: hipblaslt_all
ActivationFuncCall: false
- # BenchmarkProblemSizeGroup - Standard - All problem
InitialSolutionParameters:
BenchmarkCommonParameters:
- KernelLanguage: ["Assembly"]
ForkParameters:
- MatrixInstruction:
- [16, 16, 32, 1, 1, 4, 6, 2, 2]
- DepthU: [32]
- LocalReadVectorWidth: [4]
- ScheduleIterAlg: [3]
- DirectToLds: [1]
- PrefetchGlobalRead: [2]
- PrefetchLocalRead: [1]
- UseCustomMainLoopSchedule: [1]
- StreamK: [3]
- StaggerU: [0]
- ClusterLocalRead: [1]
- TransposeLDS: [0]
- LDSTrInst: [1]
BenchmarkJoinParameters:
BenchmarkFinalParameters:
- ProblemSizes:
- Range: [[128], [192], [1], [64, 64, 256]]
- Range: [[128], [192], [1], [1,1,64]]
- Range: [[128], [192], [1], [32, 64, 256]]
- Range: [[4096], [6144], [1], [64, 64, 256]]

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please don't add large GEMMs to the test file, especially the large M and N test values. These do not help check correctness.

- Exact: [2048, 3072, 1, 8192]

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same issue here with this Exact GEMM test.

- BiasTypeArgs: ['b']