================
@@ -7545,6 +7545,45 @@ A managed variable can be accessed in both device and 
host code.
   }];
 }
 
+def CUDAClusterDimsAttrDoc : Documentation {
+  let Category = DocCatDecl;
+  let Content = [{
+In CUDA/HIP programming, the ``cluster_dims`` attribute, conventionally 
exposed as
+``__cluster_dims__`` macro, can be applied to a kernel function to set the 
dimensions of a
+thread block cluster, which is an optional level of hierarchy and made up of 
thread blocks.
+``__cluster_dims__`` defines the cluster size as ``(X, Y, Z)``, where each 
value is the number
+of thread blocks in that dimension. The ``__cluster_dims__`` and 
`__no_cluster__`` attributes
+are mutually exclusive.
+
+.. code::
+
+  __global__ __cluster_dims__(2, 1, 1) void kernel(...) {
+    ...
+  }
+
+  }];
+}
+
+def CUDANoClusterAttrDoc : Documentation {
+  let Category = DocCatDecl;
+  let Content = [{
+In CUDA/HIP programming, a kernel function can still be launched with the 
cluster feature
+enabled at runtime, even without the ``__cluster_dims__`` attribute. The 
LLVM/Clang-exclusive
----------------
erichkeane wrote:

Either `cluster_dims` here, or find some way to not say 'attribute?  Perhaps, 
'even without marking it `__cluster_dims__`'?  

https://github.com/llvm/llvm-project/pull/156686
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to