This is an automated email from the ASF dual-hosted git repository.

ruihangl pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tvm.git


The following commit(s) were added to refs/heads/main by this push:
     new 7dcdb56273 [Docs] Add API reference for tvm.s_tir submodules: dlight, 
meta_schedule, backend (#19369)
7dcdb56273 is described below

commit 7dcdb56273e598e739074153537e88b5765ef6ef
Author: Shushi Hong <[email protected]>
AuthorDate: Thu Apr 9 13:22:13 2026 -0400

    [Docs] Add API reference for tvm.s_tir submodules: dlight, meta_schedule, 
backend (#19369)
    
    Add API reference for tvm.s_tir submodules: dlight, meta_schedule, backend
---
 docs/reference/api/python/index.rst                |   1 +
 docs/reference/api/python/meta_schedule.rst        | 123 +++++++++++++++++++++
 .../{meta_schedule.rst => s_tir/backend.rst}       |  27 ++++-
 docs/reference/api/python/s_tir/dlight.rst         |  44 ++++++++
 .../tvm/s_tir/meta_schedule/database/database.py   |   4 +
 .../database/ordered_union_database.py             | 102 ++++++++---------
 .../s_tir/meta_schedule/database/union_database.py | 102 ++++++++---------
 7 files changed, 297 insertions(+), 106 deletions(-)

diff --git a/docs/reference/api/python/index.rst 
b/docs/reference/api/python/index.rst
index fa83956972..92c4f953a1 100644
--- a/docs/reference/api/python/index.rst
+++ b/docs/reference/api/python/index.rst
@@ -69,6 +69,7 @@ Python API
     s_tir/schedule
     s_tir/transform
     s_tir/dlight
+    s_tir/backend
 
 .. toctree::
     :maxdepth: 1
diff --git a/docs/reference/api/python/meta_schedule.rst 
b/docs/reference/api/python/meta_schedule.rst
index 526531b81c..e260f437ac 100644
--- a/docs/reference/api/python/meta_schedule.rst
+++ b/docs/reference/api/python/meta_schedule.rst
@@ -17,7 +17,130 @@
 
 tvm.s_tir.meta_schedule
 ------------------------
+
+tvm.s_tir.meta_schedule
+***********************
 .. automodule:: tvm.s_tir.meta_schedule
    :members:
    :imported-members:
    :autosummary:
+
+tvm.s_tir.meta_schedule.arg_info
+********************************
+.. automodule:: tvm.s_tir.meta_schedule.arg_info
+   :members:
+   :noindex:
+
+tvm.s_tir.meta_schedule.builder
+*******************************
+.. automodule:: tvm.s_tir.meta_schedule.builder
+   :members:
+   :imported-members:
+   :noindex:
+
+tvm.s_tir.meta_schedule.cost_model
+**********************************
+.. automodule:: tvm.s_tir.meta_schedule.cost_model
+   :members:
+   :imported-members:
+   :noindex:
+
+tvm.s_tir.meta_schedule.database
+********************************
+.. automodule:: tvm.s_tir.meta_schedule.database
+   :members:
+   :imported-members:
+   :noindex:
+
+tvm.s_tir.meta_schedule.feature_extractor
+*****************************************
+.. automodule:: tvm.s_tir.meta_schedule.feature_extractor
+   :members:
+   :imported-members:
+   :noindex:
+
+tvm.s_tir.meta_schedule.measure_callback
+****************************************
+.. automodule:: tvm.s_tir.meta_schedule.measure_callback
+   :members:
+   :imported-members:
+   :noindex:
+
+tvm.s_tir.meta_schedule.mutator
+*******************************
+.. automodule:: tvm.s_tir.meta_schedule.mutator
+   :members:
+   :imported-members:
+   :noindex:
+
+tvm.s_tir.meta_schedule.postproc
+********************************
+.. automodule:: tvm.s_tir.meta_schedule.postproc
+   :members:
+   :imported-members:
+   :noindex:
+
+tvm.s_tir.meta_schedule.runner
+******************************
+.. automodule:: tvm.s_tir.meta_schedule.runner
+   :members:
+   :imported-members:
+   :noindex:
+
+tvm.s_tir.meta_schedule.schedule_rule
+*************************************
+.. automodule:: tvm.s_tir.meta_schedule.schedule_rule
+   :members:
+   :noindex:
+
+tvm.s_tir.meta_schedule.search_strategy
+***************************************
+.. automodule:: tvm.s_tir.meta_schedule.search_strategy
+   :members:
+   :imported-members:
+   :noindex:
+
+tvm.s_tir.meta_schedule.space_generator
+***************************************
+.. automodule:: tvm.s_tir.meta_schedule.space_generator
+   :members:
+   :noindex:
+
+tvm.s_tir.meta_schedule.task_scheduler
+**************************************
+.. automodule:: tvm.s_tir.meta_schedule.task_scheduler
+   :members:
+   :imported-members:
+   :noindex:
+
+tvm.s_tir.meta_schedule.tir_integration
+***************************************
+.. automodule:: tvm.s_tir.meta_schedule.tir_integration
+   :members:
+   :noindex:
+
+tvm.s_tir.meta_schedule.relax_integration
+*****************************************
+.. automodule:: tvm.s_tir.meta_schedule.relax_integration
+   :members:
+   :noindex:
+
+tvm.s_tir.meta_schedule.trace_apply
+************************************
+.. automodule:: tvm.s_tir.meta_schedule.trace_apply
+   :members:
+   :noindex:
+
+tvm.s_tir.meta_schedule.schedule
+********************************
+.. automodule:: tvm.s_tir.meta_schedule.schedule
+   :members:
+   :imported-members:
+   :noindex:
+
+tvm.s_tir.meta_schedule.post_optimization
+*****************************************
+.. automodule:: tvm.s_tir.meta_schedule.post_optimization
+   :members:
+   :imported-members:
+   :noindex:
diff --git a/docs/reference/api/python/meta_schedule.rst 
b/docs/reference/api/python/s_tir/backend.rst
similarity index 61%
copy from docs/reference/api/python/meta_schedule.rst
copy to docs/reference/api/python/s_tir/backend.rst
index 526531b81c..a7aa259c2c 100644
--- a/docs/reference/api/python/meta_schedule.rst
+++ b/docs/reference/api/python/s_tir/backend.rst
@@ -15,9 +15,28 @@
     specific language governing permissions and limitations
     under the License.
 
-tvm.s_tir.meta_schedule
-------------------------
-.. automodule:: tvm.s_tir.meta_schedule
+tvm.s_tir.backend
+-----------------
+
+tvm.s_tir.backend
+*****************
+.. automodule:: tvm.s_tir.backend
+   :members:
+   :imported-members:
+
+tvm.s_tir.backend.adreno
+************************
+.. automodule:: tvm.s_tir.backend.adreno
+   :members:
+   :imported-members:
+
+tvm.s_tir.backend.adreno.pipeline
+*********************************
+.. automodule:: tvm.s_tir.backend.adreno.pipeline
+   :members:
+
+tvm.s_tir.backend.adreno.transform
+***********************************
+.. automodule:: tvm.s_tir.backend.adreno.transform
    :members:
    :imported-members:
-   :autosummary:
diff --git a/docs/reference/api/python/s_tir/dlight.rst 
b/docs/reference/api/python/s_tir/dlight.rst
index 777840055f..2c4df4a162 100644
--- a/docs/reference/api/python/s_tir/dlight.rst
+++ b/docs/reference/api/python/s_tir/dlight.rst
@@ -17,6 +17,50 @@
 
 tvm.s_tir.dlight
 ----------------
+
+tvm.s_tir.dlight
+****************
 .. automodule:: tvm.s_tir.dlight
    :members:
    :imported-members:
+
+tvm.s_tir.dlight.gpu
+********************
+.. automodule:: tvm.s_tir.dlight.gpu
+   :members:
+   :imported-members:
+   :noindex:
+
+tvm.s_tir.dlight.adreno
+***********************
+.. automodule:: tvm.s_tir.dlight.adreno
+   :members:
+   :imported-members:
+   :noindex:
+
+tvm.s_tir.dlight.cpu
+********************
+.. automodule:: tvm.s_tir.dlight.cpu
+   :members:
+   :imported-members:
+   :noindex:
+
+tvm.s_tir.dlight.analysis
+*************************
+.. automodule:: tvm.s_tir.dlight.analysis
+   :members:
+   :imported-members:
+   :noindex:
+
+tvm.s_tir.dlight.base
+*********************
+.. automodule:: tvm.s_tir.dlight.base
+   :members:
+   :noindex:
+
+tvm.s_tir.dlight.benchmark
+**************************
+.. automodule:: tvm.s_tir.dlight.benchmark
+   :members:
+   :imported-members:
+   :noindex:
diff --git a/python/tvm/s_tir/meta_schedule/database/database.py 
b/python/tvm/s_tir/meta_schedule/database/database.py
index e44d344b83..9a4de4d9ac 100644
--- a/python/tvm/s_tir/meta_schedule/database/database.py
+++ b/python/tvm/s_tir/meta_schedule/database/database.py
@@ -172,10 +172,12 @@ class Database(Object):
 
     def has_workload(self, mod: IRModule) -> bool:
         """Check if the database has the given workload.
+
         Parameters
         ----------
         mod : IRModule
             The IRModule to be searched for.
+
         Returns
         -------
         result : bool
@@ -485,10 +487,12 @@ class PyDatabase:
 
     def has_workload(self, mod: IRModule) -> bool:
         """Check if the database has the given workload.
+
         Parameters
         ----------
         mod : IRModule
             The IRModule to be searched for.
+
         Returns
         -------
         result : bool
diff --git a/python/tvm/s_tir/meta_schedule/database/ordered_union_database.py 
b/python/tvm/s_tir/meta_schedule/database/ordered_union_database.py
index 9dbc5bfbfe..e6aae492bf 100644
--- a/python/tvm/s_tir/meta_schedule/database/ordered_union_database.py
+++ b/python/tvm/s_tir/meta_schedule/database/ordered_union_database.py
@@ -39,64 +39,64 @@ class OrderedUnionDatabase(Database):
 
     .. code-block:: python
 
-    #### Case 1. `UnionDatabase`:
-    merged_db = ms.database.UnionDatabase(
-        db1, # no record
-        db2, # no record
-        db3, # has r3
-        db4  # has r4
-    )
-    # returns the better one between r3 and r4
-    merged_db.query_tuning_record(..., target_workload)
-
-    ### Case 2. `OrderedUnionDatabase`
-    merged_db = ms.database.OrderedUnionDatabase(
-        db1, # no record
-        db2, # no record
-        db3, # has r3
-        db4  # has r4
-    )
-    # returns r3
-    merged_db.query_tuning_record(..., target_workload)
+        #### Case 1. `UnionDatabase`:
+        merged_db = ms.database.UnionDatabase(
+            db1, # no record
+            db2, # no record
+            db3, # has r3
+            db4  # has r4
+        )
+        # returns the better one between r3 and r4
+        merged_db.query_tuning_record(..., target_workload)
 
-    ### Case 3. Mix-use scenario
-    merged_db = ms.database.UnionDatabase(
-        db1, # no record
-        db2, # no record
-        db3, # has r3
-        ms.database.OrderedUnionDatabase( # returns r4
-            db4,  # has r4
-            db5,  # has r5
+        ### Case 2. `OrderedUnionDatabase`
+        merged_db = ms.database.OrderedUnionDatabase(
+            db1, # no record
+            db2, # no record
+            db3, # has r3
+            db4  # has r4
         )
-    )
-    # returns the better one between r3 and r4
-    merged_db.query_tuning_record(..., target_workload)
+        # returns r3
+        merged_db.query_tuning_record(..., target_workload)
 
-    ### Case 4. Another mix-use scenario
-    merged_db = ms.database.UnionDatabase(
-        db1, # no record
-        db2, # no record
-        db3, # has r3
-        ms.database.UnionDatabase( # returns best one between r4 and r5
-            db4,  # has r4
-            db5,  # has r5
+        ### Case 3. Mix-use scenario
+        merged_db = ms.database.UnionDatabase(
+            db1, # no record
+            db2, # no record
+            db3, # has r3
+            ms.database.OrderedUnionDatabase( # returns r4
+                db4,  # has r4
+                db5,  # has r5
+            )
         )
-    )
-    # returns the best one among r3, r4 and r5
-    merged_db.query_tuning_record(..., target_workload)
+        # returns the better one between r3 and r4
+        merged_db.query_tuning_record(..., target_workload)
 
-    ### Case 5. Yet another mix-use scenario
-    merged_db = ms.database.OrderedUnionDatabase(
-        db1, # no record
-        db2, # no record
-        ms.database.UnionDatabase( # returns best one between r3 and r4
+        ### Case 4. Another mix-use scenario
+        merged_db = ms.database.UnionDatabase(
+            db1, # no record
+            db2, # no record
             db3, # has r3
-            db4,  # has r4
+            ms.database.UnionDatabase( # returns best one between r4 and r5
+                db4,  # has r4
+                db5,  # has r5
+            )
+        )
+        # returns the best one among r3, r4 and r5
+        merged_db.query_tuning_record(..., target_workload)
+
+        ### Case 5. Yet another mix-use scenario
+        merged_db = ms.database.OrderedUnionDatabase(
+            db1, # no record
+            db2, # no record
+            ms.database.UnionDatabase( # returns best one between r3 and r4
+                db3, # has r3
+                db4,  # has r4
+            )
+            db5,  # has r5
         )
-        db5,  # has r5
-    )
-    # returns the better one between r3 and r4
-    merged_db.query_tuning_record(..., target_workload)
+        # returns the better one between r3 and r4
+        merged_db.query_tuning_record(..., target_workload)
     """
 
     def __init__(self, *databases: Database) -> None:
diff --git a/python/tvm/s_tir/meta_schedule/database/union_database.py 
b/python/tvm/s_tir/meta_schedule/database/union_database.py
index ff7188e706..f9a18eacee 100644
--- a/python/tvm/s_tir/meta_schedule/database/union_database.py
+++ b/python/tvm/s_tir/meta_schedule/database/union_database.py
@@ -39,64 +39,64 @@ class UnionDatabase(Database):
 
     .. code-block:: python
 
-    #### Case 1. `UnionDatabase`:
-    merged_db = ms.database.UnionDatabase(
-        db1, # no record
-        db2, # no record
-        db3, # has r3
-        db4  # has r4
-    )
-    # returns the better one between r3 and r4
-    merged_db.query_tuning_record(..., target_workload)
-
-    ### Case 2. `OrderedUnionDatabase`
-    merged_db = ms.database.OrderedUnionDatabase(
-        db1, # no record
-        db2, # no record
-        db3, # has r3
-        db4  # has r4
-    )
-    # returns r3
-    merged_db.query_tuning_record(..., target_workload)
+        #### Case 1. `UnionDatabase`:
+        merged_db = ms.database.UnionDatabase(
+            db1, # no record
+            db2, # no record
+            db3, # has r3
+            db4  # has r4
+        )
+        # returns the better one between r3 and r4
+        merged_db.query_tuning_record(..., target_workload)
 
-    ### Case 3. Mix-use scenario
-    merged_db = ms.database.UnionDatabase(
-        db1, # no record
-        db2, # no record
-        db3, # has r3
-        ms.database.OrderedUnionDatabase( # returns r4
-            db4,  # has r4
-            db5,  # has r5
+        ### Case 2. `OrderedUnionDatabase`
+        merged_db = ms.database.OrderedUnionDatabase(
+            db1, # no record
+            db2, # no record
+            db3, # has r3
+            db4  # has r4
         )
-    )
-    # returns the better one between r3 and r4
-    merged_db.query_tuning_record(..., target_workload)
+        # returns r3
+        merged_db.query_tuning_record(..., target_workload)
 
-    ### Case 4. Another mix-use scenario
-    merged_db = ms.database.UnionDatabase(
-        db1, # no record
-        db2, # no record
-        db3, # has r3
-        ms.database.UnionDatabase( # returns best one between r4 and r5
-            db4,  # has r4
-            db5,  # has r5
+        ### Case 3. Mix-use scenario
+        merged_db = ms.database.UnionDatabase(
+            db1, # no record
+            db2, # no record
+            db3, # has r3
+            ms.database.OrderedUnionDatabase( # returns r4
+                db4,  # has r4
+                db5,  # has r5
+            )
         )
-    )
-    # returns the best one among r3, r4 and r5
-    merged_db.query_tuning_record(..., target_workload)
+        # returns the better one between r3 and r4
+        merged_db.query_tuning_record(..., target_workload)
 
-    ### Case 5. Yet another mix-use scenario
-    merged_db = ms.database.OrderedUnionDatabase(
-        db1, # no record
-        db2, # no record
-        ms.database.UnionDatabase( # returns best one between r3 and r4
+        ### Case 4. Another mix-use scenario
+        merged_db = ms.database.UnionDatabase(
+            db1, # no record
+            db2, # no record
             db3, # has r3
-            db4,  # has r4
+            ms.database.UnionDatabase( # returns best one between r4 and r5
+                db4,  # has r4
+                db5,  # has r5
+            )
+        )
+        # returns the best one among r3, r4 and r5
+        merged_db.query_tuning_record(..., target_workload)
+
+        ### Case 5. Yet another mix-use scenario
+        merged_db = ms.database.OrderedUnionDatabase(
+            db1, # no record
+            db2, # no record
+            ms.database.UnionDatabase( # returns best one between r3 and r4
+                db3, # has r3
+                db4,  # has r4
+            )
+            db5,  # has r5
         )
-        db5,  # has r5
-    )
-    # returns the better one between r3 and r4
-    merged_db.query_tuning_record(..., target_workload)
+        # returns the better one between r3 and r4
+        merged_db.query_tuning_record(..., target_workload)
     """
 
     def __init__(self, *databases: Database) -> None:

Reply via email to