Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
4036e59
initial commit of fir test (no build system yet)
Mar 28, 2024
5f53730
minor tweaks and basic Makefile build/run that passes on my local Mac
jenniferhellar Mar 28, 2024
97c4361
removed redundant options in build command and separated the make set…
jenniferhellar Mar 28, 2024
6e3587c
added dummy and stm32fdiscovery targets
jenniferhellar May 4, 2024
e97da98
minor fixes on compile options that break debug and adding stm cube p…
jenniferhellar May 4, 2024
8521a63
initial biquad df2T; dummy data for now
jenniferhellar May 7, 2024
01754cd
cleanup and made fir_block only a single 128-sample block
jenniferhellar May 9, 2024
0541e31
quick fix because refOutput only has 64 elements
jenniferhellar May 9, 2024
802c3ec
cleaned up fir block test and added python script to create the filte…
jenniferhellar May 11, 2024
451d0e2
bug fixes
jenniferhellar May 11, 2024
d29bc4f
fir single-sample test
jenniferhellar May 11, 2024
a4b2e16
fixes for accurate cycle count
jenniferhellar May 11, 2024
d032359
progress towards real biquad filter implementation
jenniferhellar May 12, 2024
14c07d4
biquad changes -- distributed gain across filter sections to improve snr
jenniferhellar May 12, 2024
31f568b
added biquad single test
jenniferhellar May 12, 2024
e0a13a1
rearranged where flags/includes are specified; added size command; ad…
jenniferhellar May 12, 2024
363c90b
makefile cleanup
jenniferhellar May 12, 2024
344aff7
adding cmsis dsp files and common snr
jenniferhellar Nov 10, 2024
6dcefde
updated biquad_df2T_block to use arm cmsis files, general cleanup
jenniferhellar Nov 10, 2024
4d04ae6
updated biquad_df2T_single to use arm cmsis files, general cleanup
jenniferhellar Nov 10, 2024
5eb083b
updated fir_block to use arm cmsis files, general cleanup
jenniferhellar Nov 10, 2024
9c61651
updated fir_single to use arm cmsis files, general cleanup
jenniferhellar Nov 10, 2024
7af6d76
updated fir_single to use arm cmsis files, general cleanup
jenniferhellar Nov 10, 2024
ca269cb
new rfft1024 benchmark
jenniferhellar Nov 10, 2024
7cb77f2
removing old headers
jenniferhellar Nov 10, 2024
dd33981
renamed dummy to native and updated main makefile with common dir def
jenniferhellar Nov 10, 2024
b40465f
minor cleanup
jenniferhellar Nov 10, 2024
0e7eec7
renamed biquad benchmarks to specify cascade type
jenniferhellar Nov 10, 2024
36cf543
makefile cleanup
jenniferhellar Nov 10, 2024
8e28cc9
merged the biquad_cascade tests; single vs block selected by CFG make…
jenniferhellar Nov 10, 2024
361c39b
minor fix
jenniferhellar Nov 10, 2024
74a26ef
more minor fixes
jenniferhellar Nov 10, 2024
da1c865
adding dct4 benchmark; note: modified the cmsis implementation (which…
jenniferhellar Nov 11, 2024
1f69a1b
updated rfft data -> cfg default
jenniferhellar Nov 11, 2024
2cfe951
removing unused functions
jenniferhellar Nov 11, 2024
113439c
combined fir tests into a single test with multiple configs
jenniferhellar Nov 11, 2024
621b055
added rfft512_f32
jenniferhellar Nov 11, 2024
b290824
dct4_2048_f32 benchmark
jenniferhellar Nov 11, 2024
002b7f9
rfft2048_f32 benchmark
jenniferhellar Nov 11, 2024
a67badc
removing rfft1024 and updating runcmds
jenniferhellar Nov 11, 2024
0febb4f
updated baseline
jenniferhellar Nov 12, 2024
bc80b52
adding lms_f32 test
jenniferhellar Nov 27, 2024
ee4c66a
minor fix to align naming convention
jenniferhellar Nov 27, 2024
3f6c84d
Moving new IoT toolcahain to DSP: Directory Setup
I-mikan-I Nov 12, 2024
6b468b0
Delete legacy files
I-mikan-I Nov 17, 2024
741d6a0
Fix typo
I-mikan-I Nov 17, 2024
6e31a48
Undo syscall interface changes
I-mikan-I Nov 17, 2024
6de5ba3
adding lms_f32 test
jenniferhellar Nov 27, 2024
9f51092
minor fix to align naming convention
jenniferhellar Nov 27, 2024
4ab09d1
Rename /benchmarks directory, move library code to /lib
I-mikan-I Apr 20, 2025
5bf26bb
Update Size Baseline Measurements
I-mikan-I May 10, 2025
0087a52
Change msecs to usecs
I-mikan-I May 10, 2025
dd93a9a
Refactor lib/; Fix native example; Fix run_gdbserver_sim
I-mikan-I May 10, 2025
7a4abbc
adding speed.json and cleanup of golden-ref
jenniferhellar May 12, 2025
3eddf70
further cleanup
jenniferhellar May 12, 2025
2b0a05f
removed references to scaling factor and warmup since those aren't im…
jenniferhellar May 13, 2025
9b7a247
added gsf and warmup as future work
jenniferhellar May 13, 2025
55d2198
readme
jenniferhellar May 13, 2025
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
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
.DS_Store
*.vscode
venv/
gen/
bd*/
logs
**/__pycache__/
./openocd.cfg
32 changes: 29 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,30 @@
# Embench DSP Suite
# Embench™ DSP: Open Signal Processing Benchmarks for Embedded Platforms

This is currently a placeholder for a suite of tests aimed at digital signal
processors with up to 1MB of memory.
## Stable benchmark versions

The following git tags may be used to select the version of the repository for a stable release.

- `embench-dsp-1.0`

## Using the benchmarks

The benchmarks can be used to yield a single consistent score for the
performance of a platform and its compiler tool chain. The mechanism for this is described in the [user manual](./doc/README.md).

## Structure of the repository

The top level directory contains Python scripts to build and execute the benchmarks. The following are the key top level directories.

- [`examples`](./examples): containing examples for Embench build configurations for different boards.

- [`doc`](./doc): The user manual for Embench-DSP.

- [`golden-ref`](./golden-ref): Scripts to generate the DSP test data (input, output, coefficients, etc.). Parameterized number of samples to support more than one benchmark in some cases.

- [`lib`](./lib): The library source of the DSP functions, modified from the CMSIS DSP Library.

- [`src`](./src): The top-level source for the benchmarks, one directory per benchmark.

- [`support`](./support): The generic wrapper code and helper functions for benchmarks.

- [`pylib`](./pylib): Support code for the python scripts.
62 changes: 62 additions & 0 deletions baseline-data/size.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
{
"biquad_cascade_df2T_f32_sos3_n1" : {
"text" : 29816,
"rodata" : 1056,
"data" : 2212,
"bss" : 412
},
"biquad_cascade_df2T_f32_sos3_n128" : {
"text" : 29816,
"rodata" : 1056,
"data" : 3228,
"bss" : 924
},
"dct4_2048_f32" : {
"text" : 33600,
"rodata" : 45648,
"data" : 18100,
"bss" : 16772
},
"dct4_512_f32" : {
"text" : 33600,
"rodata" : 12208,
"data" : 5812,
"bss" : 4484
},
"fir_f32_taps256_n1" : {
"text" : 29968,
"rodata" : 1048,
"data" : 3772,
"bss" : 1412
},
"fir_f32_taps256_n128" : {
"text" : 29968,
"rodata" : 1048,
"data" : 4788,
"bss" : 2428
},
"lms_f32_taps256_n1" : {
"text" : 30104,
"rodata" : 1048,
"data" : 4796,
"bss" : 3468
},
"lms_f32_taps256_n128" : {
"text" : 30104,
"rodata" : 1048,
"data" : 6324,
"bss" : 4988
},
"rfft2048_f32" : {
"text" : 33208,
"rodata" : 21048,
"data" : 18100,
"bss" : 8580
},
"rfft512_f32" : {
"text" : 33208,
"rodata" : 6040,
"data" : 5812,
"bss" : 2436
}
}
12 changes: 12 additions & 0 deletions baseline-data/speed.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"biquad_cascade_df2T_f32_sos3_n1" : 10,
"biquad_cascade_df2T_f32_sos3_n128" : 510,
"dct4_2048_f32" : 19296,
"dct4_512_f32" : 4536,
"fir_f32_taps256_n1" : 244,
"fir_f32_taps256_n128" : 18651,
"lms_f32_taps256_n1" : 454,
"lms_f32_taps256_n128" : 47404,
"rfft2048_f32" : 9704,
"rfft512_f32" : 2131
}
Loading