Skip to content

Commit f7a199d

Browse files
saeid-rostamianmyachev
authored andcommitted
[AMD] Enabling Buffer Atomic for RDNA4 (#8778)
This PR enables buffer atomic on RDNA4 for supported data types.
1 parent 20095e6 commit f7a199d

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

third_party/amd/lib/TritonAMDGPUTransforms/ConvertToBufferOps.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -361,6 +361,10 @@ struct ConvertTritonAtomicRMWOpToBufferAtomicRMW
361361
atomicRmwOp == RMWOp::FADD) {
362362
return rewriter.notifyMatchFailure(op, "RMW FADD does not support bf16");
363363
}
364+
if (isaFamily == ISAFamily::RDNA4 && checkType.isF64() &&
365+
atomicRmwOp == RMWOp::FADD) {
366+
return rewriter.notifyMatchFailure(op, "RMW FADD does not support F64");
367+
}
364368
LDBG("RMW FADD supported 16-bit type");
365369

366370
auto vecSize = getVectorSize(ptr, axisAnalysisPass);
@@ -624,7 +628,8 @@ struct TritonAMDGPUConvertToBufferOpsPass
624628
triton::AMD::ISAFamily isaFamily =
625629
triton::AMD::deduceISAFamily(archGenerationName);
626630
if (this->allowBufferAtomics &&
627-
(ISAFamily::CDNA3 == isaFamily || ISAFamily::CDNA4 == isaFamily))
631+
(ISAFamily::CDNA3 == isaFamily || ISAFamily::CDNA4 == isaFamily ||
632+
ISAFamily::RDNA4 == isaFamily))
628633
patterns.add<ConvertTritonAtomicRMWOpToBufferAtomicRMW>(
629634
context, assumptions, axisInfoAnalysis, solver, isaFamily,
630635
this->analyzeSmallTensorOfst);

0 commit comments

Comments
 (0)