[Mlir-commits] [mlir] [MLIR][NVVM] Add clusterlaunchcontrol Ops (PR #156585)
Guray Ozen
llvmlistbot at llvm.org
Wed Sep 3 05:32:05 PDT 2025
================
@@ -4035,6 +4035,119 @@ def NVVM_DotAccumulate2WayOp : NVVM_Op<"dot.accumulate.2way"> {
}];
}
+//===----------------------------------------------------------------------===//
+// NVVM clusterlaunchcontrol Ops.
+//===----------------------------------------------------------------------===//
+
+def NVVM_ClusterLaunchControlTryCancelOp
+ : NVVM_Op<"clusterlaunchcontrol.try.cancel", [NVVMRequiresSM<100>]> {
+ let summary = "Request atomically canceling the launch of a cluster that has not started running yet";
+ let description = [{
+ `clusterlaunchcontrol.try.cancel` requests atomically canceling the launch
+ of a cluster that has not started running yet. It asynchronously writes an
+ opaque response to shared memory indicating whether the operation succeeded
+ or failed.
+
+ Operand `addr` specifies the naturally aligned address of the 16-byte wide
+ shared memory location where the request's response is written.
+
+ Operand `mbar` specifies the mbarrier object used to track the completion
+ of the asynchronous operation.
+
+ If `multicast` is specified, the response is asynchronously written to the
+ corresponding local shared memory location (specifed by `addr`) of each CTA
+ in the requesting cluster.
+
+ [For more information, see PTX ISA](https://docs.nvidia.com/cuda/parallel-thread-execution/#parallel-synchronization-and-communication-instructions-clusterlaunchcontrol-try-cancel)
+ }];
+
+ let arguments = (ins UnitAttr:$multicast,
+ LLVM_PointerShared: $addr,
+ LLVM_PointerShared: $mbar);
----------------
grypp wrote:
Nit: mbarrier
https://github.com/llvm/llvm-project/pull/156585
More information about the Mlir-commits
mailing list