Skip to content

Commit 94968bd

Browse files
Update docs
1 parent f37a8e2 commit 94968bd

File tree

9 files changed

+228
-8
lines changed

9 files changed

+228
-8
lines changed

_sources/autoapi/tilelang/language/customize/index.rst.txt

Lines changed: 59 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,17 @@ Functions
1818
tilelang.language.customize.buffer_to_tile_region
1919
tilelang.language.customize.buffer_load_to_tile_region
2020
tilelang.language.customize.buffer_region_to_tile_region
21+
tilelang.language.customize.atomic_max
22+
tilelang.language.customize.atomic_min
2123
tilelang.language.customize.atomic_add
2224
tilelang.language.customize.atomic_addx2
2325
tilelang.language.customize.atomic_addx4
2426
tilelang.language.customize.dp4a
2527
tilelang.language.customize.clamp
2628
tilelang.language.customize.reshape
2729
tilelang.language.customize.view
30+
tilelang.language.customize.atomic_load
31+
tilelang.language.customize.atomic_store
2832

2933

3034
Module Contents
@@ -86,7 +90,33 @@ Module Contents
8690
:rtype: tir.Call
8791

8892

89-
.. py:function:: atomic_add(dst, value)
93+
.. py:function:: atomic_max(dst, value, memory_order = None)
94+
95+
Perform an atomic maximum operation.
96+
97+
:param dst: Destination buffer where the atomic maximum will be performed
98+
:type dst: Buffer
99+
:param value: Value to be atomically added
100+
:type value: PrimExpr
101+
102+
:returns: Handle to the atomic maximum operation
103+
:rtype: PrimExpr
104+
105+
106+
.. py:function:: atomic_min(dst, value, memory_order = None)
107+
108+
Perform an atomic minimum operation.
109+
110+
:param dst: Destination buffer where the atomic minimum will be performed
111+
:type dst: Buffer
112+
:param value: Value to be atomically added
113+
:type value: PrimExpr
114+
115+
:returns: Handle to the atomic minimum operation
116+
:rtype: PrimExpr
117+
118+
119+
.. py:function:: atomic_add(dst, value, memory_order = None)
90120
91121
Perform an atomic addition operation.
92122

@@ -179,3 +209,31 @@ Module Contents
179209
:rtype: Buffer
180210

181211

212+
.. py:function:: atomic_load(src, memory_order = 'seq_cst')
213+
214+
Loads a value from the input buffer with specified memory_order.
215+
216+
:param src: Input buffer to load from
217+
:type src: Buffer
218+
:param memory_order: Atomicity level for the load operation. Defaults to "seq_cst".
219+
:type memory_order: str, optional
220+
221+
:returns: The loaded value from the buffer
222+
:rtype: PrimExpr
223+
224+
225+
.. py:function:: atomic_store(dst, src, memory_order = 'seq_cst')
226+
227+
Stores a value to the input buffer with specified memory_order.
228+
229+
:param dst: Input buffer to store to
230+
:type dst: Buffer
231+
:param src: Value to store
232+
:type src: PrimExpr
233+
:param memory_order: Atomicity level for the load operation. Defaults to "seq_cst".
234+
:type memory_order: str, optional
235+
236+
:returns: The handle of the store operation
237+
:rtype: PrimExpr
238+
239+

_sources/autoapi/tilelang/language/reduce/index.rst.txt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ Functions
2222
tilelang.language.reduce.reduce_absmax
2323
tilelang.language.reduce.cumsum_fragment
2424
tilelang.language.reduce.cumsum
25+
tilelang.language.reduce.finalize_reducer
2526

2627

2728
Module Contents
@@ -156,3 +157,14 @@ Module Contents
156157
:rtype: tir.Call
157158

158159

160+
.. py:function:: finalize_reducer(reducer)
161+
162+
Finalize the reducer buffer.
163+
164+
:param reducer: The reducer buffer
165+
:type reducer: tir.Buffer
166+
167+
:returns: Handle to the finalize reducer operation
168+
:rtype: tir.Call
169+
170+

_sources/autoapi/tilelang/transform/index.rst.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ Functions
6363
tilelang.transform.LowerOpaqueBlock
6464
tilelang.transform.LowerThreadAllreduce
6565
tilelang.transform.LowerDeviceKernelLaunch
66+
tilelang.transform.LayoutReducer
6667

6768

6869
Package Contents
@@ -375,3 +376,9 @@ Package Contents
375376

376377

377378

379+
.. py:function:: LayoutReducer()
380+
381+
LayoutReducer
382+
383+
384+

autoapi/tilelang/language/customize/index.html

Lines changed: 102 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -478,7 +478,13 @@ <h2>Functions<a class="headerlink" href="#functions" title="Link to this heading
478478
<tr class="row-even"><td><p><a class="reference internal" href="#tilelang.language.customize.buffer_region_to_tile_region" title="tilelang.language.customize.buffer_region_to_tile_region"><code class="xref py py-obj docutils literal notranslate"><span class="pre">buffer_region_to_tile_region</span></code></a>(buffer_region, ...)</p></td>
479479
<td><p>Convert a buffer region to a tile region descriptor.</p></td>
480480
</tr>
481-
<tr class="row-odd"><td><p><a class="reference internal" href="#tilelang.language.customize.atomic_add" title="tilelang.language.customize.atomic_add"><code class="xref py py-obj docutils literal notranslate"><span class="pre">atomic_add</span></code></a>(dst, value)</p></td>
481+
<tr class="row-odd"><td><p><a class="reference internal" href="#tilelang.language.customize.atomic_max" title="tilelang.language.customize.atomic_max"><code class="xref py py-obj docutils literal notranslate"><span class="pre">atomic_max</span></code></a>(dst, value[, memory_order])</p></td>
482+
<td><p>Perform an atomic maximum operation.</p></td>
483+
</tr>
484+
<tr class="row-even"><td><p><a class="reference internal" href="#tilelang.language.customize.atomic_min" title="tilelang.language.customize.atomic_min"><code class="xref py py-obj docutils literal notranslate"><span class="pre">atomic_min</span></code></a>(dst, value[, memory_order])</p></td>
485+
<td><p>Perform an atomic minimum operation.</p></td>
486+
</tr>
487+
<tr class="row-odd"><td><p><a class="reference internal" href="#tilelang.language.customize.atomic_add" title="tilelang.language.customize.atomic_add"><code class="xref py py-obj docutils literal notranslate"><span class="pre">atomic_add</span></code></a>(dst, value[, memory_order])</p></td>
482488
<td><p>Perform an atomic addition operation.</p></td>
483489
</tr>
484490
<tr class="row-even"><td><p><a class="reference internal" href="#tilelang.language.customize.atomic_addx2" title="tilelang.language.customize.atomic_addx2"><code class="xref py py-obj docutils literal notranslate"><span class="pre">atomic_addx2</span></code></a>(dst, value)</p></td>
@@ -499,6 +505,12 @@ <h2>Functions<a class="headerlink" href="#functions" title="Link to this heading
499505
<tr class="row-odd"><td><p><a class="reference internal" href="#tilelang.language.customize.view" title="tilelang.language.customize.view"><code class="xref py py-obj docutils literal notranslate"><span class="pre">view</span></code></a>(src[, shape, dtype])</p></td>
500506
<td><p>Views the input buffer with optionally modified shape and dtype.</p></td>
501507
</tr>
508+
<tr class="row-even"><td><p><a class="reference internal" href="#tilelang.language.customize.atomic_load" title="tilelang.language.customize.atomic_load"><code class="xref py py-obj docutils literal notranslate"><span class="pre">atomic_load</span></code></a>(src[, memory_order])</p></td>
509+
<td><p>Loads a value from the input buffer with specified memory_order.</p></td>
510+
</tr>
511+
<tr class="row-odd"><td><p><a class="reference internal" href="#tilelang.language.customize.atomic_store" title="tilelang.language.customize.atomic_store"><code class="xref py py-obj docutils literal notranslate"><span class="pre">atomic_store</span></code></a>(dst, src[, memory_order])</p></td>
512+
<td><p>Stores a value to the input buffer with specified memory_order.</p></td>
513+
</tr>
502514
</tbody>
503515
</table>
504516
</div>
@@ -588,15 +600,58 @@ <h2>Module Contents<a class="headerlink" href="#module-contents" title="Link to
588600
</dl>
589601
</dd></dl>
590602

603+
<dl class="py function">
604+
<dt class="sig sig-object py" id="tilelang.language.customize.atomic_max">
605+
<span class="sig-prename descclassname"><span class="pre">tilelang.language.customize.</span></span><span class="sig-name descname"><span class="pre">atomic_max</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dst</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">memory_order</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tilelang.language.customize.atomic_max" title="Link to this definition"></a></dt>
606+
<dd><p>Perform an atomic maximum operation.</p>
607+
<dl class="field-list simple">
608+
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
609+
<dd class="field-odd"><ul class="simple">
610+
<li><p><strong>dst</strong> (<em>Buffer</em>) – Destination buffer where the atomic maximum will be performed</p></li>
611+
<li><p><strong>value</strong> (<em>PrimExpr</em>) – Value to be atomically added</p></li>
612+
<li><p><strong>memory_order</strong> (<em>str</em><em> | </em><em>None</em>)</p></li>
613+
</ul>
614+
</dd>
615+
<dt class="field-even">Returns<span class="colon">:</span></dt>
616+
<dd class="field-even"><p>Handle to the atomic maximum operation</p>
617+
</dd>
618+
<dt class="field-odd">Return type<span class="colon">:</span></dt>
619+
<dd class="field-odd"><p>PrimExpr</p>
620+
</dd>
621+
</dl>
622+
</dd></dl>
623+
624+
<dl class="py function">
625+
<dt class="sig sig-object py" id="tilelang.language.customize.atomic_min">
626+
<span class="sig-prename descclassname"><span class="pre">tilelang.language.customize.</span></span><span class="sig-name descname"><span class="pre">atomic_min</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dst</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">memory_order</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tilelang.language.customize.atomic_min" title="Link to this definition"></a></dt>
627+
<dd><p>Perform an atomic minimum operation.</p>
628+
<dl class="field-list simple">
629+
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
630+
<dd class="field-odd"><ul class="simple">
631+
<li><p><strong>dst</strong> (<em>Buffer</em>) – Destination buffer where the atomic minimum will be performed</p></li>
632+
<li><p><strong>value</strong> (<em>PrimExpr</em>) – Value to be atomically added</p></li>
633+
<li><p><strong>memory_order</strong> (<em>str</em><em> | </em><em>None</em>)</p></li>
634+
</ul>
635+
</dd>
636+
<dt class="field-even">Returns<span class="colon">:</span></dt>
637+
<dd class="field-even"><p>Handle to the atomic minimum operation</p>
638+
</dd>
639+
<dt class="field-odd">Return type<span class="colon">:</span></dt>
640+
<dd class="field-odd"><p>PrimExpr</p>
641+
</dd>
642+
</dl>
643+
</dd></dl>
644+
591645
<dl class="py function">
592646
<dt class="sig sig-object py" id="tilelang.language.customize.atomic_add">
593-
<span class="sig-prename descclassname"><span class="pre">tilelang.language.customize.</span></span><span class="sig-name descname"><span class="pre">atomic_add</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dst</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tilelang.language.customize.atomic_add" title="Link to this definition"></a></dt>
647+
<span class="sig-prename descclassname"><span class="pre">tilelang.language.customize.</span></span><span class="sig-name descname"><span class="pre">atomic_add</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dst</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">memory_order</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tilelang.language.customize.atomic_add" title="Link to this definition"></a></dt>
594648
<dd><p>Perform an atomic addition operation.</p>
595649
<dl class="field-list simple">
596650
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
597651
<dd class="field-odd"><ul class="simple">
598652
<li><p><strong>dst</strong> (<em>Buffer</em>) – Destination buffer where the atomic addition will be performed</p></li>
599653
<li><p><strong>value</strong> (<em>PrimExpr</em>) – Value to be atomically added</p></li>
654+
<li><p><strong>memory_order</strong> (<em>str</em><em> | </em><em>None</em>)</p></li>
600655
</ul>
601656
</dd>
602657
<dt class="field-even">Returns<span class="colon">:</span></dt>
@@ -731,6 +786,47 @@ <h2>Module Contents<a class="headerlink" href="#module-contents" title="Link to
731786
</dl>
732787
</dd></dl>
733788

789+
<dl class="py function">
790+
<dt class="sig sig-object py" id="tilelang.language.customize.atomic_load">
791+
<span class="sig-prename descclassname"><span class="pre">tilelang.language.customize.</span></span><span class="sig-name descname"><span class="pre">atomic_load</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">src</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">memory_order</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'seq_cst'</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tilelang.language.customize.atomic_load" title="Link to this definition"></a></dt>
792+
<dd><p>Loads a value from the input buffer with specified memory_order.</p>
793+
<dl class="field-list simple">
794+
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
795+
<dd class="field-odd"><ul class="simple">
796+
<li><p><strong>src</strong> (<em>Buffer</em>) – Input buffer to load from</p></li>
797+
<li><p><strong>memory_order</strong> (<em>str</em><em>, </em><em>optional</em>) – Atomicity level for the load operation. Defaults to “seq_cst”.</p></li>
798+
</ul>
799+
</dd>
800+
<dt class="field-even">Returns<span class="colon">:</span></dt>
801+
<dd class="field-even"><p>The loaded value from the buffer</p>
802+
</dd>
803+
<dt class="field-odd">Return type<span class="colon">:</span></dt>
804+
<dd class="field-odd"><p>PrimExpr</p>
805+
</dd>
806+
</dl>
807+
</dd></dl>
808+
809+
<dl class="py function">
810+
<dt class="sig sig-object py" id="tilelang.language.customize.atomic_store">
811+
<span class="sig-prename descclassname"><span class="pre">tilelang.language.customize.</span></span><span class="sig-name descname"><span class="pre">atomic_store</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dst</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">src</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">memory_order</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'seq_cst'</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tilelang.language.customize.atomic_store" title="Link to this definition"></a></dt>
812+
<dd><p>Stores a value to the input buffer with specified memory_order.</p>
813+
<dl class="field-list simple">
814+
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
815+
<dd class="field-odd"><ul class="simple">
816+
<li><p><strong>dst</strong> (<em>Buffer</em>) – Input buffer to store to</p></li>
817+
<li><p><strong>src</strong> (<em>PrimExpr</em>) – Value to store</p></li>
818+
<li><p><strong>memory_order</strong> (<em>str</em><em>, </em><em>optional</em>) – Atomicity level for the load operation. Defaults to “seq_cst”.</p></li>
819+
</ul>
820+
</dd>
821+
<dt class="field-even">Returns<span class="colon">:</span></dt>
822+
<dd class="field-even"><p>The handle of the store operation</p>
823+
</dd>
824+
<dt class="field-odd">Return type<span class="colon">:</span></dt>
825+
<dd class="field-odd"><p>PrimExpr</p>
826+
</dd>
827+
</dl>
828+
</dd></dl>
829+
734830
</section>
735831
</section>
736832

@@ -796,13 +892,17 @@ <h2>Module Contents<a class="headerlink" href="#module-contents" title="Link to
796892
<li><a class="reference internal" href="#tilelang.language.customize.buffer_to_tile_region"><code class="docutils literal notranslate"><span class="pre">buffer_to_tile_region()</span></code></a></li>
797893
<li><a class="reference internal" href="#tilelang.language.customize.buffer_load_to_tile_region"><code class="docutils literal notranslate"><span class="pre">buffer_load_to_tile_region()</span></code></a></li>
798894
<li><a class="reference internal" href="#tilelang.language.customize.buffer_region_to_tile_region"><code class="docutils literal notranslate"><span class="pre">buffer_region_to_tile_region()</span></code></a></li>
895+
<li><a class="reference internal" href="#tilelang.language.customize.atomic_max"><code class="docutils literal notranslate"><span class="pre">atomic_max()</span></code></a></li>
896+
<li><a class="reference internal" href="#tilelang.language.customize.atomic_min"><code class="docutils literal notranslate"><span class="pre">atomic_min()</span></code></a></li>
799897
<li><a class="reference internal" href="#tilelang.language.customize.atomic_add"><code class="docutils literal notranslate"><span class="pre">atomic_add()</span></code></a></li>
800898
<li><a class="reference internal" href="#tilelang.language.customize.atomic_addx2"><code class="docutils literal notranslate"><span class="pre">atomic_addx2()</span></code></a></li>
801899
<li><a class="reference internal" href="#tilelang.language.customize.atomic_addx4"><code class="docutils literal notranslate"><span class="pre">atomic_addx4()</span></code></a></li>
802900
<li><a class="reference internal" href="#tilelang.language.customize.dp4a"><code class="docutils literal notranslate"><span class="pre">dp4a()</span></code></a></li>
803901
<li><a class="reference internal" href="#tilelang.language.customize.clamp"><code class="docutils literal notranslate"><span class="pre">clamp()</span></code></a></li>
804902
<li><a class="reference internal" href="#tilelang.language.customize.reshape"><code class="docutils literal notranslate"><span class="pre">reshape()</span></code></a></li>
805903
<li><a class="reference internal" href="#tilelang.language.customize.view"><code class="docutils literal notranslate"><span class="pre">view()</span></code></a></li>
904+
<li><a class="reference internal" href="#tilelang.language.customize.atomic_load"><code class="docutils literal notranslate"><span class="pre">atomic_load()</span></code></a></li>
905+
<li><a class="reference internal" href="#tilelang.language.customize.atomic_store"><code class="docutils literal notranslate"><span class="pre">atomic_store()</span></code></a></li>
806906
</ul>
807907
</li>
808908
</ul>

0 commit comments

Comments
 (0)