Liquid-DSP

LiquidSDR's Liquid-DSP is a software-defined radio (SDR) digital signal processing library. This test profile runs a multi-threaded benchmark of this SDR/DSP library focused on embedded platform usage.

To run this test with the Phoronix Test Suite, the basic command is: phoronix-test-suite benchmark liquid-dsp.

Project Site

liquidsdr.org

Source Repository

github.com

Test Created

9 March 2021

Last Updated

19 June 2023

Test Maintainer

Michael Larabel 

Test Type

Processor

Average Install Time

12 Seconds

Average Run Time

1 Minute, 17 Seconds

Test Dependencies

C/C++ Compiler Toolchain + FFTW

Accolades

20k+ Downloads

Supported Platforms


Public Result Uploads *Reported Installs **Reported Test Completions **Test Profile Page Views ***OpenBenchmarking.orgEventsLiquid-DSP Popularity Statisticspts/liquid-dsp2021.032021.052021.072021.092021.112022.012022.032022.052022.072022.092022.112023.012023.032023.052023.072023.092023.112024.012024.032024.052024.072024.092024.115K10K15K20K25K
* Uploading of benchmark result data to OpenBenchmarking.org is always optional (opt-in) via the Phoronix Test Suite for users wishing to share their results publicly.
** Data based on those opting to upload their test results to OpenBenchmarking.org and users enabling the opt-in anonymous statistics reporting while running benchmarks from an Internet-connected platform.
*** Test profile page view reporting began March 2021.
Data updated weekly as of 20 November 2024.
812.3%649.6%1615.8%27.9%12810.2%410.1%3210.3%2567.1%116.7%Threads Option PopularityOpenBenchmarking.org
51239.5%5725.1%3235.4%Filter Length Option PopularityOpenBenchmarking.org

Revision History

pts/liquid-dsp-1.6.0   [View Source]   Mon, 19 Jun 2023 16:30:02 GMT
Update against Liquid-DSP 1.6 upstream.

pts/liquid-dsp-1.0.0   [View Source]   Tue, 09 Mar 2021 09:11:31 GMT
Initial commit of LiquidSDR Liquid-DSP benchmark.

Suites Using This Test

Software Defined Radio


Performance Metrics

Analyze Test Configuration:

Liquid-DSP 1.6

Threads: 1 - Buffer Length: 256 - Filter Length: 32

OpenBenchmarking.org metrics for this test profile configuration based on 659 public results since 20 June 2023 with the latest data as of 1 November 2024.

Below is an overview of the generalized performance for components where there is sufficient statistically significant data based upon user-uploaded results. It is important to keep in mind particularly in the Linux/open-source space there can be vastly different OS configurations, with this overview intended to offer just general guidance as to the performance expectations.

Component
Percentile Rank
# Compatible Public Results
samples/s (Average)
100th
8
71165750 +/- 102920
99th
6
66118611 +/- 1209402
99th
5
63325800 +/- 199308
96th
8
60584000 +/- 128352
94th
7
59874286 +/- 45267
94th
10
59127483 +/- 1217581
94th
4
58909000
93rd
8
58619917 +/- 68860
90th
10
58078267 +/- 36858
89th
4
57880000 +/- 1155
89th
10
57590220 +/- 6522818
88th
3
56892333 +/- 132001
86th
6
55751556 +/- 23271
85th
5
55368667
84th
5
55242933 +/- 6755
82nd
3
54432000
79th
7
54011619 +/- 6219
78th
18
53940130 +/- 898463
76th
10
53765600 +/- 1473330
76th
4
53659583 +/- 1167
76th
12
53602111 +/- 277727
Mid-Tier
75th
< 53535000
73rd
5
52913534 +/- 235085
72nd
12
52783639 +/- 369497
72nd
9
52624518 +/- 254283
68th
9
51797667 +/- 156694
64th
5
50821733 +/- 41091
64th
4
50281250 +/- 7834
62nd
10
49949533 +/- 132732
61st
9
49797444 +/- 432387
60th
7
49653047 +/- 57451
59th
9
49501408 +/- 1220194
58th
5
49356667
56th
5
48790200 +/- 447
56th
13
48704436 +/- 4220274
53rd
3
48392444 +/- 41376
53rd
13
48372026 +/- 2354545
51st
5
47897467 +/- 296950
Median
50th
47764667
50th
3
47755444 +/- 1441259
50th
4
47571500 +/- 754597
50th
12
47486778 +/- 1852135
48th
16
47121771 +/- 2779763
48th
7
47113524 +/- 889977
48th
4
47092500 +/- 95590
47th
9
46772222 +/- 443000
47th
4
46670750 +/- 178113
45th
4
46489500 +/- 1443953
42nd
7
45896905 +/- 18639
37th
8
44099458 +/- 81454
36th
3
43367000 +/- 244811
36th
4
43054417 +/- 1189559
36th
6
42602555 +/- 519836
34th
4
42108500 +/- 32909
34th
4
41895000 +/- 6928
33rd
4
41258000 +/- 3464
32nd
5
40872467 +/- 439317
32nd
4
40726500 +/- 962
31st
9
40692444 +/- 14377
29th
4
40048500 +/- 58312
27th
3
39479333 +/- 23714
26th
6
38011333 +/- 27718
Low-Tier
25th
< 37991000
25th
3
37476000
23rd
3
37159667 +/- 29872
23rd
4
37122250 +/- 28371
21st
4
36561250 +/- 82140
21st
10
36549900 +/- 24978
18th
6
36419444 +/- 78924
18th
4
36394750 +/- 69065
16th
12
36340152 +/- 52626
16th
11
36298091 +/- 264013
15th
7
36103714 +/- 28860
11th
6
35235833 +/- 51534
11th
6
35211611 +/- 38693
10th
18
35062463 +/- 3023428
9th
3
34320289 +/- 438663
8th
5
32240400 +/- 143326
5th
3
29636444 +/- 10405
5th
5
29568667 +/- 189535
4th
7
29305048 +/- 259642
2nd
5
23253133 +/- 4706
OpenBenchmarking.orgDistribution Of Public Results - Threads: 1 - Buffer Length: 256 - Filter Length: 32659 Results Range From 8891567 To 71221333 samples/s889156710138163113847591263135513877951151245471637114317617739188643352011093121357527226041232385071925097315263439112759050728837103300836993133029532576891338234873507008336316679375632753880987140056467413030634254965943796255450428514628944747536043487826395002923551275831525224275376902355015619562622155750881158755407600020036124859962495195637417916498838766234983674815796872817569974771712213671428425670

Based on OpenBenchmarking.org data, the selected test / test configuration (Liquid-DSP 1.6 - Threads: 1 - Buffer Length: 256 - Filter Length: 32) has an average run-time of 2 minutes. By default this test profile is set to run at least 3 times but may increase if the standard deviation exceeds pre-defined defaults or other calculations deem additional runs necessary for greater statistical accuracy of the result.

OpenBenchmarking.orgMinutesTime Required To Complete BenchmarkThreads: 1 - Buffer Length: 256 - Filter Length: 32Run-Time246810Min: 2 / Avg: 2.01 / Max: 3

Does It Scale Well With Increasing Cores?

No, based on the automated analysis of the collected public benchmark data, this test / test settings does not generally scale well with increasing CPU core counts. Data based on publicly available results for this test / test settings, separated by vendor, result divided by the reference CPU clock speed, grouped by matching physical CPU core count, and normalized against the smallest core count tested from each vendor for each CPU having a sufficient number of test samples and statistically significant data.

IntelAMDOpenBenchmarking.orgRelative Core Scaling To BaseLiquid-DSP CPU Core ScalingThreads: 1 - Buffer Length: 256 - Filter Length: 32468101214162432641280.47080.94161.41241.88322.354

Notable Instruction Set Usage

Notable instruction set extensions supported by this test, based on an automatic analysis by the Phoronix Test Suite / OpenBenchmarking.org analytics engine.

Instruction Set
Support
Instructions Detected
SSE2 (SSE2)
Used by default on supported hardware.
 
CVTSD2SS CVTSS2SD CVTSI2SD MULSD MOVD SUBSD ADDSD XORPD MOVAPD UCOMISD DIVSD MAXSD SQRTSD MOVDQA COMISD CVTTSD2SI ANDPD MINSD MOVDQU ORPD
SSE3 (SSE3)
Used by default on supported hardware.
 
ADDSUBPS HADDPS
Requires passing a supported compiler/build flag (verified with targets: sandybridge, skylake, tigerlake, cascadelake, sapphirerapids, alderlake, znver2, znver3).
Found on Intel processors since Sandy Bridge (2011).
Found on AMD processors since Bulldozer (2011).

 
VINSERTF128 VEXTRACTF128 VZEROUPPER VPERM2F128 VPERMILPS VPERMILPD VBROADCASTSS VMASKMOVPS VBROADCASTSD
Requires passing a supported compiler/build flag (verified with targets: skylake, tigerlake, cascadelake, sapphirerapids, alderlake, znver2, znver3).
Found on Intel processors since Haswell (2013).
Found on AMD processors since Excavator (2016).

 
VPGATHERQD VINSERTI128 VEXTRACTI128 VPSRAVD VPBROADCASTD VPERMQ VPERMD VPERMPD VPSRLVD VPSLLVD VPBROADCASTW VPBROADCASTQ VPBROADCASTB
FMA (FMA)
Requires passing a supported compiler/build flag (verified with targets: skylake, tigerlake, cascadelake, sapphirerapids, alderlake, znver2, znver3).
Found on Intel processors since Haswell (2013).
Found on AMD processors since Bulldozer (2011).

 
VFMADD231SS VFMADD132SS VFMSUB231SS VFMADD132SD VFMADD231SD VFMADD213SS VFMSUB132PS VFMADD231PS VFMADD132PD VFMADD132PS VFMSUB132SS VFMSUB132PD VFMSUB132SD VFMSUB231PD VFNMADD132PD VFNMADD132SD VFMSUB231SD VFMADD213PS VFNMADD231SS VFNMSUB231SD VFNMADD231SD VFNMADD132SS VFNMSUB132SS VFNMSUB231SS VFNMADD213SS VFNMADD132PS VFMSUB213SS VFNMSUB213SS VFMSUB231PS VFMADD213SD VFNMADD213SD VFMADD213PD VFNMSUB132SD VFMSUB213SD VFNMADD213PD VFNMADD213PS
Advanced Vector Extensions 512 (AVX512)
Requires passing a supported compiler/build flag (verified with targets: cascadelake, sapphirerapids).
 
(ZMM REGISTER USE)
The test / benchmark does honor compiler flag changes.
Last automated analysis: 17 January 2022

This test profile binary relies on the shared libraries libm.so.6, libc.so.6, libliquid.so, libfftw3f.so.3.

Tested CPU Architectures

This benchmark has been successfully tested on the below mentioned architectures. The CPU architectures listed is where successful OpenBenchmarking.org result uploads occurred, namely for helping to determine if a given test is compatible with various alternative CPU architectures.

CPU Architecture
Kernel Identifier
Verified On
Intel / AMD x86 64-bit
x86_64
(Many Processors)
Loongson LoongArch 64-bit
loongarch64
Loongson-3A6000
ARMv8 64-bit
aarch64
ARMv8, ARMv8 8-Core, ARMv8 Neoverse-N1 160-Core, ARMv8 Neoverse-V2 72-Core, Apple M2