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 |