Fix bug for ZeroPad asm: hcc pass but hipcc failed caused by claimed wrong kernarg size.
@@ -473,6 +473,17 @@ class SignatureCOV3(Signature):
kStr += self.v3Argument( "MagicNumberSize%s"%idxChar, '4', offset, "by_value", "u32"); offset += 4
kStr += self.v3Argument( "MagicShiftSize%s"%idxChar, '4', offset, "by_value", "u32"); offset += 4
+ for idx in kernel["ProblemType"]["IndicesSummation"]:
+ for tc in ('A','B'):
+ for zp in kernel["ProblemType"]["ZeroPad%s"%tc]:
+ (freeDim, sumDim, padStart, padEnd) = zp
+ if sumDim == idx:
+ freeDimChar = globalParameters["IndexChars"][freeDim]
+ sumDimChar = globalParameters["IndexChars"][sumDim]
+ # These will eventually be read as kernel args:
+ kStr += self.v3Argument( "PadStart%s%s%s"%(tc, freeDimChar, sumDimChar), '4', offset, "by_value", "u32"); offset += 4
+ kStr += self.v3Argument( "PadEnd%s%s%s"%(tc, freeDimChar, sumDimChar), '4', offset, "by_value", "u32"); offset += 4
+
kStr += self.v3Argument( "OrigStaggerUIter", '4', offset, "by_value", "i32"); offset += 4
kStr += self.v3Argument( "NumWorkGroups0", '4', offset, "by_value", "u32"); offset += 4
