Back to Zephyr

Zephelin

doc/develop/manifest/external/zephelin.rst

4.4.02.4 KB
Original Source

.. _external_module_zephelin:

Zephelin ########

Introduction


Zephyr Profiling Library_ (ZPL), or Zephelin for short, is a library which enables capturing and reporting runtime performance metrics for profiling and detailed analysis of Zephyr applications, with a special focus on applications running AI/ML inference workloads.

In addition to the above, Zephelin also simplifies the analysis of AI runtimes, such as LiteRT_ and microTVM_, allowing you to gain a better understanding of the underlying bottlenecks or potential opportunities for optimization.

Zephelin features:

  • Tracing execution of Zephyr applications on hardware

  • Obtaining traces using such backends as UART, USB or debug adapter

  • Delivering traces in CTF and TEF formats

  • Scripts for capturing traces from device

  • Collecting readings from:

    • Memory - stack, heaps, kernel heaps and memory slabs
    • Sensors - e.g. die temperature sensors
    • Thread analysis - CPU usage
    • AI runtimes - e.g. tensor arena usage in LiteRT
  • Displaying details on executed neural network layers in the LiteRT or microTVM runtime:

    • Dimensions of inputs, outputs and weights
    • Parameters of layers
    • Time and resources spent on executing specific layers
  • Compilation-level and runtime-level configuration of the library

  • Ability to configure a profiling tier, controlling the subsystems and the amount of data collected

All of the above can be analyzed with Zephelin Trace Viewer_.

Usage With Zephyr


To use Zephelin as a Zephyr :ref:module <modules>, add the following entry:

.. code-block:: yaml

manifest: projects: - name: zephelin url: https://github.com/antmicro/zephelin revision: main path: modules/zephelin # adjust the path as needed

to a Zephyr submanifest (e.g. zephyr/submanifests/zephelin.yaml) and run west update, or add it as a West project in your project's west.yaml manifest.

Please consult the Zephelin documentation_ for more information.

References


.. target-notes::

.. _Zephyr Profiling Library: https://github.com/antmicro/zephelin

.. _Zephelin documentation: https://antmicro.github.io/zephelin/

.. _Zephelin Trace Viewer: https://antmicro.github.io/zephelin-trace-viewer

.. _LiteRT: https://ai.google.dev/edge/litert

.. _microTVM: https://tvm.apache.org/docs/v0.9.0/topic/microtvm/index.html