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: