Skip to content

Adding Examples to the Helion Docs/site #330

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 12 commits into
base: main
Choose a base branch
from
40 changes: 40 additions & 0 deletions docs/GenerateExamples.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import os
EXAMPLES_DIR = '../../examples' # Adjust as needed
RST_DIR = './examples' # Relative to your Sphinx source dir
example_files = [
'add.py',
'all_gather_matmul.py',
'attention.py',
'bmm.py',
'concatenate.py',
'cross_entropy.py',
'embedding.py',
'exp.py',
'fp8_attention.py',
'fp8_gemm.py',
'jagged_dense_add.py',
'jagged_mean.py',
'long_sum.py',
'matmul.py',
'matmul_layernorm.py',
'matmul_split_k.py',
'moe_matmul_ogs.py',
'rms_norm.py',
'segment_reduction.py',
'softmax.py',
'sum.py',
'template_via_closure.py',
]
os.makedirs(RST_DIR, exist_ok=True)
for fname in example_files:
base = os.path.splitext(fname)[0]
# Capitalize and replace underscores with spaces for nicer titles
title = base.replace('_', ' ').title()
rst_path = os.path.join(RST_DIR, f"{base}.rst")
with open(rst_path, "w") as f:
f.write(f"""{title}
{'=' * len(title)}
.. literalinclude:: {os.path.join(EXAMPLES_DIR, fname)}
:language: python
:linenos:
""")
6 changes: 4 additions & 2 deletions docs/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,14 @@ SPHINXBUILD ?= sphinx-build
SOURCEDIR = .
BUILDDIR = ../site

html: clean
html: clean genEx
@$(SPHINXBUILD) -b html "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

livehtml: clean
livehtml: clean genEx
sphinx-autobuild "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) --open-browser --port 0

genEx:
python GenerateExamples.py
clean:
rm -rf $(BUILDDIR)/*

Expand Down
30 changes: 30 additions & 0 deletions docs/examples.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
Examples
========

Examples showing the use of Helios in various scenarios.

.. toctree::
:maxdepth: 1

examples/add
examples/all_gather_matmul
examples/attention
examples/bmm
examples/concatenate
examples/cross_entropy
examples/embedding
examples/exp
examples/fp8_attention
examples/fp8_gemm
examples/jagged_dense_add
examples/jagged_mean
examples/long_sum
examples/matmul
examples/matmul_layernorm
examples/matmul_split_k
examples/moe_matmul_ogs
examples/rms_norm
examples/segment_reduction
examples/softmax
examples/sum
examples/template_via_closure
5 changes: 5 additions & 0 deletions docs/examples/add.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Add
===
.. literalinclude:: ../../examples/add.py
:language: python
:linenos:
5 changes: 5 additions & 0 deletions docs/examples/all_gather_matmul.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
All Gather Matmul
=================
.. literalinclude:: ../../examples/all_gather_matmul.py
:language: python
:linenos:
5 changes: 5 additions & 0 deletions docs/examples/attention.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Attention
=========
.. literalinclude:: ../../examples/attention.py
:language: python
:linenos:
5 changes: 5 additions & 0 deletions docs/examples/bmm.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Bmm
===
.. literalinclude:: ../../examples/bmm.py
:language: python
:linenos:
5 changes: 5 additions & 0 deletions docs/examples/concatenate.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Concatenate
===========
.. literalinclude:: ../../examples/concatenate.py
:language: python
:linenos:
5 changes: 5 additions & 0 deletions docs/examples/cross_entropy.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Cross Entropy
=============
.. literalinclude:: ../../examples/cross_entropy.py
:language: python
:linenos:
5 changes: 5 additions & 0 deletions docs/examples/embedding.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Embedding
=========
.. literalinclude:: ../../examples/embedding.py
:language: python
:linenos:
5 changes: 5 additions & 0 deletions docs/examples/exp.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Exp
===
.. literalinclude:: ../../examples/exp.py
:language: python
:linenos:
5 changes: 5 additions & 0 deletions docs/examples/fp8_attention.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Fp8 Attention
=============
.. literalinclude:: ../../examples/fp8_attention.py
:language: python
:linenos:
5 changes: 5 additions & 0 deletions docs/examples/fp8_gemm.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Fp8 Gemm
========
.. literalinclude:: ../../examples/fp8_gemm.py
:language: python
:linenos:
5 changes: 5 additions & 0 deletions docs/examples/jagged_dense_add.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Jagged Dense Add
================
.. literalinclude:: ../../examples/jagged_dense_add.py
:language: python
:linenos:
5 changes: 5 additions & 0 deletions docs/examples/jagged_mean.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Jagged Mean
===========
.. literalinclude:: ../../examples/jagged_mean.py
:language: python
:linenos:
5 changes: 5 additions & 0 deletions docs/examples/long_sum.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Long Sum
========
.. literalinclude:: ../../examples/long_sum.py
:language: python
:linenos:
5 changes: 5 additions & 0 deletions docs/examples/matmul.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Matmul
======
.. literalinclude:: ../../examples/matmul.py
:language: python
:linenos:
5 changes: 5 additions & 0 deletions docs/examples/matmul_layernorm.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Matmul Layernorm
================
.. literalinclude:: ../../examples/matmul_layernorm.py
:language: python
:linenos:
5 changes: 5 additions & 0 deletions docs/examples/matmul_split_k.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Matmul Split K
==============
.. literalinclude:: ../../examples/matmul_split_k.py
:language: python
:linenos:
5 changes: 5 additions & 0 deletions docs/examples/moe_matmul_ogs.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Moe Matmul Ogs
==============
.. literalinclude:: ../../examples/moe_matmul_ogs.py
:language: python
:linenos:
5 changes: 5 additions & 0 deletions docs/examples/rms_norm.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Rms Norm
========
.. literalinclude:: ../../examples/rms_norm.py
:language: python
:linenos:
5 changes: 5 additions & 0 deletions docs/examples/segment_reduction.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Segment Reduction
=================
.. literalinclude:: ../../examples/segment_reduction.py
:language: python
:linenos:
5 changes: 5 additions & 0 deletions docs/examples/softmax.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Softmax
=======
.. literalinclude:: ../../examples/softmax.py
:language: python
:linenos:
5 changes: 5 additions & 0 deletions docs/examples/sum.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Sum
===
.. literalinclude:: ../../examples/sum.py
:language: python
:linenos:
5 changes: 5 additions & 0 deletions docs/examples/template_via_closure.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Template Via Closure
====================
.. literalinclude:: ../../examples/template_via_closure.py
:language: python
:linenos:
Loading
Loading