Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
bf06c93
feat(am62d-audioai): add config files and buildable doc skeleton
junechul Sep 3, 2026
f1bd267
feat(am62d-audioai): add Section 1 introduction with TVM+TIDL diagram
junechul Sep 3, 2026
4c1c7d1
feat(am62d-audioai): add Section 2 Audio AI Model Zoo on-target demos
junechul Sep 3, 2026
6f16447
feat(am62d-audioai): add Section 3 compile/evaluate/inspect workflow
junechul Sep 3, 2026
6cf0df0
feat(am62d-audioai): add Section 4 performance benchmark tables
junechul Sep 3, 2026
0db7cfb
feat(am62d-audioai): integrate navigation, cross-links, and full build
junechul Sep 3, 2026
283617c
docs(am62d-audioai): reframe as BYOM workflow and fix C7 NPU terminology
junechul Sep 9, 2026
c0b6471
docs(am62d-audioai): reconcile compile/eval/inspect with standalone A…
junechul Sep 11, 2026
319271f
docs(am62d-audioai): strip prompt symbol from copy button output
junechul Sep 22, 2026
db96350
docs(am62d-audioai): update Introduction and Model Zoo sections
junechul Sep 23, 2026
630cb1c
docs(am62d-audioai): Updated "Model Compile / Evaluate / Inspect" sec…
junechul Sep 23, 2026
6e9c9ad
docs(am62d-audioai): switch build target to OS=edgeai and update mode…
junechul Oct 9, 2026
0d748a1
docs(am62d-audioai): split Compile/Evaluate/Inspect into two sections
junechul Oct 9, 2026
95ea7ac
docs(am62d-audioai): fix inspector path and Jupyter launcher description
junechul Oct 12, 2026
880ba36
chore(am62d-audioai): stop tracking diagram sources and export script
junechul Oct 13, 2026
0f63803
docs(am62d-audioai): address PR review feedback on edgeai pages
junechul Oct 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/styles/config/vocabularies/PSDK/accept.txt

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Acronyms are not allowed here

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed. accept.txt now only adds [Ss]ubgraphs?, logits?, perfsim and venv, which are the only entries Vale flagged. No acronyms.

Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,13 @@ Zink
[Mm]ulticast
[Rr]enderers?
[Ss]carthgap
[Ss]ubgraphs?
[Tt]oolchain
balenaEtcher
bdebstrap
fdisk
logits?
mmdebstrap
perfsim
umount
venv
2 changes: 1 addition & 1 deletion .rstcheck.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ ignore_directives = ifconfig,graphviz,grid,grid-item,grid-item-card,card,dropdow
# ignore the following languages because they require external compilers and
# snippets in this repo depend on external code
ignore_languages = c,cpp,c++
ignore_substitutions = __PART_FAMILY_NAME__,__PART_FAMILY_DEVICE_NAMES__,__PRODUCT_LINE_NAME__,__SDK_BUILD_MACHINE__,__SDK_FULL_NAME__,__SDK_SHORT_NAME__,__SDK_INSTALL_FILE__,__SDK_INSTALL_DIR__,__SDK_DOWNLOAD_URL__,__LINUX_UBUNTU_VERSION_LONG__,__LINUX_UBUNTU_VERSION_SHORT__,__OPTEE_PLATFORM_FLAVOR__,__RTOS_UBUNTU_VERSION_LONG__,__WINDOWS_SUPPORTED_LONG__,__FEATURINGMATRIX__,__SYSFW_CORE_NAME__,__PCIE_BASE_ADDRESS__,__PCIE_DEVICE_ID__,__IMAGE_TYPE__,__SDK_OS_NAME__
ignore_substitutions = __PART_FAMILY_NAME__,__PART_FAMILY_DEVICE_NAMES__,__PRODUCT_LINE_NAME__,__SDK_BUILD_MACHINE__,__SDK_FULL_NAME__,__SDK_SHORT_NAME__,__SDK_INSTALL_FILE__,__SDK_INSTALL_DIR__,__SDK_DOWNLOAD_URL__,__LINUX_UBUNTU_VERSION_LONG__,__LINUX_UBUNTU_VERSION_SHORT__,__OPTEE_PLATFORM_FLAVOR__,__RTOS_UBUNTU_VERSION_LONG__,__WINDOWS_SUPPORTED_LONG__,__FEATURINGMATRIX__,__SYSFW_CORE_NAME__,__PCIE_BASE_ADDRESS__,__PCIE_DEVICE_ID__,__IMAGE_TYPE__,__SDK_OS_NAME__,__AUDIOAI_SDK_VERSION__,trade
ignore_messages = (Hyperlink target.*is not referenced\.)
6 changes: 6 additions & 0 deletions conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,12 @@

FAMILY = os.environ.get("DEVFAMILY", "")
OS = os.environ.get("OS", "")

# Audio AI docs prefix every shell command with a "$ " prompt symbol; strip it
# from the copy-button output so copied text is directly runnable.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I kept this scoped to the AM62DX edgeai build on purpose. A global copybutton_prompt_text would change copy behavior for every device doc.

if OS == "edgeai" and FAMILY == "AM62DX":
copybutton_prompt_text = "$ "

try:
globals().update(importlib.import_module(f"configs.{FAMILY}.{FAMILY}_{OS}_tags").__dict__)
except ModuleNotFoundError as exc:
Expand Down
30 changes: 30 additions & 0 deletions configs/AM62DX/AM62DX_edgeai_config.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# General family replacement variables and configuration values for AM62D Audio AI build

# This file is processed by Python scripts to define both replacement
# variable and configuration values for a device family build.
# For replacement variables, all variables should be listed on a single
# line, and all the variables should be listed on consecutive lines
# (i.e. no additional blank lines between the replacement variables).
# Similarly, all the configuration values should be listed on individual,
# consecutive lines (with no blank lines between the configuration values).
#
# Note that neither replacement variables nor configuration values may contain
# a colon (i.e. ":") in their name. However, values may contain colons.

Replacement Variables
---------------------
'__PART_FAMILY_NAME__' : 'AM62Dx'
'__PART_FAMILY_DEVICE_NAMES__' : 'AM62Dx'
'__PRODUCT_LINE_NAME__' : 'Sitara MPU'
'__SDK_FULL_NAME__' : 'Processor SDK Linux Audio AI AM62Dx'
'__SDK_SHORT_NAME__' : 'PSDK Audio AI'
'__SDK_DOWNLOAD_URL__' : '`AM62D-SDK-Download-page <https://www.ti.com/drr/opn/AM62D-LINUX-RT-RESTRICTED-SDK>`__'
'__AUDIOAI_SDK_VERSION__' : '12.1'
'__TIDL_VERSION__' : '11_02_18_00'
'__TIDL_TOOLS_VERSION__' : '11.2.x'

Configuration Values
--------------------
'CONFIG_part_family' : 'AM62DX_family'
'CONFIG_part_variant' : 'AM62DX'
'CONFIG_sdk' : 'SITARA'
6 changes: 6 additions & 0 deletions configs/AM62DX/AM62DX_edgeai_tags.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Project name and HTML title
project = u'Audio AI for AM62D'
html_title = 'Audio AI for AM62D Documentation'

# The master toctree document.
master_doc = 'devices/AM62DX/edgeai/index'
6 changes: 6 additions & 0 deletions configs/AM62DX/AM62DX_edgeai_toc.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
devices/AM62DX/edgeai/index
devices/AM62DX/edgeai/introduction
devices/AM62DX/edgeai/model_zoo
devices/AM62DX/edgeai/model_compile_evaluate
devices/AM62DX/edgeai/model_inspect
devices/AM62DX/edgeai/performance
21 changes: 21 additions & 0 deletions source/devices/AM62DX/edgeai/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
.. _audioai-index:

#########################################
AM62D Audio AI Software Developer's Guide

Check warning on line 4 in source/devices/AM62DX/edgeai/index.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Headings] Use sentence-style capitalization in 'AM62D Audio AI Software Developer's Guide'. Raw Output: {"message":"[RedHat.Headings] Use sentence-style capitalization in 'AM62D Audio AI Software Developer's Guide'.","location":{"path":"source/devices/AM62DX/edgeai/index.rst","range":{"start":{"line":4,"column":1},"end":{"line":4,"column":42}}},"severity":"INFO","code":{"value":"RedHat.Headings","url":"https://redhat-documentation.github.io/vale-at-red-hat/reference-guide.html#headings"}}
#########################################

.. rubric:: Welcome to the AM62D Audio AI/DL Software Developer's Guide

.. toctree::
:maxdepth: 5
:numbered:

introduction
model_zoo
model_compile_evaluate
model_inspect
performance

+--------------------------------+--------------------------------------------------------------------------------------------------+
| .. Image:: /images/E2e.jpg | For technical support please post your questions at `http://e2e.ti.com <http://e2e.ti.com/>`__. |

Check warning on line 20 in source/devices/AM62DX/edgeai/index.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.DoNotUseTerms] Do not use "please" in technical documentation. Raw Output: {"message":"[RedHat.DoNotUseTerms] Do not use \"please\" in technical documentation.","location":{"path":"source/devices/AM62DX/edgeai/index.rst","range":{"start":{"line":20,"column":58},"end":{"line":20,"column":64}}},"severity":"WARNING","code":{"value":"RedHat.DoNotUseTerms","url":"https://redhat-documentation.github.io/vale-at-red-hat/reference-guide.html#do-not-use-terms"}}
+--------------------------------+--------------------------------------------------------------------------------------------------+
131 changes: 131 additions & 0 deletions source/devices/AM62DX/edgeai/introduction.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
.. include:: <isonum.txt>

Check warning on line 1 in source/devices/AM62DX/edgeai/introduction.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.ReadabilityGrade] Simplify your language. The calculated Flesch–Kincaid grade level of 9.85 is above the recommended reading grade level of 9. Raw Output: {"message":"[RedHat.ReadabilityGrade] Simplify your language. The calculated Flesch–Kincaid grade level of 9.85 is above the recommended reading grade level of 9.","location":{"path":"source/devices/AM62DX/edgeai/introduction.rst","range":{"start":{"line":1,"column":1},"end":{"line":1,"column":2}}},"severity":"INFO","code":{"value":"RedHat.ReadabilityGrade","url":"https://redhat-documentation.github.io/vale-at-red-hat/reference-guide.html#readability-grade"}}

.. _audioai-introduction:

#######################
Introduction & Overview

Check warning on line 6 in source/devices/AM62DX/edgeai/introduction.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Symbols] Do not use the '&' symbol. Raw Output: {"message":"[RedHat.Symbols] Do not use the '&' symbol.","location":{"path":"source/devices/AM62DX/edgeai/introduction.rst","range":{"start":{"line":6,"column":14},"end":{"line":6,"column":15}}},"severity":"INFO","code":{"value":"RedHat.Symbols","url":"https://redhat-documentation.github.io/supplementary-style-guide/#_symbols"}}

Check warning on line 6 in source/devices/AM62DX/edgeai/introduction.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Headings] Use sentence-style capitalization in 'Introduction & Overview'. Raw Output: {"message":"[RedHat.Headings] Use sentence-style capitalization in 'Introduction & Overview'.","location":{"path":"source/devices/AM62DX/edgeai/introduction.rst","range":{"start":{"line":6,"column":1},"end":{"line":6,"column":24}}},"severity":"INFO","code":{"value":"RedHat.Headings","url":"https://redhat-documentation.github.io/vale-at-red-hat/reference-guide.html#headings"}}
#######################

This guide walks through the workflow for developing and deploying audio
deep-learning (Audio AI/DL) models on the |__PART_FAMILY_NAME__| platform, using
|__SDK_FULL_NAME__| |__AUDIOAI_SDK_VERSION__|. It is written for embedded

Check warning on line 11 in source/devices/AM62DX/edgeai/introduction.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.PassiveVoice] 'is written' is passive voice. In general, use active voice. Consult the style guide for acceptable use of passive voice. Raw Output: {"message":"[RedHat.PassiveVoice] 'is written' is passive voice. In general, use active voice. Consult the style guide for acceptable use of passive voice.","location":{"path":"source/devices/AM62DX/edgeai/introduction.rst","range":{"start":{"line":11,"column":51},"end":{"line":11,"column":61}}},"severity":"INFO","code":{"value":"RedHat.PassiveVoice","url":"https://redhat-documentation.github.io/vale-at-red-hat/reference-guide.html#passive-voice"}}

Check warning on line 11 in source/devices/AM62DX/edgeai/introduction.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.SentenceLength] Try to keep sentences to an average of 32 words or fewer. Raw Output: {"message":"[RedHat.SentenceLength] Try to keep sentences to an average of 32 words or fewer.","location":{"path":"source/devices/AM62DX/edgeai/introduction.rst","range":{"start":{"line":11,"column":48},"end":{"line":11,"column":50}}},"severity":"INFO","code":{"value":"RedHat.SentenceLength","url":"https://redhat-documentation.github.io/vale-at-red-hat/reference-guide.html#sentence-length"}}
developers who want to run, compile, evaluate, and benchmark audio models on the
AM62D - either out of the box on the target with pre-compiled artifacts, or

Check warning on line 13 in source/devices/AM62DX/edgeai/introduction.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.DoNotUseTerms] Do not use "out of the box" or "out-of-the-box". Use text that is suitable for the context and the noun to which this adjective applies. Raw Output: {"message":"[RedHat.DoNotUseTerms] Do not use \"out of the box\" or \"out-of-the-box\". Use text that is suitable for the context and the noun to which this adjective applies.","location":{"path":"source/devices/AM62DX/edgeai/introduction.rst","range":{"start":{"line":13,"column":16},"end":{"line":13,"column":30}}},"severity":"WARNING","code":{"value":"RedHat.DoNotUseTerms","url":"https://redhat-documentation.github.io/vale-at-red-hat/reference-guide.html#do-not-use-terms"}}
through the x86 compile/evaluate workflow.

Check warning on line 14 in source/devices/AM62DX/edgeai/introduction.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Slash] Use either 'or' or 'and' in 'compile/evaluate' Raw Output: {"message":"[RedHat.Slash] Use either 'or' or 'and' in 'compile/evaluate'","location":{"path":"source/devices/AM62DX/edgeai/introduction.rst","range":{"start":{"line":14,"column":17},"end":{"line":14,"column":33}}},"severity":"WARNING","code":{"value":"RedHat.Slash","url":"https://redhat-documentation.github.io/vale-at-red-hat/reference-guide.html#slash"}}

Check warning on line 14 in source/devices/AM62DX/edgeai/introduction.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.TermsSuggestions] Depending on the context, consider using '64-bit x86' or 'x86_64' rather than 'x86'. Raw Output: {"message":"[RedHat.TermsSuggestions] Depending on the context, consider using '64-bit x86' or 'x86_64' rather than 'x86'.","location":{"path":"source/devices/AM62DX/edgeai/introduction.rst","range":{"start":{"line":14,"column":13},"end":{"line":14,"column":16}}},"severity":"INFO","code":{"value":"RedHat.TermsSuggestions","url":"https://redhat-documentation.github.io/vale-at-red-hat/reference-guide.html#terms-suggestions"}}

Four **reference models** serve as worked examples throughout the guide, but the
workflow is not limited to them: the same compile/evaluate/inspect flow is a
bring-your-own-model (BYOM) flow that accepts any supported `ONNX
<https://onnx.ai/>`__ model. More reference models will be added over time.

The remaining sections cover:

- :ref:`Audio AI Model Zoo <audioai-model-zoo>` - out-of-box demos on the AM62D
target (inference scripts and Jupyter notebooks) using pre-trained models and
pre-compiled artifacts.
- :ref:`Model Compile and Evaluate <audioai-compile-evaluate>` - the
x86 BYOM workflow built on ``edgeai-tidlrunner``: compile a model for the AM62D
and evaluate accuracy on a dataset.
- :ref:`Model Inspect <audioai-model-inspect>` - analyze the compiled subgraphs
and per-layer behavior with Model Inspector.
- :ref:`Performance benchmark <audioai-performance>` - latency and memory
methodology with per-model tables.

********************
Development workflow
********************

The end-to-end path is the same for a reference model or your own model:

#. **Obtain an ONNX model** - a reference graph shipped with the AudioAI ModelZoo,
or your own exported ONNX.
#. **Compile** it for the C7\ |trade| NPU on an x86 host (:ref:`Model Compile and
Evaluate <audioai-compile-evaluate>`).
#. **Evaluate** accuracy or audio-quality metrics on a dataset.

Check failure on line 44 in source/devices/AM62DX/edgeai/introduction.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.TermsErrors] Use 'data set' rather than 'dataset'. Raw Output: {"message":"[RedHat.TermsErrors] Use 'data set' rather than 'dataset'.","location":{"path":"source/devices/AM62DX/edgeai/introduction.rst","range":{"start":{"line":44,"column":56},"end":{"line":44,"column":63}}},"severity":"ERROR","code":{"value":"RedHat.TermsErrors","url":"https://redhat-documentation.github.io/vale-at-red-hat/reference-guide.html#terms-errors"}}
#. **Inspect** the compiled subgraphs and per-layer analysis (:ref:`Model
Inspect <audioai-model-inspect>`).
#. **Run** on the AM62D target using the compiled artifact
(:ref:`Audio AI Model Zoo <audioai-model-zoo>`).
#. **Benchmark** latency and memory (:ref:`Performance <audioai-performance>`).

****************
Reference models
****************

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Title overhang

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed. Every over/underline in the edgeai pages now has exactly the same length as its title.

Four reference models are provided across two task families, as worked examples
of the workflow. Each is delivered as an `ONNX <https://onnx.ai/>`__ graph and,
except for GTCRN, is offloaded to the C7\ |trade| NPU through the TVM runtime
(TVM-RT); GTCRN is the one that runs ARM-only. See :ref:`the framework overview
<audioai-tvm-tidl>` below for what that means. The same flow accepts your own
ONNX model, and more reference models will be added over time.

Audio analysis and classification
=================================

**VGGish11** (model ID ``ac-0101``)
Audio-clip classification. Input is a log-mel patch of shape ``(1, 1, 64, 126)``;
output is ``(1, 10)`` class logits plus a ``(1, 512)`` embedding. Runs at 8-bit,
fully offloaded to the C7\ |trade| NPU via TVM-RT (a single TIDL subgraph).

**YAMNet** (model ID ``ac-0201``)
Audio-event classification. Input is a log-mel patch of shape ``(1, 1, 96, 64)``;
output is ``(1, 521)`` class scores. Runs at 8-bit, fully offloaded to the
C7\ |trade| NPU via TVM-RT (a single TIDL subgraph).

Both classification models are evaluated on the UrbanSound8K dataset.

Check failure on line 75 in source/devices/AM62DX/edgeai/introduction.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.TermsErrors] Use 'data set' rather than 'dataset'. Raw Output: {"message":"[RedHat.TermsErrors] Use 'data set' rather than 'dataset'.","location":{"path":"source/devices/AM62DX/edgeai/introduction.rst","range":{"start":{"line":75,"column":62},"end":{"line":75,"column":69}}},"severity":"ERROR","code":{"value":"RedHat.TermsErrors","url":"https://redhat-documentation.github.io/vale-at-red-hat/reference-guide.html#terms-errors"}}

Speech enhancement
==================

**GCRN** (model ID ``ase-0201``)
Convolutional-recurrent speech enhancement (noise suppression) over a fixed 4-second
window. Input and output are complex spectrograms of shape ``(1, 2, 401, 161)``.
Runs at 16-bit and is offloaded to the C7\ |trade| NPU via TVM-RT
(``tidl_offload: true``).

**GTCRN** (model ID ``ase-0100``)
Grouped temporal convolutional-recurrent speech enhancement. Input and output
are complex spectrograms of shape ``(1, 257, T, 2)`` with a dynamic time
dimension ``T``. Runs FP32 on the Arm core through the ONNX runtime
(``tidl_offload: false``) - it is the only supported model that is **not**
offloaded to the C7\ |trade| NPU.

Both speech-enhancement models are evaluated on the VoiceBank-DEMAND-16k
dataset.

Check failure on line 94 in source/devices/AM62DX/edgeai/introduction.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.TermsErrors] Use 'data set' rather than 'dataset'. Raw Output: {"message":"[RedHat.TermsErrors] Use 'data set' rather than 'dataset'.","location":{"path":"source/devices/AM62DX/edgeai/introduction.rst","range":{"start":{"line":94,"column":1},"end":{"line":94,"column":8}}},"severity":"ERROR","code":{"value":"RedHat.TermsErrors","url":"https://redhat-documentation.github.io/vale-at-red-hat/reference-guide.html#terms-errors"}}

.. _audioai-tvm-tidl:

********************
TVM + TIDL framework
********************

The AM62D audio models are compiled and deployed with **TI TVM**, TI's fork of
the `Apache TVM <https://tvm.apache.org/>`__ deep-learning compiler. The target
accelerator is the **C7**\ |trade| **NPU** - TI's Neural Processing Unit, which
combines the **C7x DSP** with the **Matrix Multiplication Accelerator (MMA)**
(referred to as *C7x+MMA* in older documentation).

TI TVM integrates **TIDL** (TI Deep Learning) as an accelerator backend:
TIDL-supported layers are offloaded to the MMA, while TVM generates **C7x DSP**
code for any remaining layers. Because the MMA and the C7x DSP together make up
the C7\ |trade| NPU, the result is a single deployable artifact in which the
**entire model runs on the C7**\ |trade| **NPU**.

Compilation runs on an x86 host and proceeds in stages:

#. **Model import** - the ONNX graph is imported into TVM.
#. **Partitioning** - using the TIDL import API, the graph is split into
TIDL-supported subgraphs (compiled by the TIDL network compiler) and the
remaining operators (handled by TVM C7x DSP code generation).
#. **Artifact generation** - both parts are packaged into one TVM-RT deployable
artifact (``deploy_lib.so`` + ``deploy_graph.json`` + ``deploy_param.params``).

At run time on the AM62D, the TVM runtime loads the artifact and dispatches the
offloaded subgraphs to TIDL-RT on the C7\ |trade| NPU.

.. figure:: ../../../images/audioai/tvm_tidl_flow.svg
:width: 80 %
:align: center

TVM + TIDL compile-and-deploy flow for the AM62D audio models. Green blocks
are handled by TIDL; white blocks are handled by TVM.
Loading
Loading