use on fp16 and bf16 as well
@@ -331,8 +331,8 @@ class ProblemPredicate(Properties.Predicate):
# to prevent from some extremely large problems from launching and causing bufferload offset limit < 2^32
# thoses cases will not satisfy the assertion thus won't use the kernel.
# See Common.py for more details, we will need four values:
- # TODO - haven't been fully tested for FP16 and BF16, so we consider single and double only so far.
- if 'BufferLoad' in state and state['BufferLoad'] == True and (problemType.aType.isSingle() or problemType.aType.isDouble()):
+ # TODO - haven't been fully tested for FP16 and BF, need to verify the false-positive
+ if 'BufferLoad' in state and state['BufferLoad'] == True:
TLUA = state['ProblemType']['TLUA']
TLUB = state['ProblemType']['TLUB']
MayShiftA = TLUA and state['AssertFree0ElementMultiple'] < state['GlobalLoadVectorWidthA']
@@ -348,7 +348,7 @@ class ProblemPredicate(Properties.Predicate):
# similiar check is applied for bufferstore,
# for bufferstore offset, test if the bot-right offset < 2^32,
# it should be StrideA*MT1, so we need to output MT1 and use the StrideA of problem in host-side for predication
- if 'BufferStore' in state and state['BufferStore'] == True and (problemType.cType.isSingle() or problemType.aType.isDouble()):
+ if 'BufferStore' in state and state['BufferStore'] == True:
rv += [cls('BufferStoreOffsetLimitCheck', value=state['MacroTile1'])]
return rv
