Zephelin benchmarking¶
This chapter demonstrates the overhead introduced by the Zephelin library, based on its different variants.
Zephelin Benchmark Results¶
max32690fthr_max32690_m4¶
Benchmark |
Cycles |
FLASH [B] |
RAM [B] |
Configs |
|---|---|---|---|---|
7583 |
4784 |
18032 |
||
21208811 |
21496 |
58724 |
||
7583 |
5048 |
20572 |
||
237035 |
5080 |
21524 |
||
2025 |
15176 |
20412 |
||
4695722 |
31880 |
61364 |
||
2027 |
15440 |
22932 |
||
2027 |
15456 |
23540 |
||
76433 |
29720 |
79276 |
||
76239 |
29984 |
82708 |
||
84995 |
30040 |
83932 |
||
5950517 |
16216 |
19672 |
||
42959391 |
17128 |
24200 |
stm32f746g_disco_stm32f746xx¶
Benchmark |
Cycles |
FLASH [B] |
RAM [B] |
Configs |
|---|---|---|---|---|
7951 |
4608 |
18552 |
||
29506629 |
21312 |
65792 |
||
7951 |
4800 |
21112 |
||
183986 |
4864 |
21864 |
||
2125 |
14976 |
20936 |
||
6529022 |
31744 |
68428 |
||
2125 |
15232 |
23476 |
||
2125 |
15232 |
23880 |
||
78292 |
29568 |
79804 |
||
77977 |
29760 |
83268 |
||
84252 |
29824 |
84272 |
||
6576133 |
16832 |
20244 |
||
47879039 |
17536 |
24804 |
Benchmarks¶
ZPL_BENCHMARK_RUN_BASIC¶
Basic Zephelin benchmark (a very inefficient dot product implementaton)
Based on an inefficient dot product implementation. Uses ZPL scopes for tracing.
ZPL_BENCHMARK_RUN_DHRYSTONE¶
Dhrystone Zephelin benchmark
Synthetic benchmark for integer operations. Doesn’t rely on any Zephyr features.
ZPL_BENCHMARK_RUN_TFLITE¶
TFLite-based Zephelin benchmark
Performs inference using a simple TFLite model. Uses ZPL scopes and model tracing.
ZPL_BENCHMARK_RUN_THREADS¶
Threads-based Zephelin benchmark
Features multiple threads performing a dummy operation on a single resource. Uses Zephyr’s mutexes and semaphores.
Configs¶
instr_tracing.conf¶
CONFIG_TRACING=y
CONFIG_INSTRUMENTATION=y
CONFIG_TRACING_CTF=y
CONFIG_TRACING_SYNC=y
CONFIG_TRACING_MUTEX=y
CONFIG_INSTRUMENTATION_BACKEND_TRACING_CORE=y
CONFIG_THREAD_NAME=y
CONFIG_THREAD_MAX_NAME_LEN=20
CONFIG_INSTRUMENTATION_DYNAMIC_TRIGGER=n
CONFIG_MAIN_STACK_SIZE=8196
CONFIG_INSTRUMENTATION_TRIGGER_FUNCTION="benchmark_run"
CONFIG_INSTRUMENTATION_STOPPER_FUNCTION="benchmark_run"
prj.conf¶
CONFIG_TIMING_FUNCTIONS=y
tflite.conf¶
CONFIG_MAIN_STACK_SIZE=3072
CONFIG_TEST_RANDOM_GENERATOR=y
CONFIG_TENSORFLOW_LITE_MICRO=y
CONFIG_CPP=y
CONFIG_STD_CPP17=y
CONFIG_REQUIRES_FLOAT_PRINTF=y
tracing.conf¶
CONFIG_TRACING=y
CONFIG_TRACING_CTF=y
CONFIG_TRACING_SYNC=y
CONFIG_TRACING_MUTEX=y
CONFIG_TRACING_SEMAPHORE=y
CONFIG_TRACING_THREAD=y
CONFIG_TRACING_STACK=y
zpl.conf¶
CONFIG_TRACING=y
CONFIG_TRACING_CTF=y
CONFIG_TRACING_SYNC=y
CONFIG_ZPL=y
CONFIG_ZPL_TRACE=y
CONFIG_ZPL_TRACE_FULL_MODE=y
CONFIG_ZPL_TRACE_FORMAT_CTF=y
CONFIG_ZPL_SCOPE_MARKING=y
Commits¶
Project |
Commit |
|---|---|
zephelin |
30cc3a3f3775d6381eab79df868c483942c3dad8 |
zephyr |
3568e1b6d5cdd51a6b964a2a1d6d29200fea2056 |