You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: _sources/autoapi/tilelang/language/atomic/index.rst.txt
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,7 +31,7 @@ Module Contents
31
31
32
32
Perform an atomic maximum on the value stored at dst with an optional memory-order.
33
33
34
-
Supports scalar/addressed extern atomic max when neither argument exposes extents, or tile-region-based atomic max for Buffer/BufferRegion/BufferLoad inputs. If both arguments are plain Buffers their shapes must be structurally equal. If at least one side exposes extents, extents are aligned (missing dimensions are treated as size 1); an assertion is raised if extents cannot be deduced. The optional `memory_order` (one of "relaxed","consume","acquire","release","acq_rel","seq_cst") is used only for the direct extern `AtomicMax` path when no extents are available — otherwise the tile-region path ignores `memory_order`.
34
+
Supports scalar/addressed extern atomic max when neither argument exposes extents, or tile-region-based atomic max for Buffer/BufferRegion/BufferLoad inputs. If both arguments are plain Buffers their shapes must be structurally equal. If at least one side exposes extents, extents are aligned (missing dimensions are treated as size 1); an assertion is raised if extents cannot be deduced. The optional `memory_order` (one of "relaxed","consume","acquire","release","acq_rel","seq_cst") is honored on CUDA targets by both the direct extern `AtomicMax` path and the tile-region path. HIP and CuteDSL codegen currently ignore it.
35
35
36
36
:param dst: Destination buffer/address to apply the atomic max.
37
37
:type dst: Buffer
@@ -75,7 +75,7 @@ Module Contents
75
75
76
76
Atomically update the value at dst to the minimum of its current value and value.
77
77
78
-
Supports scalar/addressed extern atomic min when neither argument exposes extents, or tile-region-based atomic min for Buffer/BufferRegion/BufferLoad inputs. If both arguments are plain Buffers their shapes must be structurally equal. If at least one side exposes extents, extents are aligned (missing dimensions are treated as size 1); an assertion is raised if extents cannot be deduced. The optional `memory_order` (one of "relaxed","consume","acquire","release","acq_rel","seq_cst") is used only for the direct extern `AtomicMin` path when no extents are available — otherwise the tile-region path ignores `memory_order`.
78
+
Supports scalar/addressed extern atomic min when neither argument exposes extents, or tile-region-based atomic min for Buffer/BufferRegion/BufferLoad inputs. If both arguments are plain Buffers their shapes must be structurally equal. If at least one side exposes extents, extents are aligned (missing dimensions are treated as size 1); an assertion is raised if extents cannot be deduced. The optional `memory_order` (one of "relaxed","consume","acquire","release","acq_rel","seq_cst") is honored on CUDA targets by both the direct extern `AtomicMin` path and the tile-region path. HIP and CuteDSL codegen currently ignore it.
79
79
80
80
:param dst: Destination buffer/address to apply the atomic min.
81
81
:type dst: Buffer
@@ -119,7 +119,7 @@ Module Contents
119
119
120
120
Atomically add `value` into `dst`, returning a handle to the operation.
121
121
122
-
Supports scalar/addressed extern atomic add when neither argument exposes extents, or tile-region-based atomic add for Buffer/BufferRegion/BufferLoad inputs. If both arguments are plain Buffers their shapes must be structurally equal. If at least one side exposes extents, extents are aligned (missing dimensions are treated as size 1); an assertion is raised if extents cannot be deduced. The optional `memory_order` (one of "relaxed","consume","acquire","release","acq_rel","seq_cst") is used only for the direct extern `AtomicAdd` path when no extents are available — otherwise the tile-region path ignores `memory_order`.
122
+
Supports scalar/addressed extern atomic add when neither argument exposes extents, or tile-region-based atomic add for Buffer/BufferRegion/BufferLoad inputs. If both arguments are plain Buffers their shapes must be structurally equal. If at least one side exposes extents, extents are aligned (missing dimensions are treated as size 1); an assertion is raised if extents cannot be deduced. The optional `memory_order` (one of "relaxed","consume","acquire","release","acq_rel","seq_cst") is honored on CUDA targets by both paths: the direct extern `AtomicAdd` path when no extents are available, and the tile-region path (including when it auto-vectorizes to `AtomicAddx2`/`AtomicAddx4`). HIP and CuteDSL codegen currently ignore it.
123
123
124
124
:param dst: Destination buffer/address to apply the atomic add.
<spanclass="sig-prename descclassname"><spanclass="pre">tilelang.language.atomic.</span></span><spanclass="sig-name descname"><spanclass="pre">atomic_max</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">dst</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">value</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">memory_order</span></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="default_value"><spanclass="pre">None</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">return_prev</span></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="default_value"><spanclass="pre">False</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">annotations</span></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="default_value"><spanclass="pre">None</span></span></em><spanclass="sig-paren">)</span><aclass="headerlink" href="#tilelang.language.atomic.atomic_max" title="Link to this definition">¶</a></dt>
782
782
<dd><p>Perform an atomic maximum on the value stored at dst with an optional memory-order.</p>
783
-
<p>Supports scalar/addressed extern atomic max when neither argument exposes extents, or tile-region-based atomic max for Buffer/BufferRegion/BufferLoad inputs. If both arguments are plain Buffers their shapes must be structurally equal. If at least one side exposes extents, extents are aligned (missing dimensions are treated as size 1); an assertion is raised if extents cannot be deduced. The optional <cite>memory_order</cite> (one of “relaxed”,”consume”,”acquire”,”release”,”acq_rel”,”seq_cst”) is used only for the direct extern <cite>AtomicMax</cite> path when no extents are available — otherwise the tile-region path ignores <cite>memory_order</cite>.</p>
783
+
<p>Supports scalar/addressed extern atomic max when neither argument exposes extents, or tile-region-based atomic max for Buffer/BufferRegion/BufferLoad inputs. If both arguments are plain Buffers their shapes must be structurally equal. If at least one side exposes extents, extents are aligned (missing dimensions are treated as size 1); an assertion is raised if extents cannot be deduced. The optional <cite>memory_order</cite> (one of “relaxed”,”consume”,”acquire”,”release”,”acq_rel”,”seq_cst”) is honored on CUDA targets by both the direct extern <cite>AtomicMax</cite> path and the tile-region path. HIP and CuteDSL codegen currently ignore it.</p>
<spanclass="sig-prename descclassname"><spanclass="pre">tilelang.language.atomic.</span></span><spanclass="sig-name descname"><spanclass="pre">atomic_min</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">dst</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">value</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">memory_order</span></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="default_value"><spanclass="pre">None</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">return_prev</span></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="default_value"><spanclass="pre">False</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">annotations</span></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="default_value"><spanclass="pre">None</span></span></em><spanclass="sig-paren">)</span><aclass="headerlink" href="#tilelang.language.atomic.atomic_min" title="Link to this definition">¶</a></dt>
835
835
<dd><p>Atomically update the value at dst to the minimum of its current value and value.</p>
836
-
<p>Supports scalar/addressed extern atomic min when neither argument exposes extents, or tile-region-based atomic min for Buffer/BufferRegion/BufferLoad inputs. If both arguments are plain Buffers their shapes must be structurally equal. If at least one side exposes extents, extents are aligned (missing dimensions are treated as size 1); an assertion is raised if extents cannot be deduced. The optional <cite>memory_order</cite> (one of “relaxed”,”consume”,”acquire”,”release”,”acq_rel”,”seq_cst”) is used only for the direct extern <cite>AtomicMin</cite> path when no extents are available — otherwise the tile-region path ignores <cite>memory_order</cite>.</p>
836
+
<p>Supports scalar/addressed extern atomic min when neither argument exposes extents, or tile-region-based atomic min for Buffer/BufferRegion/BufferLoad inputs. If both arguments are plain Buffers their shapes must be structurally equal. If at least one side exposes extents, extents are aligned (missing dimensions are treated as size 1); an assertion is raised if extents cannot be deduced. The optional <cite>memory_order</cite> (one of “relaxed”,”consume”,”acquire”,”release”,”acq_rel”,”seq_cst”) is honored on CUDA targets by both the direct extern <cite>AtomicMin</cite> path and the tile-region path. HIP and CuteDSL codegen currently ignore it.</p>
<spanclass="sig-prename descclassname"><spanclass="pre">tilelang.language.atomic.</span></span><spanclass="sig-name descname"><spanclass="pre">atomic_add</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">dst</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">value</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">memory_order</span></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="default_value"><spanclass="pre">None</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">return_prev</span></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="default_value"><spanclass="pre">False</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">use_tma</span></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="default_value"><spanclass="pre">False</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">annotations</span></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="default_value"><spanclass="pre">None</span></span></em><spanclass="sig-paren">)</span><aclass="headerlink" href="#tilelang.language.atomic.atomic_add" title="Link to this definition">¶</a></dt>
888
888
<dd><p>Atomically add <cite>value</cite> into <cite>dst</cite>, returning a handle to the operation.</p>
889
-
<p>Supports scalar/addressed extern atomic add when neither argument exposes extents, or tile-region-based atomic add for Buffer/BufferRegion/BufferLoad inputs. If both arguments are plain Buffers their shapes must be structurally equal. If at least one side exposes extents, extents are aligned (missing dimensions are treated as size 1); an assertion is raised if extents cannot be deduced. The optional <cite>memory_order</cite> (one of “relaxed”,”consume”,”acquire”,”release”,”acq_rel”,”seq_cst”) is used only for the direct extern <cite>AtomicAdd</cite> path when no extents are available — otherwise the tile-region path ignores <cite>memory_order</cite>.</p>
889
+
<p>Supports scalar/addressed extern atomic add when neither argument exposes extents, or tile-region-based atomic add for Buffer/BufferRegion/BufferLoad inputs. If both arguments are plain Buffers their shapes must be structurally equal. If at least one side exposes extents, extents are aligned (missing dimensions are treated as size 1); an assertion is raised if extents cannot be deduced. The optional <cite>memory_order</cite> (one of “relaxed”,”consume”,”acquire”,”release”,”acq_rel”,”seq_cst”) is honored on CUDA targets by both paths: the direct extern <cite>AtomicAdd</cite> path when no extents are available, and the tile-region path (including when it auto-vectorizes to <cite>AtomicAddx2</cite>/<cite>AtomicAddx4</cite>). HIP and CuteDSL codegen currently ignore it.</p>
0 commit comments