MATHLIB 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.



MATHLIB kernels

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

Kernel Name
Vector Length
EVM Warm Cycles – Single Precision
Cycles per Sample
MATHLIB_acos
512
969
1.8926
1024
1748
1.707
2048
3348
1.6348
MATHLIB_acosh
512
1244
2.4297
1024
2235
2.1826
2048
4174
2.0381
MATHLIB_asin
512
779
1.5215
1024
1366
1.3340
2048
2582
1.2607
MATHLIB_asinh
512
1369
2.6738
1024
2457
2.3994
2048
4633
2.2622
MATHLIB_atan
512
727
1.4199
1024
1282
1.2520
2048
2434
1.1885
MATHLIB_atanh
512
1435
2.8027
1024
2429
2.3721
2048
4605
2.2485
MATHLIB_atan2
512
1021
1.9941
1024
1915
1.8701
2048
3709
1.8110
MATHLIB_cos
512
484
0.9453
1024
783
0.7646
2048
1423
0.6948
MATHLIB_cosh
512
1501
2.9316
1024
2520
2.4609
2048
4824
2.3555
MATHLIB_div
512
200
0.3906
1024
243
0.2373
2048
369
0.1802
MATHLIB_exp
512
764
1.4922
1024
1353
1.3213
2048
2569
1.2544
MATHLIB_exp2
512
820
1.6016
1024
1492
1.4570
2048
2836
1.3848
MATHLIB_exp10
512
802
1.5664
1024
1410
1.3770
2048
2626
1.2822
MATHLIB_log
512
792
1.5469
1024
1411
1.3779
2048
2729
1.3325
MATHLIB_log2
512
923
1.8027
1024
1723
1.6826
2048
3323
1.6226
MATHLIB_log10
512
923
1.8027
1024
1723
1.6826
2048
3323
1.6226
MATHLIB_pow
512
2668
5.2109
1024
4896
4.7813
2048
9433
4.6060
MATHLIB_rsqrt
512
313
0.6113
1024
505
0.4932
2048
889
0.4341
MATHLIB_sin
512
420
0.8203
1024
656
0.6406
2048
1168
0.5703
MATHLIB_sinh
512
1387
2.7090
1024
2278
2.2246
2048
4326
2.1123
MATHLIB_sqrt
512
254
0.4961
1024
362
0.3535
2048
618
0.3018
MATHLIB_tan
512
1322
2.5820
1024
2453
2.3955
2048
4757
2.3228
MATHLIB_tanh
512
1313
2.5645
1024
2218
2.1660
2048
4201
2.0513

MATHLIB double precision kernels

This section contains tables that depict the expected performance numbers for the MATHLIB kernels for double precision implementation.

Kernel Name
Vector Length
EVM Warm Cycles – Double Precision
Cycles per Sample
Scalar Implementation Cycles
Cycles Per Sample
MATHLIB_atan2
512
4184
8.2
120835
236
1024
7960
7.8
243183
237.5
2048
15512
7.6
483317
236
MATHLIB_cos
512
1464
2.9
41888
81.8
1024
2333
2.3
83776
81.8
2048
4509
2.2
167552
81.8
MATHLIB_log10
512
2332
4.6
76720
149.8
1024
4316
4.2
153436
149.8
2048
8330
4.1
306406
149.6
MATHLIB_pow
512
4856
9.5
132897
259.6
1024
8992
8.8
265845
259.6
2048
17440
8.5
531627
259.6
MATHLIB_sin
512
1186
2.3
39840
77.8
1024
2210
2.2
79680
77.8
2048
4322
2.1
159360
77.8
MATHLIB_sqrt
512
976
1.9
37281
72.8
1024
1808
1.8
74560
72.8
2048
3472
1.7
149120
72.8