DSPLIB User Guide
Performance Summary

Performance data was obtained on the J721S2 EVM. EVM warm cycle obtained by profiling the kernel's compute code execution after a cold run of the same code. Please refer to the kernel's documentation for more information about the parameters in the tables shown below.



DSPLIB kernels

This section contains tables that depict the expected performance numbers for the DSPLIB kernels.

DSPLIB Vector Operations

Kernel
Data Type
Data Size
EVM Cycles
Cycles/Sample
DSPLIB_add
float
256
101
0.39
float
512
105
0.21
float
1024
137
0.13
float
2048
201
0.10
float
10240
727
0.07
double
256
119
0.46
double
512
137
0.27
double
1024
201
0.20
double
2048
343
0.17
double
10240
1367
0.13
int32_t
256
93
0.36
int32_t
512
102
0.20
int32_t
1024
134
0.13
uint32_t
2048
205
0.10
uint32_t
10240
724
0.07
int16_t
256
85
0.33
int16_t
512
86
0.17
int16_t
1024
102
0.10
uint16_t
2048
141
0.07
uint16_t
10240
404
0.04
int8_t
256
79
0.31
int8_t
512
78
0.15
int8_t
1024
86
0.08
uint8_t
2048
109
0.05
uint8_t
10240
237
0.02
DSPLIB_addConstant
float
256
113
0.44
float
512
122
0.24
float
1024
154
0.15
float
2048
218
0.11
float
10240
744
0.07
double
256
129
0.50
double
512
154
0.30
double
1024
218
0.21
double
2048
360
0.18
double
10240
1384
0.14
int32_t
256
110
0.43
int32_t
512
119
0.23
int32_t
1024
151
0.15
uint32_t
2048
222
0.11
uint32_t
10240
742
0.07
int16_t
256
101
0.39
int16_t
512
103
0.20
int16_t
1024
119
0.12
uint16_t
2048
158
0.08
uint16_t
10240
422
0.04
int8_t
256
97
0.38
int8_t
512
94
0.18
int8_t
1024
103
0.10
uint8_t
2048
126
0.06
uint8_t
10240
247
0.02
DSPLIB_sub
float
256
96
0.38
float
512
105
0.21
float
1024
137
0.13
float
2048
201
0.10
float
10240
727
0.07
double
256
112
0.44
double
512
137
0.27
double
1024
201
0.20
double
2048
343
0.17
double
10240
1367
0.13
int32_t
256
93
0.36
int32_t
512
102
0.20
int32_t
1024
134
0.13
uint32_t
2048
205
0.10
uint32_t
10240
724
0.07
int16_t
256
85
0.33
int16_t
512
93
0.18
int16_t
1024
102
0.10
uint16_t
2048
141
0.07
uint16_t
10240
404
0.04
int8_t
256
79
0.31
int8_t
512
78
0.15
int8_t
1024
86
0.08
uint8_t
2048
109
0.05
uint8_t
10240
230
0.02
DSPLIB_subConstant
float
256
113
0.44
float
512
122
0.24
float
1024
154
0.15
float
2048
218
0.11
float
10240
744
0.07
double
256
129
0.50
double
512
161
0.31
double
1024
225
0.22
double
2048
360
0.18
double
10240
1384
0.14
int32_t
256
110
0.43
int32_t
512
119
0.23
int32_t
1024
151
0.15
uint32_t
2048
222
0.11
uint32_t
10240
742
0.07
int16_t
256
101
0.39
int16_t
512
103
0.20
int16_t
1024
119
0.12
uint16_t
2048
158
0.08
uint16_t
10240
422
0.04
int8_t
256
97
0.38
int8_t
512
94
0.18
int8_t
1024
103
0.10
uint8_t
2048
126
0.06
uint8_t
10240
247
0.02
DSPLIB_mul
float
256
98
0.38
float
512
107
0.21
float
1024
139
0.14
float
2048
203
0.10
float
10240
729
0.07
double
256
114
0.45
double
512
139
0.27
double
1024
203
0.20
double
2048
345
0.17
double
10240
1369
0.13
int32_t
256
98
0.38
int32_t
512
107
0.21
int32_t
1024
139
0.14
uint32_t
2048
210
0.10
uint32_t
10240
729
0.07
int16_t
256
90
0.35
int16_t
512
91
0.18
int16_t
1024
107
0.10
uint16_t
2048
139
0.07
uint16_t
10240
409
0.04
int8_t
256
82
0.32
int8_t
512
83
0.16
int8_t
1024
91
0.09
uint8_t
2048
114
0.06
uint8_t
10240
235
0.02
DSPLIB_mulConstant
float
256
115
0.45
float
512
124
0.24
float
1024
156
0.15
float
2048
220
0.11
float
10240
747
0.07
double
256
131
0.51
double
512
156
0.30
double
1024
220
0.21
double
2048
363
0.18
double
10240
1387
0.14
int32_t
256
115
0.45
int32_t
512
124
0.24
int32_t
1024
156
0.15
uint32_t
2048
227
0.11
uint32_t
10240
747
0.07
int16_t
256
106
0.41
int16_t
512
108
0.21
int16_t
1024
124
0.12
uint16_t
2048
163
0.08
uint16_t
10240
427
0.04
int8_t
256
100
0.39
int8_t
512
99
0.19
int8_t
1024
108
0.11
uint8_t
2048
131
0.06
uint8_t
10240
252
0.02
DSPLIB_sqr
float
256
95
0.37
float
512
104
0.20
float
1024
136
0.13
float
2048
200
0.10
float
10240
726
0.07
double
256
111
0.43
double
512
136
0.27
double
1024
200
0.20
double
2048
342
0.17
double
10240
1366
0.13
int32_t
256
95
0.37
int32_t
512
104
0.20
int32_t
1024
136
0.13
uint32_t
2048
207
0.10
uint32_t
10240
726
0.07
int16_t
256
87
0.34
int16_t
512
88
0.17
int16_t
1024
104
0.10
uint16_t
2048
143
0.07
uint16_t
10240
406
0.04
int8_t
256
81
0.32
int8_t
512
80
0.16
int8_t
1024
88
0.09
uint8_t
2048
111
0.05
uint8_t
10240
232
0.02
DSPLIB_max
float
256
301
1.18
float
512
311
0.61
float
1024
352
0.34
float
2048
390
0.19
float
10240
658
0.06
double
256
299
1.17
double
512
340
0.66
double
1024
378
0.37
double
2048
448
0.22
double
10240
979
0.10
int32_t
256
275
1.07
int32_t
512
289
0.56
int32_t
1024
330
0.32
uint32_t
2048
368
0.18
uint32_t
10240
636
0.06
int16_t
256
222
0.87
int16_t
512
232
0.45
int16_t
1024
246
0.24
uint16_t
2048
287
0.14
uint16_t
10240
427
0.04
int8_t
256
216
0.84
int8_t
512
221
0.43
int8_t
1024
231
0.23
uint8_t
2048
245
0.12
uint8_t
10240
340
0.03
DSPLIB_maxIndex
float
256
1912
7.47
float
512
1895
3.70
float
1024
1918
1.87
float
2048
1991
0.97
float
10240
2535
0.25
int32_t
256
1868
7.30
int32_t
512
1882
3.68
int32_t
1024
1916
1.87
uint32_t
2048
1984
0.97
uint32_t
10240
2509
0.25
int16_t
256
1937
7.57
int16_t
512
1946
3.80
int16_t
1024
1964
1.92
uint16_t
2048
1994
0.97
uint16_t
10240
2252
0.22
int8_t
256
2097
8.19
int8_t
512
2577
5.03
int8_t
1024
3510
3.43
uint8_t
2048
5266
2.57
uint8_t
10240
19141
1.87
DSPLIB_maxEvery
float
256
94
0.37
float
512
103
0.20
float
1024
135
0.13
float
2048
199
0.10
float
10240
725
0.07
double
256
110
0.43
double
512
135
0.26
double
1024
199
0.19
double
2048
341
0.17
double
10240
1365
0.13
int32_t
256
93
0.36
int32_t
512
102
0.20
int32_t
1024
134
0.13
uint32_t
2048
205
0.10
uint32_t
10240
724
0.07
int16_t
256
85
0.33
int16_t
512
86
0.17
int16_t
1024
102
0.10
uint16_t
2048
141
0.07
uint16_t
10240
404
0.04
int8_t
256
79
0.31
int8_t
512
78
0.15
int8_t
1024
86
0.08
uint8_t
2048
109
0.05
uint8_t
10240
230
0.02
DSPLIB_min
float
256
317
1.24
float
512
311
0.61
float
1024
352
0.34
float
2048
390
0.19
float
10240
658
0.06
double
256
299
1.17
double
512
340
0.66
double
1024
378
0.37
double
2048
448
0.22
double
10240
979
0.10
int32_t
256
275
1.07
int32_t
512
289
0.56
int32_t
1024
330
0.32
uint32_t
2048
368
0.18
uint32_t
10240
636
0.06
int16_t
256
222
0.87
int16_t
512
232
0.45
int16_t
1024
246
0.24
uint16_t
2048
287
0.14
uint16_t
10240
427
0.04
int8_t
256
216
0.84
int8_t
512
221
0.43
int8_t
1024
231
0.23
uint8_t
2048
245
0.12
uint8_t
10240
340
0.03
DSPLIB_minIndex
float
256
1953
7.63
float
512
1863
3.64
float
1024
1893
1.85
float
2048
1959
0.96
float
10240
2485
0.24
int32_t
256
1910
7.46
int32_t
512
1926
3.76
int32_t
1024
1987
1.94
uint32_t
2048
2002
0.98
uint32_t
10240
2528
0.25
int16_t
256
1928
7.53
int16_t
512
1967
3.84
int16_t
1024
1983
1.94
uint16_t
2048
1981
0.97
uint16_t
10240
2237
0.22
int8_t
256
2095
8.18
int8_t
512
2545
4.97
int8_t
1024
3451
3.37
uint8_t
2048
5218
2.55
uint8_t
10240
18932
1.85
DSPLIB_minEvery
float
256
94
0.37
float
512
103
0.20
float
1024
135
0.13
float
2048
199
0.10
float
10240
725
0.07
double
256
103
0.40
double
512
135
0.26
double
1024
199
0.19
double
2048
341
0.17
double
10240
1365
0.13
int32_t
256
86
0.34
int32_t
512
102
0.20
int32_t
1024
134
0.13
uint32_t
2048
205
0.10
uint32_t
10240
724
0.07
int16_t
256
85
0.33
int16_t
512
86
0.17
int16_t
1024
102
0.10
uint16_t
2048
141
0.07
uint16_t
10240
404
0.04
int8_t
256
79
0.31
int8_t
512
78
0.15
int8_t
1024
86
0.08
uint8_t
2048
109
0.05
uint8_t
10240
230
0.02

DSPLIB_fir

Datatype
Data Size
Output Size
Filter Size
EVM Cycles
Taps/Cycle
float
2048
1025
1024
41644
25.20
float
1151
1024
128
4392
29.84
float
1087
1024
64
2344
27.96

DSPLIB_cascadebiquad

Datatype
Data Size
Num Channels
Num Stages
EVM Cycles
Cycles/Biquad
float
512
32
3
7510
0.15
float
128
32
7
4661
0.16

DSPLIB_w_vec

Data Type
Data Size
Weight Style
EVM Cycles
Cycles/Sample
float
256
Scalar
102
0.4
float
512
Scalar
118
0.23
float
1024
Scalar
150
0.15
float
2048
Scalar
214
0.1
float
10240
Scalar
742
0.07
int32_t
256
Scalar
99
0.39
int32_t
512
Scalar
115
0.22
int32_t
1024
Scalar
147
0.14
uint32_t
2048
Scalar
211
0.1
uint32_t
10240
Scalar
740
0.07
int16_t
256
Scalar
91
0.36
int16_t
512
Scalar
99
0.19
int16_t
1024
Scalar
115
0.11
uint16_t
2048
Scalar
147
0.07
uint16_t
10240
Scalar
420
0.04
int8_t
256
Scalar
85
0.33
int8_t
512
Scalar
91
0.18
int8_t
1024
Scalar
99
0.1
uint8_t
2048
Scalar
115
0.06
uint8_t
10240
Scalar
243
0.02
double
256
Scalar
118
0.46
double
512
Scalar
150
0.29
double
1024
Scalar
214
0.21
double
2048
Scalar
358
0.17
double
10240
Scalar
1382
0.13
float
256
Vector
121
0.47
float
512
Vector
185
0.36
float
1024
Vector
251
0.25
float
2048
Vector
379
0.19
float
10240
Vector
1415
0.14
int32_t
256
Vector
115
0.45
int32_t
512
Vector
149
0.29
int32_t
1024
Vector
224
0.22
uint32_t
2048
Vector
383
0.19
uint32_t
10240
Vector
1680
0.16
int16_t
256
Vector
97
0.38
int16_t
512
Vector
115
0.22
int16_t
1024
Vector
149
0.15
uint16_t
2048
Vector
225
0.11
uint16_t
10240
Vector
880
0.09
int8_t
256
Vector
88
0.34
int8_t
512
Vector
97
0.19
int8_t
1024
Vector
115
0.11
uint8_t
2048
Vector
149
0.07
uint8_t
10240
Vector
465
0.05
double
256
Vector
155
0.61
double
512
Vector
230
0.45
double
1024
Vector
389
0.38
double
2048
Vector
725
0.35
double
10240
Vector
3300
0.32

DSPLIB_bexp

Datatype
Data Size
EVM Cycles
Cycles/Sample
uint8_t
256
188
0.734
uint8_t
495
151
0.305
uint8_t
4096
220
0.054
uint8_t
6912
337
0.049
int8_t
256
224
0.875
int8_t
511
189
0.37
int8_t
4096
290
0.071
int8_t
6410
295
0.046
uint16_t
256
229
0.895
uint16_t
508
209
0.411
uint16_t
4096
364
0.089
uint16_t
6530
506
0.077
int16_t
256
196
0.766
int16_t
510
168
0.329
int16_t
4096
336
0.082
int16_t
8012
512
0.064
uint32_t
256
140
0.547
uint32_t
476
197
0.414
uint32_t
4096
531
0.13
uint32_t
7250
818
0.113
int32_t
256
228
0.891
int32_t
496
251
0.506
int32_t
4096
585
0.143
int32_t
7846
897
0.114
int64_t
256
181
0.707
int64_t
506
231
0.457
int64_t
4096
868
0.212
int64_t
8151
1251
0.153
uint64_t
256
286
1.117
uint64_t
449
297
0.661
uint64_t
4096
888
0.217
uint64_t
5435
787
0.145

DSPLIB_blk_eswap

Datatype
Data Size
EVM Cycles
Cycles/Sample
int16_t
256
147
0.574
int16_t
1024
189
0.185
int16_t
8194
421
0.051
int16_t
131074
4272
0.033
int32_t
256
158
0.617
int32_t
1024
225
0.22
int32_t
8194
696
0.085
int32_t
65537
4271
0.065
int64_t
256
158
0.617
int64_t
1026
282
0.275
int64_t
8194
1160
0.142
int64_t
32768
4228
0.129
uint16_t
256
187
0.73
uint16_t
1024
231
0.226
uint16_t
8194
467
0.057
uint16_t
131074
4311
0.033
uint32_t
256
159
0.621
uint32_t
1026
229
0.223
uint32_t
8193
666
0.081
uint32_t
65538
4270
0.065
uint64_t
258
189
0.733
uint64_t
1024
300
0.293
uint64_t
8192
1237
0.151
uint64_t
32768
4312
0.132
float
256
203
0.793
float
1025
189
0.184
float
8192
610
0.074
float
65538
4233
0.065
double
256
307
1.199
double
1025
427
0.417
double
8192
1272
0.155
double
32768
4352
0.133

DSPLIB_blk_move

Datatype
Data Size
EVM Cycles
Cycles/Sample
uint8_t
256
140
0.547
uint8_t
2050
184
0.09
uint8_t
8194
273
0.033
uint8_t
131073
2130
0.016
int8_t
256
106
0.414
int8_t
513
104
0.203
int8_t
2048
150
0.073
int8_t
8194
233
0.028
uint16_t
256
100
0.391
uint16_t
2048
182
0.089
uint16_t
8193
422
0.052
uint16_t
65537
2130
0.033
int16_t
256
105
0.41
int16_t
2048
182
0.089
int16_t
8194
377
0.046
int16_t
131074
4178
0.032
uint32_t
258
153
0.593
uint32_t
2049
274
0.134
uint32_t
8194
710
0.087
uint32_t
32769
2130
0.065
int32_t
256
158
0.617
int32_t
2049
317
0.155
int32_t
8192
690
0.084
int32_t
65536
4177
0.064
uint64_t
256
146
0.57
uint64_t
2049
377
0.184
uint64_t
8194
1163
0.142
uint64_t
16385
2130
0.13
int64_t
256
149
0.582
int64_t
2049
377
0.184
int64_t
8194
1164
0.142
int64_t
32770
4178
0.127
float
256
152
0.594
float
2049
357
0.174
float
8192
744
0.091
float
65538
4178
0.064
double
256
185
0.723
double
2049
449
0.219
double
8193
1198
0.146
double
32770
4178
0.127

DSPLIB_fltoq15

Input Datatype
Output Datatype
Data Size
EVM Cycles
Cycles/Sample
float
int16_t
287
310
1.08
float
int16_t
2048
439
0.214
float
int16_t
16384
1481
0.09
float
int16_t
51200
1817
0.035
double
int16_t
287
319
1.111
double
int16_t
2048
636
0.311
double
int16_t
16384
2850
0.174
double
int16_t
51200
6556
0.128

DSPLIB_q15tofl

DSPLIB_minerror

Datatype
Data Size
EVM Cycles
Cycles/Sample
int8_t
256
973
3.83
int16_t
256
1026
3.98
int32_t
256
1186
4.63
int64_t
256
1940
7.57
uint8_t
256
975
3.83
uint16_t
256
1046
4.08
uint32_t
256
1166
4.55
uint64_t
256
2037
7.65
float
256
988
3.85
double
256
1747
6.82

DSPLIB_matMul

C = AxB, where C, A, and B are M×N, M×K, and K×N matrices, respectively

DSPLIB_matMul_fixed

C = AxB, where C, A, and B are M×N, M×K, and K×N matrices, respectively

Datatype
M
N
K
EVM Cycles
MACs / Cycle
int8_t
16
16
16
349
11.74
int8_t
32
32
32
981
33.4
int8_t
64
64
64
6636
39.5
int8_t
128
128
128
49867
42.05
int8_t
256
256
256
387659
43.28
int16_t
16
16
16
388
10.56
int16_t
32
32
32
974
33.64
int16_t
64
64
64
5745
45.63
int16_t
128
128
128
39142
53.58
int16_t
256
256
256
288053
58.24

DSPLIB_matTrans

Datatype
M
N
EVM Cycles
Cycles/Sample
int8_t
16
512
846
0.103
int8_t
128
128
700
0.043
int8_t
512
512
8398
0.032
int8_t
1000
256
8418
0.033
int16_t
16
512
803
0.098
int16_t
128
128
625
0.038
int16_t
800
64
1764
0.034
int16_t
1000
128
4349
0.034
int32_t
16
512
1319
0.161
int32_t
128
128
1382
0.084
int32_t
256
256
4795
0.073
int32_t
800
64
3411
0.067
int64_t
16
512
1172
0.143
int64_t
128
128
2247
0.137
int64_t
224
224
6728
0.134
int64_t
800
64
6807
0.133
uint8_t
16
512
745
0.091
uint8_t
128
128
619
0.038
uint8_t
512
512
8322
0.032
uint8_t
1000
256
8329
0.033
uint16_t
16
512
814
0.099
uint16_t
128
128
635
0.039
uint16_t
256
256
2566
0.039
uint16_t
1000
128
4359
0.034
uint32_t
16
512
1323
0.161
uint32_t
128
128
1295
0.079
uint32_t
256
256
4806
0.073
uint32_t
800
64
3416
0.067
uint64_t
16
512
1172
0.143
uint64_t
128
128
2247
0.137
uint64_t
224
224
6717
0.134
uint64_t
800
64
6796
0.133
float
16
512
1397
0.171
float
128
128
1477
0.09
float
256
256
4874
0.074
float
800
64
3499
0.068
double
16
512
1244
0.152
double
128
128
2294
0.14
double
224
224
6801
0.136
double
800
64
6880
0.134

DSPLIB_mat_submat_copy

If dir = 0, copies from X(M,N) to Y(nRows,nCols) starting from the index (stRow,stCol). If dir = 1, copies from Y(nRows,nCols) to X(M,N) into the index (stRow,stCol).

Datatype
M
N
nRows
nCols
stRow
stCol
dir
EVM Cycles
Cycles/Sample
int8_t
64
64
64
64
0
0
0
149
0.04
int8_t
128
128
82
112
4
5
1
286
0.03
int8_t
256
256
128
196
5
4
0
1132
0.05
int8_t
512
512
512
512
0
0
0
4208
0.02
int16_t
32
32
32
32
0
0
0
119
0.12
int16_t
64
64
24
48
2
3
0
141
0.12
int16_t
128
128
112
82
5
4
1
475
0.05
int16_t
256
256
256
256
0
0
0
2162
0.03
int32_t
32
32
32
32
0
0
0
151
0.15
int32_t
64
64
48
24
3
2
1
247
0.21
int32_t
128
128
128
128
0
0
0
1136
0.07
int32_t
256
256
196
128
4
5
0
1681
0.07
int64_t
16
16
16
16
0
0
0
119
0.46
int64_t
32
32
15
24
1
1
1
170
0.47
int64_t
64
64
24
48
2
3
0
234
0.2
int64_t
128
128
128
128
0
0
0
2639
0.16
uint8_t
64
64
64
64
0
0
0
149
0.04
uint8_t
128
128
82
112
4
5
1
286
0.03
uint8_t
256
256
128
196
5
4
0
658
0.03
uint8_t
512
512
512
512
0
0
0
4211
0.02
uint16_t
32
32
32
32
0
0
0
119
0.12
uint16_t
64
64
24
48
2
3
0
141
0.12
uint16_t
128
128
112
82
5
4
1
475
0.05
uint16_t
256
256
256
256
0
0
0
2158
0.03
uint32_t
32
32
32
32
0
0
0
151
0.15
uint32_t
64
64
48
24
3
2
1
246
0.21
uint32_t
128
128
128
128
0
0
0
1135
0.07
uint32_t
256
256
196
128
4
5
0
1672
0.07
uint64_t
16
16
16
16
0
0
0
119
0.46
uint64_t
32
32
15
24
1
1
1
170
0.47
uint64_t
64
64
24
48
2
3
0
234
0.2
uint64_t
128
128
128
128
0
0
0
2657
0.16
float
32
32
32
32
0
0
0
103
0.1
float
64
64
48
24
3
2
1
244
0.21
float
128
128
82
112
4
5
0
687
0.07
float
256
256
256
256
0
0
0
5400
0.08
double
16
16
16
16
0
0
0
119
0.46
double
32
32
24
15
1
1
0
143
0.4
double
64
64
48
24
3
2
1
282
0.24
double
128
128
128
128
0
0
0
2641
0.16

DSPLIB_cholesky

Datatype
M
N
enableTest
EVM Cycles
Cycles/Sample
float
16
16
1
2657
10.38
float
32
32
1
5814
5.68
float
64
64
1
16850
4.11
float
80
80
1
24663
3.85
float
96
96
1
33115
3.59
float
128
128
1
56431
3.44
float
16
16
0
2411
9.42
float
32
32
0
5422
5.29
float
64
64
0
15776
3.85
float
80
80
0
22887
3.58
float
96
96
0
30876
3.35
float
128
128
0
53795
3.28
double
16
16
1
2834
11.07
double
32
32
1
7650
7.47
double
64
64
1
24939
6.09
double
80
80
1
38384
6
double
96
96
1
55569
6.03
double
16
16
0
2545
9.94
double
32
32
0
6840
6.68
double
64
64
0
22511
5.5

DSPLIB_cholesky_inplace

Datatype
M
N
enableTest
EVM Cycles
Cycles/Sample
float
16
16
1
2690
10.51
float
32
32
1
5623
5.49
float
64
64
1
16718
4.08
float
80
80
1
24789
3.87
float
96
96
1
33562
3.64
float
128
128
1
57431
3.51
float
16
16
0
2513
9.82
float
32
32
0
5418
5.29
float
64
64
0
16281
3.97
float
80
80
0
24172
3.78
float
96
96
0
32935
3.57
float
128
128
0
56511
3.45
double
16
16
1
2834
11.07
double
32
32
1
7408
7.23
double
64
64
1
25061
6.12
double
80
80
1
38496
6.02
double
96
96
1
55669
6.04
double
16
16
0
2637
10.3
double
32
32
0
7086
6.92
double
64
64
0
24158
5.9

DSPLIB_cholesky_solver

Datatype
M
N
EVM Cycles
Cycles/Sample
float
16
16
1022
3.99
float
32
32
1902
1.86
float
64
64
3968
0.97
float
80
80
5241
0.82
float
96
96
6336
0.69
float
128
128
8932
0.55
double
16
16
1176
4.59
double
32
32
2377
2.32
double
64
64
5004
1.22
double
80
80
6662
1.04
double
96
96
8240
0.89

DSPLIB_svd

Datatype
M
N
reducedForm
EVM Cycles
Cycles/Sample
float
16
16
0
88948
347.45
float
32
32
0
261241
255.12
float
64
64
0
873313
213.21
float
128
128
0
3445581
210.3
float
64
128
0
1313158
160.3
float
128
64
0
1298438
158.5
float
16
16
1
92077
359.68
float
32
32
1
258296
252.24
float
64
64
1
866486
211.54
float
128
128
1
3439167
209.91
float
64
128
1
1318053
160.9
float
128
64
1
1287279
157.14
double
16
16
0
112081
437.82
double
32
32
0
372523
363.79
double
64
64
0
1417147
345.98
double
16
16
1
116904
456.66
double
32
32
1
389380
380.25
double
64
64
1
1430985
349.36

DSPLIB_qrd

Datatype
M
N
EVM Cycles
Cycles/Sample
float
16
16
13558
52.96
float
32
32
31963
31.21
float
64
64
98931
24.15
float
80
80
164633
25.72
float
96
96
231021
25.07
float
128
128
432318
26.39
double
16
16
14232
55.59
double
32
32
37871
36.98
double
64
64
147745
36.07
double
80
80
243834
38.1
double
96
96
389438
42.26

DSPLIB_qrd_solver

Datatype
M
N
EVM Cycles
Cycles/Sample
float
16
16
993
3.88
float
32
32
1636
1.6
float
64
64
3269
0.8
float
80
80
4348
0.68
float
96
96
5220
0.57
float
128
128
7412
0.45
double
16
16
1052
4.11
double
32
32
1960
1.91
double
64
64
4212
1.03
double
80
80
6280
0.98
double
96
96
7891
0.86

DSPLIB_qrd_inverse

DSPLIB_lud

Datatype
M
N
EVM Cycles
Cycles/Sample
float
16
16
10907
42.61
float
32
32
23691
23.14
float
64
64
59441
14.51
float
80
80
85161
13.31
float
96
96
115376
12.52
float
128
128
186401
11.38
double
16
16
12118
47.34
double
32
32
28539
27.87
double
64
64
77007
18.8
double
80
80
112655
17.6
double
96
96
157465
17.09

DSPLIB_lud_solver

Datatype
M
N
EVM Warm
Cycles/Sample
float
16
16
1673
6.54
float
32
32
2929
2.86
float
64
64
5859
1.43
float
80
80
7851
1.23
float
96
96
9376
1.02
float
128
128
13213
0.81
double
16
16
1874
7.32
double
32
32
3421
3.34
double
64
64
7178
1.75
double
80
80
9518
1.49
double
96
96
11813
1.28

DSPLIB_lud_inverse

Datatype
M
N
EVM Cycles
Cycles/Sample
float
16
16
21242
82.98
float
32
32
49034
47.88
float
64
64
122338
29.87
float
80
80
252383
39.43
float
96
96
362045
39.28
float
128
128
603004
36.8
double
16
16
20627
80.57
double
32
32
55949
54.64
double
64
64
210148
51.31
double
80
80
361670
56.51
double
96
96
553897
60.1

DSPLIB_dotp_sqr

Data Type
Data Size
EVM Cycles
Cycles/Sample
float
256
146
0.57
float
512
162
0.32
float
1024
194
0.19
float
2048
258
0.13
float
32768
2192
0.07
double
256
190
0.74
double
512
254
0.5
double
1024
382
0.37
double
2048
638
0.31
double
16384
4236
0.26
int32_t
256
113
0.44
int32_t
512
145
0.28
int32_t
1024
209
0.2
int32_t
2048
337
0.16
int32_t
32768
4191
0.13
uint32_t
256
113
0.44
uint32_t
512
145
0.28
uint32_t
1024
209
0.2
uint32_t
2048
337
0.16
uint32_t
32768
4191
0.13
int16_t
256
86
0.34
int16_t
512
94
0.18
int16_t
1024
110
0.11
int16_t
2048
142
0.07
int16_t
32768
1116
0.03
uint16_t
256
86
0.34
uint16_t
512
94
0.18
uint16_t
1024
110
0.11
uint16_t
2048
142
0.07
uint16_t
32768
1116
0.03
int8_t
256
84
0.33
int8_t
512
93
0.18
int8_t
1024
109
0.11
int8_t
2048
141
0.07
int8_t
32768
1115
0.03
uint8_t
256
80
0.31
uint8_t
512
86
0.17
uint8_t
1024
94
0.09
uint8_t
2048
110
0.05
uint8_t
32768
604
0.02

DSPLIB_dotprod

Data Type
Data Size
EVM Cycles
Cycles/Sample
float
256
143
0.56
float
512
159
0.31
float
1024
191
0.19
float
2048
255
0.12
float
32768
2189
0.07
double
256
152
0.59
double
512
184
0.36
double
1024
248
0.24
double
2048
376
0.18
double
32768
2182
0.07
int32_t
256
94
0.37
int32_t
512
110
0.21
int32_t
1024
142
0.14
int32_t
2048
206
0.1
int32_t
32768
2140
0.07
uint32_t
256
94
0.37
uint32_t
512
110
0.21
uint32_t
1024
142
0.14
uint32_t
2048
206
0.1
uint32_t
32768
2140
0.07
int16_t
256
85
0.33
int16_t
512
93
0.18
int16_t
1024
109
0.11
int16_t
2048
141
0.07
int16_t
32768
1115
0.03
uint16_t
256
85
0.33
uint16_t
512
93
0.18
uint16_t
1024
109
0.11
uint16_t
2048
141
0.07
uint16_t
32768
1115
0.03
int8_t
256
83
0.32
int8_t
512
92
0.18
int8_t
1024
108
0.11
int8_t
2048
140
0.07
int8_t
32768
1114
0.03
uint8_t
256
79
0.31
uint8_t
512
85
0.17
uint8_t
1024
93
0.09
uint8_t
2048
109
0.05
uint8_t
32768
603
0.02

DSPLIB_negate

Data Type
Data Size
EVM Cycles
Cycles/Sample
int32_t
1024
138
0.13
int32_t
2048
194
0.09
int32_t
10240
721
0.07
int8_t
1024
82
0.08
int8_t
2048
98
0.05
int8_t
10240
226
0.02
int16_t
1024
98
0.1
int16_t
2048
130
0.06
int16_t
10240
401
0.04

DSPLIB_recip

Data Type
Data Size
Store Style
EVM Cycles
Cycles/Sample
float
256
Linear
118
0.46
float
512
Linear
143
0.28
float
1024
Linear
207
0.2
float
2048
Linear
335
0.16
float
10240
Linear
1374
0.13
double
256
Linear
150
0.59
double
512
Linear
207
0.4
double
1024
Linear
335
0.33
double
2048
Linear
606
0.3
double
10240
Linear
2654
0.26
int16_t
256
Horizontal Stack
265
1.04
int16_t
512
Horizontal Stack
425
0.83
int16_t
1024
Horizontal Stack
745
0.73
int16_t
2048
Horizontal Stack
1385
0.68
int16_t
10240
Horizontal Stack
6519
0.64
int16_t
256
Interleaved
269
1.05
int16_t
512
Interleaved
429
0.84
int16_t
1024
Interleaved
749
0.73
int16_t
2048
Interleaved
1389
0.68
int16_t
10240
Interleaved
6527
0.64

DSPLIB_sqrAdd

Data Type
Data Size
EVM Cycles
Cycles/Sample
float
256
136
0.53
float
512
144
0.28
float
1024
161
0.16
float
2048
193
0.09
float
32768
1166
0.04
double
256
155
0.61
double
512
187
0.37
double
1024
251
0.25
double
2048
379
0.19
double
32768
4233
0.13
int32_t
256
93
0.36
int32_t
512
109
0.21
int32_t
1024
141
0.14
int32_t
2048
205
0.1
int32_t
32768
2139
0.07
uint32_t
256
93
0.36
uint32_t
512
109
0.21
uint32_t
1024
141
0.14
uint32_t
2048
205
0.1
uint32_t
32768
2139
0.07
int16_t
256
79
0.31
int16_t
512
83
0.16
int16_t
1024
91
0.09
int16_t
2048
107
0.05
int16_t
32768
601
0.02
uint16_t
256
80
0.31
uint16_t
512
84
0.16
uint16_t
1024
92
0.09
uint16_t
2048
108
0.05
uint16_t
32768
601
0.02
int8_t
256
80
0.31
int8_t
512
85
0.17
int8_t
1024
93
0.09
int8_t
2048
108
0.05
int8_t
32768
604
0.02
uint8_t
256
78
0.3
uint8_t
512
79
0.15
uint8_t
1024
83
0.08
uint8_t
2048
91
0.04
uint8_t
32768
346
0.01

DSPLIB_svd_small

Datatype
M
N
reducedForm
EVM Cycles
Cycles/Sample
double
6
6
0
11269
313.03
double
6
6
1
11701
325.03
double
6
7
0
12013
286.02
double
6
7
1
11460
272.86