Skip to content

Commit 440b0c0

Browse files
fkokosinskijhedberg
authored andcommitted
doc/develop/manifest/external: add Zephelin
Add Zephelin [1], a Zephyr Profiling Library as an external module of the Zephyr Project. 1: https://github.com/antmicro/zephelin Signed-off-by: Filip Kokosinski <[email protected]>
1 parent 20f3508 commit 440b0c0

File tree

1 file changed

+79
-0
lines changed

1 file changed

+79
-0
lines changed
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
.. _external_module_zephelin:
2+
3+
Zephelin
4+
########
5+
6+
Introduction
7+
************
8+
9+
`Zephyr Profiling Library`_ (ZPL), or Zephelin for short, is a library which enables capturing
10+
and reporting runtime performance metrics for profiling and detailed analysis of Zephyr
11+
applications, with a special focus on applications running AI/ML inference workloads.
12+
13+
In addition to the above, Zephelin also simplifies the analysis of AI runtimes, such as `LiteRT`_
14+
and `microTVM`_, allowing you to gain a better understanding of the underlying bottlenecks or
15+
potential opportunities for optimization.
16+
17+
Zephelin features:
18+
19+
* Tracing execution of Zephyr applications on hardware
20+
* Obtaining traces using such backends as UART, USB or debug adapter
21+
* Delivering traces in CTF and TEF formats
22+
* Scripts for capturing traces from device
23+
* Collecting readings from:
24+
25+
* Memory - stack, heaps, kernel heaps and memory slabs
26+
* Sensors - e.g. die temperature sensors
27+
* Thread analysis - CPU usage
28+
* AI runtimes - e.g. tensor arena usage in LiteRT
29+
30+
* Displaying details on executed neural network layers in the LiteRT or microTVM runtime:
31+
32+
* Dimensions of inputs, outputs and weights
33+
* Parameters of layers
34+
* Time and resources spent on executing specific layers
35+
36+
* Compilation-level and runtime-level configuration of the library
37+
38+
* Ability to configure a profiling tier, controlling the subsystems and the amount of data collected
39+
40+
All of the above can be analyzed with `Zephelin Trace Viewer`_.
41+
42+
Usage With Zephyr
43+
*****************
44+
45+
To use Zephelin as a Zephyr :ref:`module <modules>`, add the following entry:
46+
47+
.. code-block:: yaml
48+
49+
manifest:
50+
projects:
51+
- name: zephelin
52+
url: https://github.com/antmicro/zephelin
53+
revision: main
54+
path: modules/zephelin # adjust the path as needed
55+
56+
to a Zephyr submanifest (e.g. ``zephyr/submanifests/zephelin.yaml``) and run ``west update``, or
57+
add it as a West project in your project's ``west.yaml`` manifest.
58+
59+
Please consult the `Zephelin documentation`_ for more information.
60+
61+
References
62+
**********
63+
64+
.. target-notes::
65+
66+
.. _Zephyr Profiling Library:
67+
https://github.com/antmicro/zephelin
68+
69+
.. _Zephelin documentation:
70+
https://antmicro.github.io/zephelin/
71+
72+
.. _Zephelin Trace Viewer:
73+
https://antmicro.github.io/zephelin-trace-viewer
74+
75+
.. _LiteRT:
76+
https://ai.google.dev/edge/litert
77+
78+
.. _microTVM:
79+
https://tvm.apache.org/docs/v0.9.0/topic/microtvm/index.html

0 commit comments

Comments
 (0)