Eigen vs. BLAS/LAPACK libraries, NVIDIA Grace with SVE (September 2026)
The cells of the Grace NEON page measured again on the same
core with Eigen compiled for SVE (-march=armv9-a+sve2 -msve-vector-bits=128 -DEIGEN_ARM64_USE_SVE),
which selects Eigen’s SVE packet backend at the 128-bit vector length of this CPU. SVE and NEON are
the same width here, so a difference between the two pages is code generation, not vector width:
Eigen’s SVE kernels are a separate, younger backend, and the compiler targets Armv9-A rather than the
Armv8-A baseline of the NEON build.
The libraries are those of the NEON page and were not measured again: they choose their kernels at run time from the CPU and do not change with Eigen’s build flags.
Conditions
| CPU | NVIDIA Grace, 72 Arm Neoverse V2 cores in one socket (lscpu: Neoverse-V2, CPU part 0xd4f); per core L1d 64 KiB and L2 1 MiB, an L3 of 114 MiB shared by all cores; 494 GiB of memory; SVE2 at a 128-bit vector length (/proc/sys/abi/sve_default_vector_length is 16 bytes), bf16, i8mm; 64 KiB kernel pages |
| OS | Ubuntu 24.04.4 LTS, Linux 6.14.0-1015-nvidia-64k |
| Compiler | GCC 13.3.0, -O3 -DNDEBUG -march=armv9-a+sve2 -msve-vector-bits=128, C++17 |
| Eigen | master ab4f7316d (5.0.1-dev) with the harness commit of merge request !2903 on top (9512dcbcb on the author’s fork), default configuration, no external BLAS, EIGEN_ARM64_USE_SVE defined: every packet kernel is the SVE code at a fixed 128-bit length |
| Libraries | Arm Performance Libraries 26.07, NVPL 26.5 and OpenBLAS 0.3.26 as on the NEON page, not measured again: their rates are those of that page’s session |
| Interface | the libraries are called through the Fortran BLAS and LAPACK symbols with column-major operands |
| Threads | 1 for every arm; Eigen built without OpenMP |
| Method | Google Benchmark 1.9.5, 10 repetitions of at least 0.2 s each per cell, median of the 10 rates; the process pinned to one core (taskset -c 8) |
| Date | Eigen: 2026-09-22 (24 runs, about 2.7 hours of measurement). Libraries: the NEON page’s session, 2026-09-22, three to thirteen hours before the SVE passes |
| Harness | benchmarks/comparison/run.py --isa aarch64-sve --filter /eigen/ from Eigen merge request !2903, machine profile neoverse-v2-72c |
GEMM at n = 1024 ran at 34 GFLOP/s in double and 78 in float with Eigen built for SVE, against 37 and 84 for the NEON build of the previous page; the libraries stand at 45 and 94 (Arm Performance Libraries), 45 and 95 (NVPL) and 35 and 71 (OpenBLAS).
How to read the numbers. Every rate is nominal GFLOP/s: the textbook operation count of the operation, stated in each section below, divided by the median wall time of one call. Eigen was measured twice, in two binaries of the same SVE build, those linked against Arm Performance Libraries and NVPL, where only the Eigen cells ran. The Eigen line on each chart is the median of the two passes and the shaded band is their spread, the run-to-run noise on this host. The spread is within 3 % for 93 % of the cells, within 5 % for 97 % and above 10 % for 1 %; the widest is AXPY in float at n = 100, 15.0 against 21.5 GFLOP/s, and the rest of the top ten are AXPY and DOT cells below L2, the binary-dependent effect the NEON page also shows.
A ratio divides that median by the library’s rate from the NEON page’s session, since the library does not change with Eigen’s build. The cells above L3, where both builds run at the bandwidth of one core, bound the drift between the two sessions: AXPY and DOT at n = (2^{24}) and GEMV at n = 4096 in double repeat the NEON session’s rates within 2 % (3.6 against 3.7, 3.7 against 3.7 and 7.9 against 7.9 GFLOP/s).
Each run covered one operation in one binary and started only once the whole machine had used less than 0.5 of a core over a 5 s window; the load average before and after each run is in its result file (between 0.92 and 1.48 before and between 1.00 and 1.61 after a run. Two of the 24 runs, DOT and GEQRF in the Arm Performance Libraries binary, ended at 1.6, so another process was awake for part of them; their cells agree with the second pass within the spreads above, the widest being DOT in double at n = 2048, 16.5 against 18.7 GFLOP/s). None of the 24 runs had to be repeated, and no cell errored.
For the eigenvalue and singular value decompositions the operation count is the one of the classical algorithm, so a divide-and-conquer or blocked implementation is credited with work it does not do; the ratios between arms are unaffected.
The dotted vertical lines on the charts mark the sizes at which the operands of the call, inputs and outputs together, fill the core’s L1 data cache (64 KiB), its L2 (1 MiB) and the shared L3 (114 MiB).
SVE against NEON
Geometric mean of the rate of the SVE build over the rate of the NEON build, Eigen against Eigen, over the square shapes in each size band; above 1, SVE is faster. Over all 882 cells the mean is 0.94: 365 cells are more than 5 % slower under SVE and 37 more than 5 % faster.
| Operation | Scalar | n ≤ 16 | 24–128 | 192–1024 | 1536–16384 | > 16384 |
|---|---|---|---|---|---|---|
| AXPY | float | 1.24 | 1.00 | 1.01 | 1.00 | 0.99 |
| AXPY | double | 1.17 | 1.05 | 0.98 | 1.00 | 0.99 |
| DOT | float | 0.98 | 0.97 | 0.96 | 0.99 | 1.00 |
| DOT | double | 0.93 | 0.99 | 0.99 | 1.00 | 1.00 |
| GEMV | float | 0.86 | 0.89 | 0.96 | 0.99 | – |
| GEMV | double | 0.90 | 0.88 | 0.98 | 1.00 | – |
| GEMM | float | 0.88 | 0.79 | 0.91 | 0.92 | – |
| GEMM | double | 0.98 | 0.97 | 0.96 | 0.95 | – |
| TRSM | float | 0.65 | 0.57 | 0.80 | 0.89 | – |
| TRSM | double | 0.94 | 0.82 | 0.94 | 0.94 | – |
| SYRK | float | 1.01 | 0.98 | 0.94 | 0.94 | – |
| SYRK | double | 1.00 | 0.98 | 0.96 | 0.96 | – |
| POTRF | float | 0.77 | 0.97 | 0.94 | 0.92 | – |
| POTRF | double | 0.88 | 0.98 | 0.96 | 0.96 | – |
| GETRF | float | 0.65 | 0.76 | 0.84 | 0.90 | – |
| GETRF | double | 0.90 | 0.96 | 0.94 | 0.94 | – |
| GEQRF | float | 0.93 | 0.81 | 0.84 | 0.86 | – |
| GEQRF | double | 0.93 | 0.96 | 0.97 | 0.96 | – |
| SYEV | float | 0.92 | 0.95 | 0.98 | 1.02 | – |
| SYEV | double | 0.99 | 1.00 | 1.00 | 1.01 | – |
| GESDD | float | 0.96 | 0.91 | 0.92 | 0.93 | – |
| GESDD | double | 0.99 | 0.98 | 0.97 | 0.97 | – |
| GEEV | float | 1.02 | 1.02 | 1.01 | – | – |
| GEEV | double | 0.99 | 0.98 | 0.97 | – | – |
The level-1 kernels and the two eigensolvers are unchanged, and AXPY below n = 16 gains 20 % from a shorter inlined loop. Everything that runs on the matrix-product kernel loses: GEMM by 4 to 5 % in double and 8 to 9 % in float above n = 192, and TRSM, SYRK, POTRF, GETRF and GEQRF with it. The float losses are the largest, and they concentrate at small sizes: TRSM in float runs at 0.46 to 0.58 of its NEON rate from n = 8 to 64 (24.9 against 11.5 GFLOP/s at n = 16), GETRF in float at 0.65 below n = 16 and 0.76 up to 128, GEQRF in float at 0.81 to 0.86 throughout. Since the vector width is the same, these are costs in Eigen’s SVE packet kernels and in the compiler’s handling of the fixed-length SVE types, not in the hardware. The tall-skinny GEMV sweep is the one place SVE is clearly ahead: 10000-by-100 runs at 1.5x (float) and 1.7x (double) the NEON rate.
AXPY
y += alpha * x against ?axpy, alpha = 0.75; (2n) flops. Lengths run from 2 to (2^{24})
(128 MiB per double vector), through every cache level into DRAM.
Short vectors. Up to about n = 32 the AXPY and DOT rates measure the cost of a call rather than the kernel. Eigen’s expression compiles inline into the calling loop, while a call into a shared library pays a cost of its own before it reads an element. That cost is fixed per call, so the ratios at the small end are ratios of fixed costs. The DOT cells in double at n = 2 show it directly: 0.95 ns per call for Eigen in either build, against 6.3 ns for Arm Performance Libraries, 11.1 ns for OpenBLAS and 28.9 ns for NVPL. Eigen still computes the whole operation on every call; nothing is hoisted out of the timed loop.
The SVE build matches the NEON build from n = 24 on and is 17 to 25 % faster below it; the comparison with the libraries is that of the NEON page.

DOT
x.dot(y) against ?dot; (2n) flops, the same lengths. Real scalars only: the Fortran
convention for returning a complex function value is not fixed by the platform ABI and differs
between library builds, so ?dotc cannot be declared portably.
Up to about n = 32 the rates measure the cost of a call; see AXPY.
Unchanged from the NEON build within 1 to 3 % at every length; Eigen remains the fastest arm up to L2.

GEMV
y.noalias() += A * x against ?gemv, column-major, no transposition; (2mn) flops.
Square matrices, then the short-fat (n = 10000, m grows) and tall-skinny (m = 10000, n grows) sweeps.
Square shapes are within 2 % of the NEON build above n = 192 and 10 to 14 % slower below; the 10000-by-100 cells of the tall-skinny sweep run 1.5x (float) and 1.7x (double) faster than under NEON.

GEMM
C.noalias() += A * B against ?gemm, column-major, no transposition; (2mnk) flops.
Square matrices first; then the two tall-skinny sweeps, where m stays at 4096 or 10000 while n = k grows; then the assorted non-square shapes that fit neither.
The SVE matrix-product kernel reaches 34 to 35 GFLOP/s in double and 78 in float, 4 to 5 % and 8 to 9 % below the NEON kernel, so the gap to the vendor libraries widens to 23 % (double) and 18 % (float); against OpenBLAS the double rate is even and the float rate 10 % ahead.

TRSM
A.triangularView<Lower>().solveInPlace(X) against ?trsm with the m-by-m lower triangle on the
left and n right-hand sides, no transposition, non-unit diagonal; (m(m+1)n) flops. The solve is
destructive, so the timed region includes one copy of B for both arms.
Square shapes (m = n), then the sweeps with a fixed triangle of order 1024 or 4096 and a growing number of right-hand sides, then the remaining shapes with 4096 right-hand sides against a small triangle.
The largest loss on the page: in float the SVE build runs at 0.46 to 0.58 of its NEON rate from n = 8 to 64 and at 0.86 to 0.90 at n = 1024 and 4096; in double the loss is 6 to 18 %. Eigen is still even with OpenBLAS above n = 192 and 10 to 20 % behind the vendor libraries.

SYRK
C.selfadjointView<Lower>().rankUpdate(A) against ?syrk, lower triangle, no transposition, with
C n-by-n and A n-by-k; (n(n+1)k) flops.
Square shapes (n = k), then the sweeps: a 4096-by-4096 matrix updated by a growing number of columns, and the Gram matrix of a short, wide factor with 4096 columns.
Within 2 % of the NEON build below n = 128 and 4 to 6 % slower above; 10 to 17 % behind NVPL and even with Arm Performance Libraries in double.

POTRF
LLT<Ref<MatrixXd>> in place against ?potrf, lower triangle, symmetric positive definite operand;
(n^3/3) flops. The timed region includes one copy of the operand for both arms, since the
factorization is destructive.
3 to 4 % slower than under NEON in double and 7 to 9 % in float above n = 192; still ahead of all three libraries from n = 24 to 1024 in double.

GETRF
PartialPivLU<Ref<MatrixXd>> in place against ?getrf, square operand; (2n^3/3) flops. Both
arms copy the operand into a destination allocated once and factorize the copy; neither allocates
inside the timed region.
In float the SVE build runs at 0.65 of its NEON rate below n = 16 and 0.76 up to 128, at 0.87 to 0.91
above; in double the loss is 4 to 10 %. NVPL’s getrf leads by 18 % in double at the largest sizes.

GEQRF
HouseholderQR<Ref<MatrixXd>> in place against ?geqrf, m ≥ n; (2mn^2 - 2n^3/3) flops, the
same copy-then-factorize protocol as GETRF.
Square shapes, then the tall-skinny sweeps with m fixed at 4096, 10000 and 100000.
The float build loses 14 to 19 % at every size above 24 and the double build 3 to 7 %; NVPL leads by 16 to 24 %, Arm Performance Libraries by 13 % at the largest sizes, and Eigen stays ahead of OpenBLAS in double.

SYEV
SelfAdjointEigenSolver with eigenvectors against ?syev (jobz = 'V', lower triangle), the
like-for-like pair: tridiagonalization followed by implicit QR iteration on both sides; (9n^3)
flops, the count of that algorithm (Golub & Van Loan, section 8.3.3). Neither works in place: the
solver copies the operand internally and the reference arm pays the same one copy. Sizes to 2048,
where a call of SelfAdjointEigenSolver takes 5.5 s in double.
Unchanged: within 2 % of the NEON build at every size, so Eigen’s tridiagonal QR remains 1.3 to 1.7x faster than the libraries in double and 1.9 to 2.8x in float.

GESDD
BDCSVD<MatrixXd, ComputeThinU | ComputeThinV> against ?gesdd with jobz = 'S', divide and
conquer on both sides, m ≥ n, the thin U and V computed; (14mn^2 + 8n^3) flops, the Golub-Reinsch
count (Golub & Van Loan, table 8.6.1). Square sizes to 2048, then tall-skinny sweeps with m fixed
at 4096 and 10000.
2 to 3 % slower than under NEON in double and 7 to 9 % in float; the comparison with the libraries is that of the NEON page within those margins.

GEEV
EigenSolver with eigenvectors against ?geev (jobvr = 'V'), a dense random nonsymmetric
operand: Hessenberg reduction, QR iteration to the Schur form and back-substitution for the
eigenvectors on both sides; (25n^3) flops, the count of the Hessenberg QR algorithm with Schur
vectors (Golub & Van Loan, section 7.5.6). Sizes to 1024, where a call of EigenSolver takes
3.8 s in double.
Unchanged from the NEON build within 3 %; EigenSolver stays at 7 to 8 GFLOP/s in double from n = 128
on while the libraries climb to 24 to 35 at n = 1024.

Summary
Geometric mean of the Eigen ÷ library rate ratio over the square shapes in each size band. Above 1, Eigen is faster. Only the vector operations reach the last band.
| Operation | Scalar | Library | n ≤ 16 | 24–128 | 192–1024 | 1536–16384 | > 16384 |
|---|---|---|---|---|---|---|---|
| AXPY | float | Arm Performance Libraries | 3.00 | 1.71 | 0.95 | 0.92 | 1.00 |
| AXPY | float | NVPL | 11.73 | 5.52 | 1.69 | 1.08 | 0.99 |
| AXPY | float | OpenBLAS | 1.86 | 1.36 | 1.13 | 1.22 | 1.06 |
| AXPY | double | Arm Performance Libraries | 2.92 | 1.36 | 0.85 | 0.95 | 0.99 |
| AXPY | double | NVPL | 10.89 | 3.58 | 1.33 | 1.04 | 0.99 |
| AXPY | double | OpenBLAS | 2.13 | 1.14 | 0.80 | 1.01 | 1.08 |
| DOT | float | Arm Performance Libraries | 5.63 | 1.91 | 1.32 | 1.20 | 1.00 |
| DOT | float | NVPL | 27.95 | 7.60 | 3.34 | 2.43 | 1.43 |
| DOT | float | OpenBLAS | 10.67 | 2.51 | 1.34 | 1.21 | 1.00 |
| DOT | double | Arm Performance Libraries | 4.50 | 1.64 | 1.29 | 1.17 | 1.05 |
| DOT | double | NVPL | 20.60 | 5.25 | 3.16 | 2.18 | 1.35 |
| DOT | double | OpenBLAS | 7.72 | 1.75 | 1.37 | 1.13 | 1.00 |
| GEMV | float | Arm Performance Libraries | 3.98 | 1.52 | 1.02 | 1.00 | – |
| GEMV | float | NVPL | 6.74 | 1.78 | 1.04 | 0.93 | – |
| GEMV | float | OpenBLAS | 2.85 | 2.40 | 1.30 | 1.17 | – |
| GEMV | double | Arm Performance Libraries | 3.95 | 1.34 | 1.01 | 1.00 | – |
| GEMV | double | NVPL | 6.59 | 1.47 | 1.00 | 0.93 | – |
| GEMV | double | OpenBLAS | 2.73 | 1.85 | 1.29 | 1.21 | – |
| GEMM | float | Arm Performance Libraries | 2.41 | 0.94 | 0.84 | 0.84 | – |
| GEMM | float | NVPL | 2.14 | 0.74 | 0.82 | 0.82 | – |
| GEMM | float | OpenBLAS | 1.65 | 0.91 | 1.07 | 1.10 | – |
| GEMM | double | Arm Performance Libraries | 2.61 | 1.03 | 0.82 | 0.77 | – |
| GEMM | double | NVPL | 2.76 | 0.89 | 0.81 | 0.77 | – |
| GEMM | double | OpenBLAS | 1.99 | 1.05 | 1.02 | 1.00 | – |
| TRSM | float | Arm Performance Libraries | 1.75 | 1.36 | 0.82 | 0.89 | – |
| TRSM | float | NVPL | 25.55 | 1.91 | 0.95 | 0.81 | – |
| TRSM | float | OpenBLAS | 1.61 | 0.95 | 1.06 | 1.07 | – |
| TRSM | double | Arm Performance Libraries | 1.92 | 1.34 | 0.94 | 0.86 | – |
| TRSM | double | NVPL | 29.32 | 1.68 | 0.88 | 0.78 | – |
| TRSM | double | OpenBLAS | 2.17 | 1.01 | 1.04 | 1.00 | – |
| SYRK | float | Arm Performance Libraries | 3.24 | 1.18 | 0.90 | 0.90 | – |
| SYRK | float | NVPL | 13.19 | 1.48 | 0.83 | 0.83 | – |
| SYRK | float | OpenBLAS | 1.14 | 1.10 | 1.06 | 1.09 | – |
| SYRK | double | Arm Performance Libraries | 2.81 | 0.96 | 0.88 | 0.96 | – |
| SYRK | double | NVPL | 10.23 | 1.12 | 0.82 | 0.84 | – |
| SYRK | double | OpenBLAS | 0.92 | 0.86 | 1.02 | 1.07 | – |
| POTRF | float | Arm Performance Libraries | 0.97 | 1.39 | 1.14 | 1.03 | – |
| POTRF | float | NVPL | 4.88 | 1.49 | 1.30 | 0.92 | – |
| POTRF | float | OpenBLAS | 1.63 | 1.62 | 1.43 | 1.19 | – |
| POTRF | double | Arm Performance Libraries | 1.03 | 1.15 | 1.05 | 1.01 | – |
| POTRF | double | NVPL | 4.59 | 1.21 | 1.09 | 0.89 | – |
| POTRF | double | OpenBLAS | 1.67 | 1.16 | 1.15 | 1.12 | – |
| GETRF | float | Arm Performance Libraries | 0.84 | 0.99 | 1.38 | 1.06 | – |
| GETRF | float | NVPL | 4.08 | 2.29 | 1.10 | 0.89 | – |
| GETRF | float | OpenBLAS | 1.77 | 1.57 | 1.02 | 1.05 | – |
| GETRF | double | Arm Performance Libraries | 0.92 | 1.31 | 1.45 | 0.93 | – |
| GETRF | double | NVPL | 5.00 | 2.03 | 1.00 | 0.82 | – |
| GETRF | double | OpenBLAS | 2.13 | 1.43 | 1.00 | 0.98 | – |
| GEQRF | float | Arm Performance Libraries | 0.61 | 0.71 | 1.18 | 0.91 | – |
| GEQRF | float | NVPL | 0.79 | 0.65 | 0.81 | 0.80 | – |
| GEQRF | float | OpenBLAS | 1.11 | 0.93 | 0.98 | 1.06 | – |
| GEQRF | double | Arm Performance Libraries | 0.54 | 0.85 | 1.03 | 0.87 | – |
| GEQRF | double | NVPL | 0.76 | 0.78 | 0.84 | 0.82 | – |
| GEQRF | double | OpenBLAS | 1.16 | 1.18 | 1.05 | 1.09 | – |
| SYEV | float | Arm Performance Libraries | 1.84 | 1.85 | 2.43 | 2.76 | – |
| SYEV | float | NVPL | 1.86 | 1.91 | 2.24 | 2.34 | – |
| SYEV | float | OpenBLAS | 1.69 | 1.95 | 2.34 | 2.47 | – |
| SYEV | double | Arm Performance Libraries | 1.70 | 1.43 | 1.59 | 1.65 | – |
| SYEV | double | NVPL | 1.73 | 1.47 | 1.39 | 1.30 | – |
| SYEV | double | OpenBLAS | 1.61 | 1.53 | 1.48 | 1.39 | – |
| GESDD | float | Arm Performance Libraries | 1.91 | 0.82 | 1.33 | 1.65 | – |
| GESDD | float | NVPL | 2.03 | 0.90 | 0.99 | 0.95 | – |
| GESDD | float | OpenBLAS | 1.64 | 0.84 | 1.22 | 1.15 | – |
| GESDD | double | Arm Performance Libraries | 1.56 | 0.66 | 1.14 | 1.63 | – |
| GESDD | double | NVPL | 1.68 | 0.69 | 0.82 | 0.83 | – |
| GESDD | double | OpenBLAS | 1.37 | 0.68 | 0.98 | 1.00 | – |
| GEEV | float | Arm Performance Libraries | 2.89 | 1.15 | 0.45 | – | – |
| GEEV | float | NVPL | 4.05 | 1.75 | 0.45 | – | – |
| GEEV | float | OpenBLAS | 2.79 | 1.44 | 0.44 | – | – |
| GEEV | double | Arm Performance Libraries | 2.48 | 0.93 | 0.41 | – | – |
| GEEV | double | NVPL | 3.50 | 1.29 | 0.38 | – | – |
| GEEV | double | OpenBLAS | 2.71 | 1.16 | 0.40 | – | – |
Caveats
- The libraries were not measured again: their rows are the NEON page’s session, three to thirteen hours earlier on the same core, with the drift bound above. Each selects its kernels at run time for the CPU it finds, so their rates do not depend on Eigen’s build.
- SVE and NEON are both 128 bits wide on this CPU, so this page says nothing about wider SVE implementations; it compares Eigen’s two AArch64 backends at equal width.
- The SVE build targets Armv9-A (
-march=armv9-a+sve2), the NEON build the Armv8-A baseline; the compiler’s own code generation for the scalar parts differs between the two as well. - OpenBLAS 0.3.26 is Ubuntu 24.04’s packaged build and runs its Neoverse V1 kernels on this CPU, as the library reports at run time; NVPL’s fixed cost per call, 29 ns at n = 2, sets its ratios at the smallest sizes.
- The machine is a shared 72-core server. Runs were gated on measured CPU use rather than on the
harness’s 1-minute load average, which still carried the previous run’s own core when the next run was
due; the result files therefore record
allow_noisy: truewith the load average before and after each run. Two runs saw a load average of 1.6 at their end, as described above. - The kernel runs with 64 KiB pages, so the TLB reaches eight times further than on a 4 KiB-page system; rates at the largest sizes may not transfer to such a system.
Full tables
GFLOP/s per shape and library, with the Eigen ÷ library ratio: Eigen’s median over its two SVE passes against the library’s rate from the NEON page’s session.
AXPY float
| n | Eigen GFLOP/s | Arm Performance Libraries GFLOP/s | Eigen ÷ Arm Performance Libraries | NVPL GFLOP/s | Eigen ÷ NVPL | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|---|---|---|---|
| 2 | 1.6 | 0.5 | 3.11 | 0.1 | 11.67 | 0.9 | 1.70 |
| 3 | 2.4 | 0.7 | 3.41 | 0.2 | 11.73 | 1.4 | 1.75 |
| 4 | 3.2 | 1.1 | 2.74 | 0.3 | 11.56 | 1.6 | 2.00 |
| 6 | 4.7 | 1.5 | 3.12 | 0.4 | 11.95 | 2.1 | 2.25 |
| 8 | 6.3 | 2.3 | 2.77 | 0.5 | 11.72 | 3.9 | 1.62 |
| 12 | 9.3 | 3.2 | 2.96 | 0.8 | 11.76 | 4.4 | 2.10 |
| 16 | 12.3 | 4.2 | 2.91 | 1.1 | 11.73 | 7.2 | 1.71 |
| 24 | 15.2 | 5.9 | 2.56 | 1.5 | 9.85 | 9.4 | 1.62 |
| 32 | 17.7 | 7.2 | 2.46 | 2.0 | 8.87 | 11.0 | 1.61 |
| 48 | 17.7 | 10.1 | 1.76 | 2.8 | 6.21 | 13.2 | 1.34 |
| 64 | 18.3 | 11.9 | 1.53 | 3.6 | 5.05 | 14.8 | 1.24 |
| 96 | 22.0 | 14.8 | 1.48 | 5.0 | 4.38 | 16.4 | 1.34 |
| 100 | 18.2 | 14.6 | 1.25 | 5.1 | 3.55 | 15.5 | 1.18 |
| 128 | 22.6 | 16.8 | 1.35 | 6.2 | 3.66 | 17.5 | 1.29 |
| 192 | 23.2 | 19.5 | 1.19 | 8.2 | 2.85 | 18.8 | 1.24 |
| 256 | 20.0 | 21.3 | 0.94 | 9.4 | 2.12 | 19.3 | 1.04 |
| 384 | 24.3 | 23.5 | 1.04 | 12.3 | 1.97 | 20.0 | 1.22 |
| 512 | 22.1 | 24.6 | 0.90 | 14.1 | 1.56 | 20.2 | 1.09 |
| 768 | 22.9 | 24.7 | 0.93 | 15.9 | 1.44 | 20.7 | 1.11 |
| 1000 | 23.6 | 25.6 | 0.92 | 15.6 | 1.51 | 20.9 | 1.13 |
| 1001 | 23.2 | 26.5 | 0.88 | 17.9 | 1.29 | 20.9 | 1.11 |
| 1024 | 23.6 | 26.7 | 0.88 | 18.1 | 1.30 | 21.0 | 1.13 |
| 1536 | 23.5 | 26.7 | 0.88 | 19.3 | 1.22 | 20.9 | 1.13 |
| 2048 | 23.9 | 27.9 | 0.86 | 20.5 | 1.17 | 21.2 | 1.13 |
| 3072 | 24.3 | 27.9 | 0.87 | 21.9 | 1.11 | 21.2 | 1.15 |
| 4096 | 24.5 | 28.1 | 0.87 | 22.5 | 1.09 | 21.2 | 1.15 |
| 6144 | 24.8 | 27.5 | 0.90 | 23.4 | 1.06 | 19.5 | 1.27 |
| 8192 | 24.7 | 27.2 | 0.91 | 23.8 | 1.04 | 19.2 | 1.29 |
| 10000 | 23.9 | 24.4 | 0.98 | 23.2 | 1.03 | 17.6 | 1.36 |
| 12288 | 23.7 | 22.9 | 1.03 | 23.1 | 1.03 | 18.7 | 1.27 |
| 16384 | 20.2 | 20.0 | 1.01 | 19.9 | 1.01 | 16.4 | 1.23 |
| 32768 | 20.3 | 20.1 | 1.01 | 20.3 | 1.00 | 16.5 | 1.23 |
| 65536 | 19.4 | 20.0 | 0.97 | 20.3 | 0.96 | 16.4 | 1.18 |
| 100000 | 17.2 | 16.6 | 1.04 | 17.9 | 0.96 | 15.7 | 1.09 |
| 131072 | 18.4 | 17.6 | 1.04 | 18.1 | 1.02 | 16.2 | 1.13 |
| 262144 | 19.1 | 19.2 | 1.00 | 19.2 | 0.99 | 16.4 | 1.17 |
| 524288 | 16.3 | 16.4 | 0.99 | 16.2 | 1.01 | 16.3 | 1.00 |
| 1000000 | 14.7 | 14.4 | 1.02 | 14.2 | 1.03 | 13.7 | 1.08 |
| 1048576 | 15.7 | 15.7 | 1.00 | 15.8 | 1.00 | 16.1 | 0.98 |
| 2097152 | 15.3 | 15.5 | 0.99 | 15.2 | 1.01 | 15.5 | 0.99 |
| 4194304 | 14.2 | 14.3 | 0.99 | 14.6 | 0.97 | 14.6 | 0.97 |
| 8388608 | 12.3 | 12.2 | 1.01 | 12.5 | 0.99 | 12.3 | 1.00 |
| 16777216 | 8.8 | 8.9 | 0.99 | 9.1 | 0.97 | 8.9 | 0.99 |
AXPY double
| n | Eigen GFLOP/s | Arm Performance Libraries GFLOP/s | Eigen ÷ Arm Performance Libraries | NVPL GFLOP/s | Eigen ÷ NVPL | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|---|---|---|---|
| 2 | 1.6 | 0.5 | 2.99 | 0.1 | 11.55 | 0.9 | 1.71 |
| 3 | 2.4 | 0.7 | 3.38 | 0.2 | 11.66 | 1.3 | 1.75 |
| 4 | 3.1 | 1.1 | 2.98 | 0.3 | 11.56 | 1.6 | 1.99 |
| 6 | 4.7 | 1.5 | 3.20 | 0.4 | 11.59 | 2.1 | 2.23 |
| 8 | 6.2 | 2.1 | 2.93 | 0.5 | 11.66 | 2.5 | 2.44 |
| 12 | 7.6 | 2.8 | 2.71 | 0.8 | 9.80 | 3.2 | 2.41 |
| 16 | 9.0 | 3.7 | 2.39 | 1.0 | 8.84 | 3.6 | 2.50 |
| 24 | 9.1 | 4.6 | 1.97 | 1.5 | 6.24 | 3.4 | 2.63 |
| 32 | 9.8 | 5.6 | 1.75 | 1.8 | 5.35 | 9.1 | 1.08 |
| 48 | 9.2 | 7.2 | 1.28 | 2.5 | 3.63 | 8.1 | 1.15 |
| 64 | 10.5 | 8.4 | 1.25 | 3.2 | 3.28 | 11.4 | 0.92 |
| 96 | 11.6 | 9.9 | 1.17 | 4.4 | 2.66 | 12.4 | 0.94 |
| 100 | 11.8 | 10.0 | 1.18 | 3.9 | 3.01 | 12.1 | 0.98 |
| 128 | 12.0 | 10.8 | 1.11 | 5.0 | 2.38 | 12.8 | 0.93 |
| 192 | 11.4 | 12.0 | 0.95 | 6.5 | 1.76 | 13.5 | 0.84 |
| 256 | 11.0 | 12.8 | 0.86 | 7.4 | 1.50 | 13.9 | 0.79 |
| 384 | 11.5 | 12.9 | 0.89 | 8.0 | 1.43 | 14.3 | 0.80 |
| 512 | 11.8 | 13.7 | 0.86 | 8.8 | 1.34 | 14.5 | 0.82 |
| 768 | 11.8 | 14.2 | 0.83 | 9.8 | 1.20 | 14.7 | 0.80 |
| 1000 | 11.9 | 14.4 | 0.83 | 8.8 | 1.35 | 14.6 | 0.82 |
| 1001 | 10.9 | 14.3 | 0.76 | 10.4 | 1.05 | 14.6 | 0.74 |
| 1024 | 12.0 | 14.2 | 0.84 | 10.4 | 1.15 | 14.8 | 0.81 |
| 1536 | 12.2 | 14.5 | 0.84 | 11.1 | 1.10 | 14.9 | 0.82 |
| 2048 | 12.2 | 14.4 | 0.85 | 11.4 | 1.07 | 14.8 | 0.82 |
| 3072 | 12.4 | 13.8 | 0.90 | 11.8 | 1.05 | 12.4 | 1.00 |
| 4096 | 12.4 | 13.7 | 0.90 | 11.9 | 1.04 | 11.9 | 1.04 |
| 6144 | 11.9 | 11.5 | 1.03 | 11.5 | 1.03 | 11.0 | 1.08 |
| 8192 | 10.1 | 10.0 | 1.01 | 9.9 | 1.01 | 9.3 | 1.09 |
| 10000 | 10.8 | 10.7 | 1.01 | 10.7 | 1.01 | 10.1 | 1.07 |
| 12288 | 10.2 | 10.1 | 1.01 | 10.1 | 1.00 | 9.1 | 1.11 |
| 16384 | 10.1 | 10.1 | 1.01 | 10.1 | 1.00 | 9.1 | 1.11 |
| 32768 | 9.9 | 9.7 | 1.01 | 10.1 | 0.98 | 9.1 | 1.08 |
| 65536 | 9.3 | 9.4 | 0.99 | 9.5 | 0.97 | 9.0 | 1.03 |
| 100000 | 9.8 | 9.7 | 1.01 | 9.9 | 0.99 | 8.8 | 1.11 |
| 131072 | 9.6 | 9.6 | 0.99 | 9.7 | 0.98 | 8.9 | 1.07 |
| 262144 | 8.2 | 8.2 | 1.00 | 8.2 | 1.00 | 7.2 | 1.13 |
| 524288 | 7.9 | 7.8 | 1.00 | 7.9 | 1.00 | 6.8 | 1.16 |
| 1000000 | 6.4 | 6.4 | 0.99 | 6.3 | 1.02 | 6.0 | 1.06 |
| 1048576 | 7.5 | 7.7 | 0.98 | 7.7 | 0.98 | 6.5 | 1.16 |
| 2097152 | 6.9 | 7.1 | 0.97 | 7.1 | 0.97 | 6.1 | 1.12 |
| 4194304 | 6.2 | 6.3 | 0.98 | 6.3 | 0.99 | 6.4 | 0.97 |
| 8388608 | 4.4 | 4.6 | 0.95 | 4.6 | 0.96 | 4.4 | 1.01 |
| 16777216 | 3.7 | 3.6 | 1.01 | 3.6 | 1.01 | 3.4 | 1.07 |
DOT float
| n | Eigen GFLOP/s | Arm Performance Libraries GFLOP/s | Eigen ÷ Arm Performance Libraries | NVPL GFLOP/s | Eigen ÷ NVPL | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|---|---|---|---|
| 2 | 5.0 | 0.7 | 7.45 | 0.1 | 35.61 | 0.4 | 13.78 |
| 3 | 6.2 | 1.0 | 6.21 | 0.2 | 30.03 | 0.5 | 11.49 |
| 4 | 10.7 | 1.5 | 7.22 | 0.3 | 39.22 | 0.7 | 14.91 |
| 6 | 10.2 | 2.0 | 5.10 | 0.4 | 24.99 | 1.1 | 9.43 |
| 8 | 16.8 | 2.8 | 5.99 | 0.6 | 30.44 | 1.4 | 11.75 |
| 12 | 19.0 | 3.9 | 4.83 | 0.8 | 23.19 | 2.1 | 8.86 |
| 16 | 19.4 | 5.3 | 3.65 | 1.1 | 17.99 | 2.9 | 6.78 |
| 24 | 21.6 | 7.5 | 2.87 | 1.6 | 13.64 | 4.3 | 5.02 |
| 32 | 23.4 | 9.5 | 2.46 | 2.1 | 11.22 | 5.7 | 4.08 |
| 48 | 25.4 | 12.6 | 2.01 | 3.0 | 8.53 | 8.6 | 2.96 |
| 64 | 27.2 | 15.1 | 1.80 | 3.8 | 7.22 | 11.4 | 2.39 |
| 96 | 29.7 | 18.8 | 1.58 | 5.2 | 5.71 | 17.0 | 1.75 |
| 100 | 29.5 | 19.1 | 1.54 | 5.3 | 5.51 | 17.9 | 1.65 |
| 128 | 31.4 | 21.0 | 1.50 | 6.4 | 4.92 | 20.7 | 1.52 |
| 192 | 32.7 | 23.5 | 1.39 | 7.8 | 4.21 | 22.4 | 1.46 |
| 256 | 31.9 | 24.3 | 1.31 | 8.6 | 3.72 | 23.6 | 1.35 |
| 384 | 33.5 | 25.6 | 1.31 | 9.6 | 3.48 | 25.0 | 1.34 |
| 512 | 33.9 | 26.1 | 1.30 | 10.2 | 3.31 | 25.6 | 1.32 |
| 768 | 34.6 | 26.1 | 1.33 | 10.9 | 3.16 | 26.2 | 1.32 |
| 1000 | 33.6 | 26.0 | 1.29 | 11.3 | 2.98 | 26.1 | 1.29 |
| 1001 | 33.2 | 25.9 | 1.28 | 11.2 | 2.96 | 25.9 | 1.28 |
| 1024 | 34.8 | 25.9 | 1.34 | 11.3 | 3.07 | 25.5 | 1.36 |
| 1536 | 35.2 | 25.7 | 1.37 | 11.7 | 3.00 | 25.4 | 1.39 |
| 2048 | 34.5 | 25.3 | 1.36 | 11.9 | 2.89 | 25.6 | 1.35 |
| 3072 | 36.1 | 25.4 | 1.42 | 12.2 | 2.97 | 25.3 | 1.43 |
| 4096 | 35.2 | 25.5 | 1.38 | 12.3 | 2.87 | 25.3 | 1.39 |
| 6144 | 27.9 | 25.2 | 1.11 | 12.4 | 2.25 | 24.6 | 1.14 |
| 8192 | 29.3 | 25.0 | 1.17 | 12.4 | 2.35 | 24.3 | 1.20 |
| 10000 | 26.1 | 24.9 | 1.05 | 12.5 | 2.09 | 24.9 | 1.05 |
| 12288 | 25.1 | 24.9 | 1.01 | 12.5 | 2.01 | 24.7 | 1.02 |
| 16384 | 22.6 | 22.6 | 1.00 | 12.5 | 1.80 | 22.5 | 1.00 |
| 32768 | 23.8 | 23.5 | 1.02 | 12.6 | 1.89 | 23.4 | 1.02 |
| 65536 | 22.6 | 23.4 | 0.97 | 12.6 | 1.79 | 23.2 | 0.97 |
| 100000 | 21.4 | 21.0 | 1.02 | 12.5 | 1.71 | 20.9 | 1.02 |
| 131072 | 21.9 | 21.5 | 1.02 | 12.6 | 1.74 | 21.2 | 1.03 |
| 262144 | 18.5 | 18.6 | 1.00 | 12.6 | 1.47 | 18.8 | 0.98 |
| 524288 | 16.7 | 17.0 | 0.99 | 12.6 | 1.33 | 16.8 | 1.00 |
| 1000000 | 15.9 | 16.2 | 0.98 | 12.6 | 1.27 | 16.4 | 0.97 |
| 1048576 | 16.1 | 16.2 | 0.99 | 12.5 | 1.28 | 16.1 | 1.00 |
| 2097152 | 15.8 | 15.8 | 1.00 | 12.5 | 1.26 | 15.8 | 1.00 |
| 4194304 | 15.2 | 15.3 | 0.99 | 12.4 | 1.23 | 14.8 | 1.03 |
| 8388608 | 12.3 | 12.3 | 1.00 | 8.3 | 1.47 | 12.4 | 0.99 |
| 16777216 | 9.8 | 9.8 | 1.00 | 9.5 | 1.03 | 9.6 | 1.02 |
DOT double
| n | Eigen GFLOP/s | Arm Performance Libraries GFLOP/s | Eigen ÷ Arm Performance Libraries | NVPL GFLOP/s | Eigen ÷ NVPL | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|---|---|---|---|
| 2 | 4.2 | 0.6 | 6.64 | 0.1 | 30.25 | 0.4 | 11.66 |
| 3 | 6.3 | 0.9 | 6.98 | 0.2 | 30.64 | 0.5 | 11.69 |
| 4 | 6.3 | 1.3 | 4.74 | 0.3 | 23.23 | 0.7 | 8.78 |
| 6 | 9.5 | 1.7 | 5.48 | 0.4 | 23.33 | 1.1 | 8.78 |
| 8 | 10.0 | 2.7 | 3.76 | 0.5 | 18.67 | 1.4 | 7.00 |
| 12 | 11.2 | 3.5 | 3.23 | 0.8 | 14.04 | 2.2 | 5.19 |
| 16 | 12.3 | 4.8 | 2.55 | 1.0 | 11.93 | 2.9 | 4.29 |
| 24 | 13.1 | 6.6 | 1.99 | 1.5 | 8.84 | 4.3 | 3.05 |
| 32 | 13.5 | 7.2 | 1.88 | 1.9 | 7.08 | 5.7 | 2.35 |
| 48 | 15.0 | 8.8 | 1.71 | 2.6 | 5.70 | 8.5 | 1.76 |
| 64 | 15.9 | 9.6 | 1.66 | 3.2 | 4.92 | 10.3 | 1.54 |
| 96 | 16.5 | 11.2 | 1.48 | 3.9 | 4.19 | 11.5 | 1.44 |
| 100 | 15.8 | 10.2 | 1.55 | 3.9 | 4.02 | 11.6 | 1.37 |
| 128 | 16.1 | 12.2 | 1.33 | 4.3 | 3.72 | 12.1 | 1.33 |
| 192 | 17.0 | 12.2 | 1.40 | 4.9 | 3.51 | 12.7 | 1.34 |
| 256 | 17.4 | 12.8 | 1.36 | 5.1 | 3.37 | 13.0 | 1.33 |
| 384 | 17.8 | 13.4 | 1.33 | 5.5 | 3.24 | 13.2 | 1.35 |
| 512 | 17.4 | 13.9 | 1.25 | 5.7 | 3.07 | 13.1 | 1.32 |
| 768 | 17.9 | 14.3 | 1.25 | 5.9 | 3.04 | 12.7 | 1.40 |
| 1000 | 18.5 | 14.7 | 1.26 | 6.0 | 3.09 | 12.7 | 1.46 |
| 1001 | 18.0 | 14.6 | 1.23 | 6.0 | 3.02 | 12.7 | 1.42 |
| 1024 | 17.8 | 14.5 | 1.23 | 6.0 | 2.97 | 12.9 | 1.38 |
| 1536 | 17.6 | 14.7 | 1.20 | 6.1 | 2.89 | 12.6 | 1.39 |
| 2048 | 17.6 | 13.7 | 1.29 | 6.1 | 2.86 | 12.6 | 1.39 |
| 3072 | 14.0 | 12.9 | 1.09 | 6.2 | 2.25 | 12.4 | 1.13 |
| 4096 | 14.6 | 11.8 | 1.24 | 6.2 | 2.35 | 12.1 | 1.21 |
| 6144 | 12.6 | 11.8 | 1.07 | 6.3 | 2.01 | 12.4 | 1.01 |
| 8192 | 11.3 | 9.6 | 1.17 | 6.3 | 1.80 | 11.3 | 1.00 |
| 10000 | 12.2 | 10.9 | 1.12 | 6.3 | 1.94 | 11.9 | 1.03 |
| 12288 | 12.1 | 10.0 | 1.20 | 6.3 | 1.92 | 11.6 | 1.04 |
| 16384 | 11.9 | 10.0 | 1.19 | 6.3 | 1.89 | 11.7 | 1.02 |
| 32768 | 11.6 | 10.0 | 1.16 | 6.3 | 1.84 | 11.6 | 1.00 |
| 65536 | 10.9 | 9.9 | 1.10 | 6.3 | 1.73 | 10.5 | 1.03 |
| 100000 | 11.0 | 9.7 | 1.13 | 6.3 | 1.76 | 10.9 | 1.02 |
| 131072 | 9.2 | 9.7 | 0.95 | 6.3 | 1.47 | 9.2 | 1.01 |
| 262144 | 8.4 | 8.1 | 1.03 | 6.3 | 1.34 | 8.4 | 0.99 |
| 524288 | 8.0 | 7.7 | 1.04 | 6.3 | 1.28 | 8.0 | 1.00 |
| 1000000 | 7.8 | 7.5 | 1.05 | 6.2 | 1.27 | 7.9 | 0.99 |
| 1048576 | 7.8 | 7.5 | 1.05 | 6.2 | 1.27 | 7.9 | 0.99 |
| 2097152 | 7.5 | 7.1 | 1.06 | 6.2 | 1.20 | 7.5 | 1.00 |
| 4194304 | 6.1 | 6.2 | 0.99 | 4.5 | 1.37 | 6.2 | 0.99 |
| 8388608 | 4.8 | 4.8 | 1.01 | 4.7 | 1.02 | 4.8 | 1.01 |
| 16777216 | 3.7 | 3.5 | 1.06 | 3.7 | 0.99 | 3.7 | 1.00 |
GEMV float
| m×n | Eigen GFLOP/s | Arm Performance Libraries GFLOP/s | Eigen ÷ Arm Performance Libraries | NVPL GFLOP/s | Eigen ÷ NVPL | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|---|---|---|---|
| 2x2 | 1.0 | 0.2 | 4.23 | 0.1 | 7.69 | 0.5 | 1.94 |
| 3x3 | 1.9 | 0.5 | 3.46 | 0.3 | 6.60 | 0.8 | 2.25 |
| 4x4 | 5.2 | 0.9 | 5.52 | 0.5 | 10.59 | 1.9 | 2.66 |
| 6x6 | 5.9 | 2.0 | 2.97 | 1.0 | 6.12 | 2.4 | 2.51 |
| 8x8 | 14.4 | 3.4 | 4.17 | 2.2 | 6.57 | 4.5 | 3.23 |
| 12x12 | 24.5 | 5.7 | 4.31 | 3.7 | 6.60 | 6.4 | 3.84 |
| 16x16 | 32.2 | 8.7 | 3.69 | 7.2 | 4.44 | 7.6 | 4.25 |
| 24x24 | 32.6 | 15.7 | 2.08 | 12.9 | 2.53 | 10.0 | 3.26 |
| 32x32 | 43.6 | 21.2 | 2.06 | 17.5 | 2.48 | 12.6 | 3.45 |
| 48x48 | 46.2 | 29.6 | 1.56 | 24.0 | 1.92 | 16.8 | 2.74 |
| 64x64 | 48.0 | 32.5 | 1.47 | 28.3 | 1.69 | 21.2 | 2.27 |
| 96x96 | 48.8 | 35.9 | 1.36 | 31.9 | 1.53 | 24.2 | 2.01 |
| 100x100 | 43.8 | 38.6 | 1.13 | 32.8 | 1.34 | 24.2 | 1.81 |
| 128x128 | 43.7 | 36.3 | 1.20 | 32.9 | 1.33 | 24.4 | 1.79 |
| 192x192 | 35.1 | 31.5 | 1.11 | 31.6 | 1.11 | 24.0 | 1.47 |
| 200x200 | 34.7 | 38.3 | 0.91 | 35.3 | 0.98 | 23.4 | 1.49 |
| 256x256 | 33.7 | 30.8 | 1.10 | 31.1 | 1.08 | 23.8 | 1.41 |
| 257x257 | 26.6 | 25.1 | 1.06 | 24.2 | 1.10 | 20.9 | 1.28 |
| 384x384 | 30.8 | 29.6 | 1.04 | 26.9 | 1.14 | 23.5 | 1.31 |
| 500x500 | 28.9 | 31.8 | 0.91 | 30.4 | 0.95 | 22.3 | 1.30 |
| 512x512 | 29.5 | 26.5 | 1.11 | 26.5 | 1.11 | 22.2 | 1.33 |
| 768x768 | 28.8 | 25.8 | 1.12 | 26.8 | 1.08 | 22.7 | 1.27 |
| 1000x1000 | 28.3 | 29.8 | 0.95 | 28.2 | 1.01 | 22.7 | 1.25 |
| 1001x1001 | 26.1 | 27.6 | 0.95 | 26.3 | 0.99 | 20.5 | 1.27 |
| 1024x1024 | 22.4 | 22.6 | 0.99 | 25.8 | 0.87 | 22.5 | 0.99 |
| 1536x1536 | 26.7 | 25.7 | 1.04 | 26.8 | 1.00 | 22.7 | 1.18 |
| 2048x2048 | 18.9 | 21.0 | 0.90 | 24.3 | 0.78 | 22.8 | 0.83 |
| 3072x3072 | 22.6 | 21.8 | 1.04 | 25.2 | 0.90 | 20.6 | 1.10 |
| 4096x4096 | 16.2 | 17.1 | 0.95 | 16.5 | 0.98 | 13.1 | 1.23 |
| 4097x4097 | 14.7 | 11.1 | 1.32 | 13.7 | 1.07 | 12.4 | 1.18 |
| 6144x6144 | 15.4 | 17.4 | 0.88 | 17.9 | 0.86 | 10.7 | 1.44 |
| 8192x8192 | 12.9 | 13.6 | 0.95 | 13.9 | 0.93 | 10.0 | 1.28 |
| 12288x12288 | 11.3 | 11.8 | 0.96 | 12.0 | 0.94 | 9.5 | 1.19 |
| 16384x16384 | 11.2 | 11.1 | 1.01 | 11.4 | 0.99 | 9.2 | 1.21 |
| 8x10000 | 27.3 | 17.5 | 1.57 | 15.7 | 1.74 | 4.0 | 6.89 |
| 100x10000 | 22.3 | 23.5 | 0.95 | 22.2 | 1.00 | 22.0 | 1.01 |
| 1000x10000 | 24.5 | 26.0 | 0.94 | 24.2 | 1.01 | 19.0 | 1.29 |
| 4000x10000 | 16.6 | 17.4 | 0.96 | 17.2 | 0.97 | 10.6 | 1.57 |
| 10000x8 | 37.6 | 36.2 | 1.04 | 37.8 | 1.00 | 22.9 | 1.65 |
| 10000x100 | 23.0 | 32.0 | 0.72 | 32.4 | 0.71 | 22.4 | 1.02 |
| 10000x1000 | 27.0 | 25.9 | 1.04 | 26.3 | 1.03 | 20.3 | 1.33 |
| 10000x4000 | 17.8 | 18.4 | 0.97 | 18.3 | 0.98 | 10.6 | 1.68 |
GEMV double
| m×n | Eigen GFLOP/s | Arm Performance Libraries GFLOP/s | Eigen ÷ Arm Performance Libraries | NVPL GFLOP/s | Eigen ÷ NVPL | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|---|---|---|---|
| 2x2 | 1.5 | 0.2 | 6.00 | 0.1 | 10.88 | 0.5 | 2.79 |
| 3x3 | 2.3 | 0.5 | 4.13 | 0.3 | 8.03 | 0.8 | 2.72 |
| 4x4 | 4.6 | 0.9 | 4.82 | 0.5 | 9.67 | 1.9 | 2.46 |
| 6x6 | 8.0 | 2.0 | 3.97 | 1.0 | 8.29 | 2.3 | 3.43 |
| 8x8 | 11.8 | 2.7 | 4.45 | 2.1 | 5.67 | 4.3 | 2.79 |
| 12x12 | 14.5 | 5.3 | 2.75 | 3.4 | 4.28 | 6.0 | 2.41 |
| 16x16 | 19.1 | 7.4 | 2.58 | 6.0 | 3.17 | 7.3 | 2.60 |
| 24x24 | 21.5 | 11.6 | 1.84 | 9.5 | 2.27 | 9.3 | 2.30 |
| 32x32 | 22.8 | 13.8 | 1.65 | 12.0 | 1.90 | 11.3 | 2.02 |
| 48x48 | 23.9 | 16.6 | 1.44 | 15.2 | 1.57 | 11.9 | 2.00 |
| 64x64 | 24.1 | 18.2 | 1.32 | 16.4 | 1.47 | 12.2 | 1.98 |
| 96x96 | 20.8 | 17.5 | 1.19 | 16.7 | 1.25 | 12.2 | 1.71 |
| 100x100 | 18.9 | 19.5 | 0.97 | 17.5 | 1.08 | 12.1 | 1.56 |
| 128x128 | 18.1 | 15.9 | 1.13 | 16.1 | 1.12 | 12.2 | 1.49 |
| 192x192 | 16.6 | 15.4 | 1.08 | 15.5 | 1.07 | 12.0 | 1.39 |
| 200x200 | 16.6 | 18.0 | 0.92 | 17.5 | 0.95 | 11.6 | 1.43 |
| 256x256 | 16.3 | 14.4 | 1.13 | 14.3 | 1.14 | 11.8 | 1.38 |
| 257x257 | 13.9 | 14.3 | 0.98 | 13.1 | 1.06 | 10.8 | 1.29 |
| 384x384 | 15.9 | 13.8 | 1.16 | 14.0 | 1.14 | 11.0 | 1.45 |
| 500x500 | 15.4 | 16.0 | 0.96 | 15.2 | 1.02 | 10.7 | 1.44 |
| 512x512 | 11.9 | 11.7 | 1.02 | 13.7 | 0.87 | 10.8 | 1.10 |
| 768x768 | 13.8 | 13.1 | 1.06 | 13.8 | 1.00 | 10.9 | 1.26 |
| 1000x1000 | 14.1 | 14.7 | 0.96 | 14.0 | 1.00 | 10.8 | 1.31 |
| 1001x1001 | 13.9 | 14.5 | 0.96 | 13.8 | 1.01 | 10.5 | 1.33 |
| 1024x1024 | 9.6 | 10.5 | 0.91 | 12.1 | 0.79 | 10.8 | 0.89 |
| 1536x1536 | 11.3 | 11.5 | 0.98 | 12.8 | 0.88 | 10.6 | 1.07 |
| 2048x2048 | 8.8 | 8.6 | 1.03 | 11.0 | 0.80 | 10.7 | 0.83 |
| 3072x3072 | 9.0 | 9.0 | 1.00 | 9.4 | 0.96 | 6.8 | 1.33 |
| 4096x4096 | 7.9 | 8.1 | 0.97 | 8.8 | 0.90 | 5.4 | 1.44 |
| 4097x4097 | 7.5 | 7.1 | 1.06 | 8.0 | 0.94 | 5.4 | 1.40 |
| 6144x6144 | 6.3 | 6.5 | 0.96 | 6.7 | 0.93 | 4.9 | 1.27 |
| 8192x8192 | 6.0 | 5.9 | 1.01 | 6.1 | 0.98 | 4.7 | 1.27 |
| 12288x12288 | 5.6 | 5.6 | 1.01 | 5.7 | 0.99 | 4.6 | 1.22 |
| 16384x16384 | 5.5 | 5.4 | 1.01 | 5.3 | 1.03 | 4.6 | 1.21 |
| 8x10000 | 15.4 | 12.3 | 1.25 | 10.3 | 1.50 | 4.9 | 3.13 |
| 100x10000 | 11.2 | 12.2 | 0.92 | 12.4 | 0.91 | 10.1 | 1.11 |
| 1000x10000 | 11.8 | 11.1 | 1.05 | 9.8 | 1.20 | 6.7 | 1.76 |
| 4000x10000 | 6.6 | 6.8 | 0.96 | 6.8 | 0.97 | 4.9 | 1.33 |
| 10000x8 | 18.0 | 16.2 | 1.11 | 15.9 | 1.13 | 9.4 | 1.92 |
| 10000x100 | 12.2 | 15.2 | 0.80 | 15.1 | 0.81 | 9.5 | 1.29 |
| 10000x1000 | 10.7 | 12.7 | 0.84 | 12.7 | 0.84 | 6.4 | 1.68 |
| 10000x4000 | 6.6 | 6.8 | 0.97 | 6.9 | 0.96 | 4.9 | 1.35 |
GEMM float
| m×n×k | Eigen GFLOP/s | Arm Performance Libraries GFLOP/s | Eigen ÷ Arm Performance Libraries | NVPL GFLOP/s | Eigen ÷ NVPL | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|---|---|---|---|
| 2x2x2 | 1.3 | 0.5 | 2.42 | 0.2 | 5.93 | 0.3 | 3.90 |
| 3x3x3 | 1.9 | 1.1 | 1.85 | 0.7 | 2.81 | 1.0 | 2.02 |
| 4x4x4 | 10.2 | 1.9 | 5.28 | 1.5 | 6.76 | 2.3 | 4.39 |
| 6x6x6 | 7.2 | 3.4 | 2.11 | 4.2 | 1.71 | 5.4 | 1.32 |
| 8x8x8 | 11.7 | 5.7 | 2.07 | 11.1 | 1.06 | 12.1 | 0.97 |
| 12x12x12 | 20.2 | 7.9 | 2.56 | 16.9 | 1.19 | 21.3 | 0.95 |
| 16x16x16 | 27.6 | 15.4 | 1.79 | 32.8 | 0.84 | 35.3 | 0.78 |
| 24x24x24 | 40.5 | 33.7 | 1.20 | 56.4 | 0.72 | 51.0 | 0.79 |
| 32x32x32 | 46.8 | 45.7 | 1.02 | 67.4 | 0.69 | 57.0 | 0.82 |
| 48x48x48 | 56.7 | 62.4 | 0.91 | 79.8 | 0.71 | 64.1 | 0.88 |
| 64x64x64 | 59.9 | 67.1 | 0.89 | 82.2 | 0.73 | 65.8 | 0.91 |
| 96x96x96 | 67.1 | 78.4 | 0.86 | 88.7 | 0.76 | 68.3 | 0.98 |
| 100x100x100 | 66.3 | 76.6 | 0.87 | 84.1 | 0.79 | 68.6 | 0.97 |
| 128x128x128 | 70.0 | 82.6 | 0.85 | 90.9 | 0.77 | 68.8 | 1.02 |
| 160x160x160 | 72.3 | 85.7 | 0.84 | 91.7 | 0.79 | 70.7 | 1.02 |
| 192x192x192 | 74.1 | 88.2 | 0.84 | 93.2 | 0.80 | 71.4 | 1.04 |
| 200x200x200 | 75.0 | 89.5 | 0.84 | 92.8 | 0.81 | 71.0 | 1.06 |
| 224x224x224 | 75.3 | 88.7 | 0.85 | 93.4 | 0.81 | 71.7 | 1.05 |
| 256x256x256 | 74.8 | 88.4 | 0.85 | 92.1 | 0.81 | 71.2 | 1.05 |
| 257x257x257 | 72.8 | 86.3 | 0.84 | 89.1 | 0.82 | 70.5 | 1.03 |
| 288x288x288 | 75.1 | 89.3 | 0.84 | 93.7 | 0.80 | 72.3 | 1.04 |
| 320x320x320 | 75.6 | 89.4 | 0.85 | 93.6 | 0.81 | 71.5 | 1.06 |
| 384x384x384 | 76.2 | 90.7 | 0.84 | 93.0 | 0.82 | 71.4 | 1.07 |
| 448x448x448 | 77.4 | 91.0 | 0.85 | 93.6 | 0.83 | 71.7 | 1.08 |
| 500x500x500 | 78.3 | 91.7 | 0.85 | 94.8 | 0.83 | 72.1 | 1.09 |
| 512x512x512 | 77.5 | 92.6 | 0.84 | 94.4 | 0.82 | 71.4 | 1.09 |
| 768x768x768 | 78.6 | 94.7 | 0.83 | 95.5 | 0.82 | 71.9 | 1.09 |
| 1000x1000x1000 | 79.5 | 94.6 | 0.84 | 96.3 | 0.82 | 72.0 | 1.10 |
| 1001x1001x1001 | 79.0 | 93.9 | 0.84 | 95.7 | 0.83 | 72.3 | 1.09 |
| 1024x1024x1024 | 77.6 | 94.2 | 0.82 | 95.1 | 0.82 | 70.7 | 1.10 |
| 1536x1536x1536 | 77.3 | 94.8 | 0.81 | 96.5 | 0.80 | 72.0 | 1.07 |
| 2048x2048x2048 | 79.3 | 94.8 | 0.84 | 96.3 | 0.82 | 72.0 | 1.10 |
| 3072x3072x3072 | 79.1 | 94.2 | 0.84 | 96.4 | 0.82 | 72.0 | 1.10 |
| 4096x4096x4096 | 78.3 | 92.5 | 0.85 | 95.6 | 0.82 | 70.9 | 1.10 |
| 4097x4097x4097 | 78.2 | 91.3 | 0.86 | 95.1 | 0.82 | 70.4 | 1.11 |
| 64x64x1024 | 60.6 | 76.3 | 0.79 | 71.8 | 0.84 | 61.2 | 0.99 |
| 64x1024x64 | 61.1 | 71.9 | 0.85 | 86.1 | 0.71 | 67.1 | 0.91 |
| 256x256x1024 | 74.0 | 89.4 | 0.83 | 89.8 | 0.82 | 69.7 | 1.06 |
| 1024x64x64 | 70.2 | 23.6 | 2.97 | 79.1 | 0.89 | 60.8 | 1.15 |
| 1024x256x256 | 75.7 | 89.4 | 0.85 | 90.4 | 0.84 | 69.2 | 1.09 |
| 4096x96x96 | 70.7 | 81.0 | 0.87 | 81.0 | 0.87 | 61.6 | 1.15 |
| 4096x128x128 | 72.5 | 83.8 | 0.87 | 84.3 | 0.86 | 64.3 | 1.13 |
| 4096x144x144 | 72.2 | 85.1 | 0.85 | 84.8 | 0.85 | 64.9 | 1.11 |
| 4096x160x160 | 73.0 | 85.7 | 0.85 | 85.2 | 0.86 | 65.9 | 1.11 |
| 4096x176x176 | 73.8 | 86.8 | 0.85 | 87.2 | 0.85 | 66.5 | 1.11 |
| 8192x128x128 | 72.0 | 83.9 | 0.86 | 84.8 | 0.85 | 64.1 | 1.12 |
| 10000x8x8 | 40.0 | 32.5 | 1.23 | 38.9 | 1.03 | 46.3 | 0.86 |
| 10000x100x100 | 73.0 | 81.2 | 0.90 | 87.5 | 0.84 | 68.6 | 1.06 |
| 10000x1000x1000 | 75.4 | 94.1 | 0.80 | 96.7 | 0.78 | 73.2 | 1.03 |
| 10000x4000x4000 | 78.2 | 91.7 | 0.85 | 96.5 | 0.81 | 71.6 | 1.09 |
GEMM double
| m×n×k | Eigen GFLOP/s | Arm Performance Libraries GFLOP/s | Eigen ÷ Arm Performance Libraries | NVPL GFLOP/s | Eigen ÷ NVPL | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|---|---|---|---|
| 2x2x2 | 2.3 | 0.4 | 5.23 | 0.2 | 10.67 | 0.3 | 6.95 |
| 3x3x3 | 3.3 | 1.6 | 2.07 | 0.6 | 5.29 | 0.9 | 3.56 |
| 4x4x4 | 6.2 | 2.0 | 3.19 | 1.3 | 4.70 | 2.2 | 2.89 |
| 6x6x6 | 8.4 | 3.0 | 2.80 | 3.8 | 2.20 | 5.0 | 1.68 |
| 8x8x8 | 9.6 | 5.0 | 1.94 | 6.7 | 1.44 | 9.6 | 1.00 |
| 12x12x12 | 16.3 | 7.1 | 2.30 | 12.1 | 1.35 | 16.0 | 1.02 |
| 16x16x16 | 22.0 | 11.5 | 1.92 | 20.4 | 1.08 | 22.2 | 0.99 |
| 24x24x24 | 28.8 | 22.2 | 1.30 | 30.7 | 0.94 | 28.5 | 1.01 |
| 32x32x32 | 31.3 | 24.7 | 1.27 | 34.2 | 0.91 | 30.6 | 1.02 |
| 48x48x48 | 34.0 | 33.7 | 1.01 | 39.3 | 0.87 | 32.5 | 1.05 |
| 64x64x64 | 34.8 | 36.4 | 0.96 | 39.8 | 0.87 | 33.3 | 1.05 |
| 96x96x96 | 37.5 | 40.9 | 0.92 | 43.1 | 0.87 | 34.3 | 1.09 |
| 100x100x100 | 37.7 | 40.2 | 0.94 | 41.2 | 0.92 | 34.9 | 1.08 |
| 128x128x128 | 37.5 | 41.0 | 0.92 | 44.1 | 0.85 | 34.7 | 1.08 |
| 160x160x160 | 38.3 | 42.2 | 0.91 | 43.4 | 0.88 | 35.0 | 1.09 |
| 192x192x192 | 35.4 | 43.2 | 0.82 | 43.1 | 0.82 | 35.3 | 1.00 |
| 200x200x200 | 38.1 | 42.6 | 0.89 | 43.6 | 0.87 | 36.0 | 1.06 |
| 224x224x224 | 37.5 | 42.9 | 0.87 | 43.6 | 0.86 | 35.5 | 1.05 |
| 256x256x256 | 36.3 | 43.6 | 0.83 | 43.5 | 0.83 | 35.1 | 1.03 |
| 257x257x257 | 35.6 | 43.5 | 0.82 | 43.0 | 0.83 | 35.1 | 1.01 |
| 288x288x288 | 36.4 | 44.5 | 0.82 | 44.6 | 0.82 | 35.3 | 1.03 |
| 320x320x320 | 36.1 | 44.1 | 0.82 | 44.8 | 0.81 | 35.6 | 1.01 |
| 384x384x384 | 37.3 | 45.3 | 0.82 | 45.4 | 0.82 | 35.5 | 1.05 |
| 448x448x448 | 35.9 | 44.9 | 0.80 | 45.6 | 0.79 | 35.8 | 1.00 |
| 500x500x500 | 37.2 | 44.4 | 0.84 | 45.5 | 0.82 | 36.0 | 1.03 |
| 512x512x512 | 35.2 | 44.0 | 0.80 | 45.1 | 0.78 | 35.2 | 1.00 |
| 768x768x768 | 35.4 | 45.7 | 0.77 | 45.6 | 0.78 | 35.5 | 1.00 |
| 1000x1000x1000 | 36.8 | 45.7 | 0.81 | 46.4 | 0.79 | 36.2 | 1.02 |
| 1001x1001x1001 | 36.5 | 45.6 | 0.80 | 46.3 | 0.79 | 36.3 | 1.01 |
| 1024x1024x1024 | 34.0 | 45.2 | 0.75 | 45.0 | 0.76 | 34.9 | 0.98 |
| 1536x1536x1536 | 34.7 | 46.2 | 0.75 | 46.5 | 0.75 | 36.0 | 0.96 |
| 2048x2048x2048 | 35.6 | 45.5 | 0.78 | 46.4 | 0.77 | 35.8 | 1.00 |
| 3072x3072x3072 | 34.9 | 45.3 | 0.77 | 45.8 | 0.76 | 35.6 | 0.98 |
| 4096x4096x4096 | 35.3 | 45.3 | 0.78 | 45.5 | 0.77 | 34.5 | 1.02 |
| 4097x4097x4097 | 35.4 | 45.4 | 0.78 | 45.6 | 0.78 | 34.5 | 1.03 |
| 64x64x1024 | 34.2 | 37.2 | 0.92 | 38.4 | 0.89 | 31.4 | 1.09 |
| 64x1024x64 | 35.3 | 39.2 | 0.90 | 39.4 | 0.90 | 34.3 | 1.03 |
| 256x256x1024 | 36.5 | 43.3 | 0.84 | 44.0 | 0.83 | 34.6 | 1.05 |
| 1024x64x64 | 33.3 | 38.2 | 0.87 | 37.7 | 0.88 | 30.1 | 1.11 |
| 1024x256x256 | 36.0 | 44.2 | 0.81 | 44.3 | 0.81 | 34.2 | 1.05 |
| 4096x96x96 | 34.2 | 41.4 | 0.83 | 40.8 | 0.84 | 30.6 | 1.12 |
| 4096x128x128 | 35.0 | 41.4 | 0.84 | 42.2 | 0.83 | 31.8 | 1.10 |
| 4096x144x144 | 35.5 | 42.8 | 0.83 | 42.9 | 0.83 | 32.2 | 1.10 |
| 4096x160x160 | 35.5 | 42.7 | 0.83 | 42.8 | 0.83 | 32.3 | 1.10 |
| 4096x176x176 | 35.5 | 42.7 | 0.83 | 43.4 | 0.82 | 32.7 | 1.09 |
| 8192x128x128 | 34.4 | 41.2 | 0.83 | 41.9 | 0.82 | 31.6 | 1.09 |
| 10000x8x8 | 19.0 | 16.7 | 1.14 | 19.2 | 0.99 | 22.6 | 0.84 |
| 10000x100x100 | 35.4 | 41.9 | 0.85 | 40.7 | 0.87 | 33.7 | 1.05 |
| 10000x1000x1000 | 35.7 | 45.4 | 0.79 | 45.9 | 0.78 | 36.4 | 0.98 |
| 10000x4000x4000 | 34.8 | 45.4 | 0.77 | 45.7 | 0.76 | 35.4 | 0.98 |
TRSM float
| m×n | Eigen GFLOP/s | Arm Performance Libraries GFLOP/s | Eigen ÷ Arm Performance Libraries | NVPL GFLOP/s | Eigen ÷ NVPL | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|---|---|---|---|
| 2x2 | 0.3 | 0.3 | 1.14 | 0.0 | 52.24 | 0.2 | 1.44 |
| 3x3 | 0.7 | 0.7 | 1.05 | 0.0 | 37.66 | 0.5 | 1.28 |
| 4x4 | 2.2 | 1.9 | 1.18 | 0.0 | 54.16 | 1.1 | 2.07 |
| 6x6 | 3.5 | 1.7 | 2.13 | 0.1 | 27.83 | 1.9 | 1.85 |
| 8x8 | 6.8 | 2.0 | 3.46 | 0.3 | 24.31 | 3.7 | 1.83 |
| 12x12 | 9.4 | 4.6 | 2.05 | 0.8 | 12.08 | 5.7 | 1.65 |
| 16x16 | 11.5 | 5.0 | 2.32 | 1.4 | 8.15 | 8.7 | 1.32 |
| 24x24 | 14.7 | 7.8 | 1.88 | 3.7 | 3.96 | 13.3 | 1.10 |
| 32x32 | 17.3 | 8.8 | 1.96 | 5.4 | 3.18 | 16.4 | 1.05 |
| 48x48 | 21.3 | 11.9 | 1.79 | 10.6 | 2.02 | 22.0 | 0.97 |
| 64x64 | 24.2 | 12.5 | 1.93 | 13.4 | 1.81 | 25.9 | 0.93 |
| 96x96 | 27.9 | 30.0 | 0.93 | 21.5 | 1.30 | 31.7 | 0.88 |
| 100x100 | 28.0 | 29.6 | 0.95 | 20.3 | 1.38 | 32.2 | 0.87 |
| 128x128 | 29.9 | 38.3 | 0.78 | 26.7 | 1.12 | 35.4 | 0.85 |
| 192x192 | 37.7 | 50.1 | 0.75 | 36.0 | 1.05 | 40.2 | 0.94 |
| 200x200 | 38.4 | 52.4 | 0.73 | 37.2 | 1.03 | 41.1 | 0.93 |
| 256x256 | 45.1 | 52.7 | 0.85 | 42.4 | 1.06 | 43.3 | 1.04 |
| 257x257 | 42.9 | 53.9 | 0.80 | 41.2 | 1.04 | 42.4 | 1.01 |
| 384x384 | 48.7 | 60.3 | 0.81 | 52.5 | 0.93 | 46.4 | 1.05 |
| 500x500 | 55.2 | 66.9 | 0.83 | 58.5 | 0.94 | 48.2 | 1.15 |
| 512x512 | 53.9 | 62.4 | 0.86 | 59.4 | 0.91 | 48.1 | 1.12 |
| 768x768 | 60.2 | 71.6 | 0.84 | 68.8 | 0.87 | 54.3 | 1.11 |
| 1000x1000 | 64.4 | 77.1 | 0.84 | 73.9 | 0.87 | 58.3 | 1.11 |
| 1001x1001 | 63.3 | 74.2 | 0.85 | 72.9 | 0.87 | 57.7 | 1.10 |
| 1024x1024 | 63.1 | 68.0 | 0.93 | 73.6 | 0.86 | 57.8 | 1.09 |
| 1536x1536 | 67.6 | 78.3 | 0.86 | 80.5 | 0.84 | 61.9 | 1.09 |
| 2048x2048 | 68.9 | 74.0 | 0.93 | 83.8 | 0.82 | 63.9 | 1.08 |
| 3072x3072 | 70.5 | 76.9 | 0.92 | 86.9 | 0.81 | 66.1 | 1.07 |
| 4096x4096 | 71.0 | 78.5 | 0.90 | 88.1 | 0.81 | 66.5 | 1.07 |
| 4097x4097 | 67.9 | 82.5 | 0.82 | 87.8 | 0.77 | 66.3 | 1.02 |
| 64x4096 | 23.5 | 25.1 | 0.94 | 15.9 | 1.47 | 26.1 | 0.90 |
| 256x4096 | 43.4 | 47.6 | 0.91 | 43.6 | 0.99 | 43.5 | 1.00 |
| 1024x8 | 33.7 | 23.4 | 1.44 | 25.1 | 1.34 | 18.2 | 1.85 |
| 1024x64 | 57.5 | 50.2 | 1.15 | 58.6 | 0.98 | 45.6 | 1.26 |
| 1024x256 | 61.9 | 65.1 | 0.95 | 69.7 | 0.89 | 54.9 | 1.13 |
| 1024x4096 | 63.0 | 63.5 | 0.99 | 73.6 | 0.86 | 57.6 | 1.09 |
| 4096x8 | 30.8 | 23.8 | 1.30 | 28.9 | 1.07 | 20.9 | 1.48 |
| 4096x64 | 63.0 | 59.9 | 1.05 | 67.8 | 0.93 | 52.7 | 1.19 |
| 4096x256 | 70.3 | 70.4 | 1.00 | 82.6 | 0.85 | 63.3 | 1.11 |
| 4096x1024 | 71.9 | 79.2 | 0.91 | 87.8 | 0.82 | 66.5 | 1.08 |
TRSM double
| m×n | Eigen GFLOP/s | Arm Performance Libraries GFLOP/s | Eigen ÷ Arm Performance Libraries | NVPL GFLOP/s | Eigen ÷ NVPL | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|---|---|---|---|
| 2x2 | 0.4 | 0.3 | 1.45 | 0.0 | 62.00 | 0.2 | 1.90 |
| 3x3 | 1.0 | 0.6 | 1.59 | 0.0 | 50.33 | 0.4 | 2.35 |
| 4x4 | 3.0 | 2.0 | 1.44 | 0.0 | 69.15 | 0.9 | 3.12 |
| 6x6 | 4.6 | 1.4 | 3.19 | 0.1 | 34.61 | 1.8 | 2.63 |
| 8x8 | 6.9 | 3.6 | 1.95 | 0.3 | 25.24 | 3.3 | 2.11 |
| 12x12 | 9.5 | 4.3 | 2.19 | 0.7 | 13.02 | 5.0 | 1.91 |
| 16x16 | 10.9 | 5.1 | 2.13 | 1.4 | 7.59 | 7.2 | 1.52 |
| 24x24 | 13.4 | 6.2 | 2.15 | 3.3 | 4.00 | 10.2 | 1.31 |
| 32x32 | 14.7 | 6.8 | 2.16 | 4.9 | 3.01 | 12.3 | 1.20 |
| 48x48 | 16.3 | 8.1 | 2.01 | 8.8 | 1.84 | 15.5 | 1.05 |
| 64x64 | 17.1 | 11.5 | 1.49 | 11.4 | 1.51 | 17.4 | 0.99 |
| 96x96 | 18.0 | 20.7 | 0.87 | 16.5 | 1.09 | 19.9 | 0.90 |
| 100x100 | 18.0 | 21.7 | 0.83 | 15.8 | 1.14 | 20.2 | 0.90 |
| 128x128 | 17.4 | 23.2 | 0.75 | 19.4 | 0.89 | 21.0 | 0.83 |
| 192x192 | 24.4 | 26.7 | 0.92 | 24.7 | 0.99 | 22.9 | 1.06 |
| 200x200 | 25.2 | 28.3 | 0.89 | 25.0 | 1.01 | 23.4 | 1.07 |
| 256x256 | 24.4 | 25.5 | 0.96 | 27.0 | 0.91 | 23.2 | 1.05 |
| 257x257 | 24.1 | 25.5 | 0.95 | 26.3 | 0.92 | 22.7 | 1.06 |
| 384x384 | 27.3 | 28.5 | 0.96 | 32.1 | 0.85 | 26.0 | 1.05 |
| 500x500 | 29.6 | 31.2 | 0.95 | 34.2 | 0.87 | 28.5 | 1.04 |
| 512x512 | 28.6 | 29.5 | 0.97 | 34.7 | 0.82 | 28.0 | 1.02 |
| 768x768 | 31.3 | 32.2 | 0.97 | 37.8 | 0.83 | 30.4 | 1.03 |
| 1000x1000 | 32.6 | 35.1 | 0.93 | 39.6 | 0.82 | 31.8 | 1.03 |
| 1001x1001 | 32.3 | 33.7 | 0.96 | 39.2 | 0.82 | 31.7 | 1.02 |
| 1024x1024 | 31.8 | 33.6 | 0.95 | 38.7 | 0.82 | 31.2 | 1.02 |
| 1536x1536 | 33.3 | 37.5 | 0.89 | 41.7 | 0.80 | 33.1 | 1.01 |
| 2048x2048 | 32.8 | 37.8 | 0.87 | 42.0 | 0.78 | 33.1 | 0.99 |
| 3072x3072 | 33.6 | 39.4 | 0.85 | 42.7 | 0.79 | 33.9 | 0.99 |
| 4096x4096 | 33.9 | 39.8 | 0.85 | 43.3 | 0.78 | 33.9 | 1.00 |
| 4097x4097 | 33.5 | 40.2 | 0.83 | 43.2 | 0.77 | 33.8 | 0.99 |
| 64x4096 | 16.0 | 15.4 | 1.04 | 12.5 | 1.28 | 17.0 | 0.94 |
| 256x4096 | 24.0 | 25.5 | 0.94 | 27.5 | 0.87 | 23.8 | 1.01 |
| 1024x8 | 17.2 | 15.7 | 1.10 | 14.8 | 1.17 | 10.2 | 1.68 |
| 1024x64 | 29.5 | 31.4 | 0.94 | 33.2 | 0.89 | 25.1 | 1.17 |
| 1024x256 | 31.4 | 35.4 | 0.89 | 38.1 | 0.82 | 29.8 | 1.05 |
| 1024x4096 | 31.9 | 34.1 | 0.93 | 39.0 | 0.82 | 31.2 | 1.02 |
| 4096x8 | 13.8 | 14.1 | 0.98 | 12.7 | 1.09 | 9.4 | 1.47 |
| 4096x64 | 31.2 | 32.1 | 0.97 | 33.8 | 0.92 | 26.1 | 1.19 |
| 4096x256 | 33.9 | 38.9 | 0.87 | 41.4 | 0.82 | 32.2 | 1.05 |
| 4096x1024 | 33.8 | 39.1 | 0.86 | 43.3 | 0.78 | 33.9 | 1.00 |
SYRK float
| n×k | Eigen GFLOP/s | Arm Performance Libraries GFLOP/s | Eigen ÷ Arm Performance Libraries | NVPL GFLOP/s | Eigen ÷ NVPL | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|---|---|---|---|
| 2x2 | 0.2 | 0.0 | 4.08 | 0.0 | 19.30 | 0.2 | 0.91 |
| 3x3 | 0.4 | 0.1 | 3.71 | 0.0 | 17.56 | 0.4 | 0.95 |
| 4x4 | 1.0 | 0.2 | 4.39 | 0.1 | 20.19 | 0.9 | 1.16 |
| 6x6 | 2.1 | 0.7 | 3.01 | 0.2 | 13.06 | 2.0 | 1.04 |
| 8x8 | 5.3 | 1.5 | 3.56 | 0.4 | 14.68 | 3.9 | 1.34 |
| 12x12 | 8.6 | 3.7 | 2.33 | 1.1 | 7.91 | 7.1 | 1.21 |
| 16x16 | 15.7 | 6.9 | 2.26 | 2.3 | 6.70 | 10.9 | 1.44 |
| 24x24 | 25.0 | 15.5 | 1.62 | 6.8 | 3.70 | 21.7 | 1.15 |
| 32x32 | 32.9 | 23.7 | 1.39 | 13.0 | 2.53 | 27.2 | 1.21 |
| 48x48 | 43.4 | 35.6 | 1.22 | 28.4 | 1.53 | 39.2 | 1.11 |
| 64x64 | 50.7 | 44.8 | 1.13 | 40.9 | 1.24 | 46.1 | 1.10 |
| 96x96 | 58.1 | 58.7 | 0.99 | 59.8 | 0.97 | 54.2 | 1.07 |
| 100x100 | 57.7 | 53.6 | 1.08 | 56.8 | 1.02 | 56.1 | 1.03 |
| 128x128 | 61.7 | 63.0 | 0.98 | 69.0 | 0.89 | 58.9 | 1.05 |
| 192x192 | 68.5 | 73.4 | 0.93 | 79.0 | 0.87 | 64.2 | 1.07 |
| 200x200 | 69.9 | 73.5 | 0.95 | 81.1 | 0.86 | 66.2 | 1.06 |
| 256x256 | 69.4 | 77.8 | 0.89 | 82.1 | 0.85 | 65.2 | 1.07 |
| 257x257 | 66.3 | 74.2 | 0.89 | 77.7 | 0.85 | 64.5 | 1.03 |
| 384x384 | 71.2 | 82.0 | 0.87 | 86.2 | 0.83 | 67.2 | 1.06 |
| 500x500 | 72.4 | 82.9 | 0.87 | 87.7 | 0.83 | 68.9 | 1.05 |
| 512x512 | 71.2 | 80.9 | 0.88 | 88.3 | 0.81 | 68.3 | 1.04 |
| 768x768 | 75.1 | 84.5 | 0.89 | 91.7 | 0.82 | 70.8 | 1.06 |
| 1000x1000 | 77.3 | 86.6 | 0.89 | 93.8 | 0.82 | 71.9 | 1.07 |
| 1001x1001 | 76.3 | 86.3 | 0.88 | 92.1 | 0.83 | 71.1 | 1.07 |
| 1024x1024 | 74.4 | 82.4 | 0.90 | 91.7 | 0.81 | 70.3 | 1.06 |
| 1536x1536 | 78.6 | 86.8 | 0.91 | 95.1 | 0.83 | 72.5 | 1.08 |
| 2048x2048 | 78.4 | 86.8 | 0.90 | 94.6 | 0.83 | 72.3 | 1.08 |
| 3072x3072 | 79.1 | 87.6 | 0.90 | 95.1 | 0.83 | 73.0 | 1.08 |
| 4096x4096 | 78.7 | 87.2 | 0.90 | 94.3 | 0.84 | 72.3 | 1.09 |
| 4097x4097 | 78.4 | 87.6 | 0.89 | 93.8 | 0.84 | 72.2 | 1.09 |
| 64x4096 | 48.3 | 54.1 | 0.89 | 54.4 | 0.89 | 46.5 | 1.04 |
| 256x4096 | 66.8 | 73.0 | 0.91 | 81.9 | 0.82 | 63.5 | 1.05 |
| 1024x4096 | 75.0 | 83.2 | 0.90 | 91.7 | 0.82 | 70.2 | 1.07 |
| 4096x8 | 39.3 | 26.5 | 1.48 | 38.3 | 1.03 | 42.8 | 0.92 |
| 4096x64 | 72.1 | 73.4 | 0.98 | 82.0 | 0.88 | 69.3 | 1.04 |
| 4096x256 | 78.2 | 85.6 | 0.91 | 93.4 | 0.84 | 72.2 | 1.08 |
| 4096x1024 | 78.5 | 88.2 | 0.89 | 95.0 | 0.83 | 73.0 | 1.08 |
SYRK double
| n×k | Eigen GFLOP/s | Arm Performance Libraries GFLOP/s | Eigen ÷ Arm Performance Libraries | NVPL GFLOP/s | Eigen ÷ NVPL | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|---|---|---|---|
| 2x2 | 0.1 | 0.0 | 4.09 | 0.0 | 17.91 | 0.2 | 0.87 |
| 3x3 | 0.4 | 0.1 | 3.61 | 0.0 | 15.59 | 0.4 | 0.91 |
| 4x4 | 0.8 | 0.2 | 3.85 | 0.1 | 16.37 | 0.8 | 1.00 |
| 6x6 | 2.0 | 0.6 | 3.10 | 0.2 | 12.46 | 1.8 | 1.10 |
| 8x8 | 3.3 | 1.2 | 2.76 | 0.3 | 9.50 | 3.4 | 0.99 |
| 12x12 | 5.5 | 3.1 | 1.78 | 1.0 | 5.36 | 7.0 | 0.78 |
| 16x16 | 8.9 | 5.6 | 1.59 | 2.2 | 4.05 | 10.5 | 0.85 |
| 24x24 | 12.8 | 11.5 | 1.11 | 6.0 | 2.13 | 16.5 | 0.77 |
| 32x32 | 16.3 | 16.1 | 1.01 | 10.4 | 1.58 | 20.6 | 0.79 |
| 48x48 | 20.8 | 22.1 | 0.94 | 19.5 | 1.07 | 25.4 | 0.82 |
| 64x64 | 24.3 | 25.6 | 0.95 | 25.2 | 0.96 | 27.7 | 0.88 |
| 96x96 | 28.3 | 31.4 | 0.90 | 32.9 | 0.86 | 30.6 | 0.92 |
| 100x100 | 28.7 | 30.3 | 0.95 | 31.7 | 0.91 | 31.8 | 0.90 |
| 128x128 | 30.4 | 33.9 | 0.90 | 35.7 | 0.85 | 31.1 | 0.98 |
| 192x192 | 28.7 | 38.2 | 0.75 | 38.8 | 0.74 | 32.2 | 0.89 |
| 200x200 | 31.7 | 36.5 | 0.87 | 38.9 | 0.81 | 32.9 | 0.96 |
| 256x256 | 32.3 | 37.8 | 0.86 | 39.6 | 0.82 | 32.4 | 1.00 |
| 257x257 | 32.1 | 37.6 | 0.85 | 37.8 | 0.85 | 32.5 | 0.99 |
| 384x384 | 33.4 | 39.7 | 0.84 | 42.2 | 0.79 | 33.4 | 1.00 |
| 500x500 | 36.3 | 40.0 | 0.91 | 42.8 | 0.85 | 34.4 | 1.05 |
| 512x512 | 34.3 | 38.1 | 0.90 | 42.4 | 0.81 | 33.2 | 1.03 |
| 768x768 | 37.4 | 40.2 | 0.93 | 44.6 | 0.84 | 35.1 | 1.07 |
| 1000x1000 | 38.4 | 41.0 | 0.94 | 45.6 | 0.84 | 35.9 | 1.07 |
| 1001x1001 | 38.2 | 40.9 | 0.93 | 44.7 | 0.85 | 35.6 | 1.07 |
| 1024x1024 | 37.7 | 39.9 | 0.94 | 44.8 | 0.84 | 34.9 | 1.08 |
| 1536x1536 | 38.4 | 40.9 | 0.94 | 45.4 | 0.85 | 35.8 | 1.07 |
| 2048x2048 | 38.4 | 40.1 | 0.96 | 45.6 | 0.84 | 35.8 | 1.07 |
| 3072x3072 | 38.1 | 39.3 | 0.97 | 45.1 | 0.84 | 36.0 | 1.06 |
| 4096x4096 | 37.7 | 38.6 | 0.98 | 45.0 | 0.84 | 35.3 | 1.07 |
| 4097x4097 | 37.6 | 40.1 | 0.94 | 45.0 | 0.84 | 35.5 | 1.06 |
| 64x4096 | 23.6 | 27.1 | 0.87 | 29.0 | 0.81 | 25.4 | 0.93 |
| 256x4096 | 32.6 | 36.4 | 0.90 | 39.7 | 0.82 | 31.8 | 1.02 |
| 1024x4096 | 37.9 | 39.5 | 0.96 | 44.7 | 0.85 | 35.1 | 1.08 |
| 4096x8 | 18.7 | 15.0 | 1.25 | 23.2 | 0.81 | 22.8 | 0.82 |
| 4096x64 | 34.7 | 34.9 | 0.99 | 41.3 | 0.84 | 31.9 | 1.09 |
| 4096x256 | 37.4 | 39.1 | 0.96 | 45.0 | 0.83 | 35.4 | 1.06 |
| 4096x1024 | 37.7 | 39.4 | 0.96 | 45.2 | 0.83 | 35.2 | 1.07 |
POTRF float
| n | Eigen GFLOP/s | Arm Performance Libraries GFLOP/s | Eigen ÷ Arm Performance Libraries | NVPL GFLOP/s | Eigen ÷ NVPL | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|---|---|---|---|
| 2 | 0.2 | 0.2 | 1.47 | 0.0 | 16.34 | 0.1 | 2.52 |
| 3 | 0.4 | 0.3 | 1.11 | 0.0 | 8.18 | 0.2 | 1.56 |
| 4 | 0.6 | 0.6 | 0.96 | 0.1 | 6.13 | 0.4 | 1.37 |
| 6 | 0.9 | 1.3 | 0.71 | 0.3 | 3.59 | 0.8 | 1.21 |
| 8 | 1.6 | 2.0 | 0.77 | 0.5 | 3.08 | 1.1 | 1.39 |
| 12 | 3.0 | 3.3 | 0.91 | 1.0 | 2.95 | 1.7 | 1.74 |
| 16 | 4.5 | 4.3 | 1.03 | 1.8 | 2.47 | 2.3 | 1.92 |
| 24 | 7.4 | 3.6 | 2.08 | 3.7 | 2.04 | 3.4 | 2.17 |
| 32 | 7.1 | 4.9 | 1.44 | 5.6 | 1.26 | 4.4 | 1.62 |
| 48 | 11.1 | 7.6 | 1.45 | 9.0 | 1.23 | 7.5 | 1.47 |
| 64 | 14.4 | 10.9 | 1.32 | 11.8 | 1.23 | 9.1 | 1.58 |
| 96 | 19.7 | 17.5 | 1.13 | 15.0 | 1.31 | 13.3 | 1.48 |
| 100 | 19.6 | 16.1 | 1.22 | 11.4 | 1.73 | 14.1 | 1.39 |
| 128 | 29.8 | 23.8 | 1.25 | 16.1 | 1.84 | 16.7 | 1.78 |
| 192 | 36.6 | 32.7 | 1.12 | 24.5 | 1.49 | 23.4 | 1.56 |
| 200 | 37.3 | 33.8 | 1.10 | 23.1 | 1.62 | 25.1 | 1.49 |
| 256 | 45.7 | 37.6 | 1.22 | 28.2 | 1.62 | 27.7 | 1.65 |
| 257 | 43.0 | 37.2 | 1.16 | 28.6 | 1.50 | 28.5 | 1.51 |
| 384 | 54.1 | 45.4 | 1.19 | 38.3 | 1.41 | 34.5 | 1.57 |
| 500 | 55.9 | 52.6 | 1.06 | 43.2 | 1.29 | 39.4 | 1.42 |
| 512 | 54.6 | 49.3 | 1.11 | 42.8 | 1.27 | 38.4 | 1.42 |
| 768 | 61.2 | 53.1 | 1.15 | 53.7 | 1.14 | 45.1 | 1.36 |
| 1000 | 64.7 | 55.7 | 1.16 | 60.1 | 1.08 | 50.1 | 1.29 |
| 1001 | 62.9 | 53.0 | 1.19 | 58.9 | 1.07 | 50.0 | 1.26 |
| 1024 | 60.5 | 54.3 | 1.11 | 58.8 | 1.03 | 48.5 | 1.25 |
| 1536 | 67.7 | 63.6 | 1.06 | 69.3 | 0.98 | 54.5 | 1.24 |
| 2048 | 68.4 | 65.3 | 1.05 | 73.1 | 0.94 | 56.7 | 1.21 |
| 3072 | 71.3 | 69.6 | 1.02 | 79.0 | 0.90 | 59.8 | 1.19 |
| 4096 | 71.4 | 66.6 | 1.07 | 80.2 | 0.89 | 61.0 | 1.17 |
| 4097 | 70.0 | 72.4 | 0.97 | 79.8 | 0.88 | 61.7 | 1.13 |
POTRF double
| n | Eigen GFLOP/s | Arm Performance Libraries GFLOP/s | Eigen ÷ Arm Performance Libraries | NVPL GFLOP/s | Eigen ÷ NVPL | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|---|---|---|---|
| 2 | 0.2 | 0.2 | 1.22 | 0.0 | 15.79 | 0.1 | 2.65 |
| 3 | 0.4 | 0.4 | 1.04 | 0.0 | 9.19 | 0.2 | 1.96 |
| 4 | 0.6 | 0.6 | 0.93 | 0.1 | 5.53 | 0.4 | 1.39 |
| 6 | 1.0 | 1.2 | 0.84 | 0.3 | 3.45 | 0.8 | 1.29 |
| 8 | 1.5 | 1.4 | 1.10 | 0.5 | 2.79 | 1.1 | 1.39 |
| 12 | 2.8 | 2.9 | 0.99 | 1.1 | 2.59 | 1.8 | 1.60 |
| 16 | 4.1 | 3.7 | 1.11 | 1.9 | 2.15 | 2.4 | 1.72 |
| 24 | 5.9 | 3.2 | 1.85 | 3.7 | 1.59 | 3.4 | 1.73 |
| 32 | 5.2 | 4.7 | 1.11 | 5.2 | 0.99 | 4.2 | 1.22 |
| 48 | 7.3 | 6.4 | 1.14 | 7.4 | 0.98 | 6.7 | 1.09 |
| 64 | 8.8 | 8.2 | 1.07 | 8.5 | 1.04 | 8.3 | 1.06 |
| 96 | 11.3 | 11.9 | 0.95 | 9.7 | 1.17 | 11.3 | 1.00 |
| 100 | 11.3 | 10.8 | 1.05 | 8.4 | 1.36 | 11.6 | 0.97 |
| 128 | 16.1 | 14.7 | 1.10 | 10.9 | 1.48 | 13.5 | 1.20 |
| 192 | 19.0 | 18.4 | 1.04 | 16.0 | 1.19 | 17.2 | 1.10 |
| 200 | 19.4 | 18.9 | 1.03 | 15.6 | 1.25 | 17.6 | 1.10 |
| 256 | 23.3 | 20.2 | 1.15 | 17.8 | 1.31 | 19.1 | 1.22 |
| 257 | 22.5 | 19.4 | 1.16 | 18.5 | 1.22 | 20.1 | 1.12 |
| 384 | 26.0 | 24.6 | 1.06 | 22.5 | 1.16 | 21.4 | 1.21 |
| 500 | 27.2 | 26.5 | 1.03 | 25.8 | 1.05 | 23.4 | 1.17 |
| 512 | 26.7 | 24.7 | 1.08 | 24.8 | 1.08 | 22.8 | 1.17 |
| 768 | 30.6 | 30.2 | 1.01 | 30.4 | 1.01 | 26.2 | 1.17 |
| 1000 | 32.4 | 33.0 | 0.98 | 33.6 | 0.97 | 27.9 | 1.16 |
| 1001 | 31.9 | 32.0 | 0.99 | 33.2 | 0.96 | 27.8 | 1.15 |
| 1024 | 30.8 | 28.9 | 1.07 | 32.8 | 0.94 | 27.2 | 1.13 |
| 1536 | 33.5 | 33.7 | 0.99 | 36.5 | 0.92 | 29.4 | 1.14 |
| 2048 | 34.0 | 33.8 | 1.01 | 38.0 | 0.90 | 30.4 | 1.12 |
| 3072 | 35.4 | 34.3 | 1.03 | 39.5 | 0.90 | 31.7 | 1.12 |
| 4096 | 35.5 | 33.7 | 1.06 | 39.8 | 0.89 | 31.6 | 1.12 |
| 4097 | 35.4 | 36.3 | 0.98 | 40.6 | 0.87 | 32.8 | 1.08 |
GETRF float
| n | Eigen GFLOP/s | Arm Performance Libraries GFLOP/s | Eigen ÷ Arm Performance Libraries | NVPL GFLOP/s | Eigen ÷ NVPL | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|---|---|---|---|
| 2 | 0.1 | 0.2 | 0.77 | 0.0 | 6.33 | 0.1 | 1.43 |
| 3 | 0.3 | 0.3 | 0.89 | 0.1 | 5.18 | 0.2 | 1.54 |
| 4 | 0.5 | 0.6 | 0.98 | 0.1 | 4.62 | 0.3 | 1.61 |
| 6 | 1.0 | 1.2 | 0.82 | 0.3 | 3.18 | 0.6 | 1.61 |
| 8 | 1.5 | 2.0 | 0.72 | 0.5 | 2.68 | 0.8 | 1.82 |
| 12 | 2.7 | 3.2 | 0.84 | 1.0 | 2.61 | 1.2 | 2.29 |
| 16 | 3.5 | 4.0 | 0.88 | 0.6 | 5.61 | 1.5 | 2.29 |
| 24 | 5.1 | 6.4 | 0.78 | 1.7 | 3.06 | 2.2 | 2.28 |
| 32 | 6.8 | 6.7 | 1.01 | 2.1 | 3.32 | 2.9 | 2.39 |
| 48 | 10.2 | 9.9 | 1.02 | 4.2 | 2.43 | 6.3 | 1.62 |
| 64 | 13.1 | 13.1 | 1.00 | 5.4 | 2.44 | 8.0 | 1.65 |
| 96 | 18.2 | 17.0 | 1.07 | 10.1 | 1.79 | 15.6 | 1.16 |
| 100 | 18.3 | 18.6 | 0.98 | 9.9 | 1.85 | 15.8 | 1.16 |
| 128 | 22.7 | 21.3 | 1.07 | 13.7 | 1.66 | 19.0 | 1.20 |
| 192 | 28.9 | 18.4 | 1.57 | 21.6 | 1.33 | 29.0 | 0.99 |
| 200 | 29.2 | 19.2 | 1.52 | 22.6 | 1.29 | 29.8 | 0.98 |
| 256 | 35.7 | 26.3 | 1.36 | 27.3 | 1.31 | 33.2 | 1.08 |
| 257 | 34.7 | 31.2 | 1.11 | 27.3 | 1.27 | 32.8 | 1.06 |
| 384 | 43.0 | 26.6 | 1.61 | 37.5 | 1.15 | 41.9 | 1.03 |
| 500 | 45.8 | 34.1 | 1.35 | 43.3 | 1.06 | 45.4 | 1.01 |
| 512 | 45.4 | 28.4 | 1.60 | 43.0 | 1.06 | 45.0 | 1.01 |
| 768 | 51.0 | 38.5 | 1.33 | 52.1 | 0.98 | 51.8 | 0.99 |
| 1000 | 55.5 | 46.9 | 1.18 | 59.8 | 0.93 | 54.3 | 1.02 |
| 1001 | 54.6 | 43.2 | 1.26 | 59.1 | 0.92 | 53.9 | 1.01 |
| 1024 | 54.3 | 37.4 | 1.45 | 58.5 | 0.93 | 52.9 | 1.03 |
| 1536 | 61.0 | 55.5 | 1.10 | 68.1 | 0.90 | 58.7 | 1.04 |
| 2048 | 64.4 | 56.1 | 1.15 | 69.0 | 0.93 | 60.9 | 1.06 |
| 3072 | 68.3 | 63.9 | 1.07 | 78.6 | 0.87 | 64.3 | 1.06 |
| 4096 | 69.2 | 66.0 | 1.05 | 78.4 | 0.88 | 65.1 | 1.06 |
| 4097 | 67.3 | 72.6 | 0.93 | 79.1 | 0.85 | 65.2 | 1.03 |
GETRF double
| n | Eigen GFLOP/s | Arm Performance Libraries GFLOP/s | Eigen ÷ Arm Performance Libraries | NVPL GFLOP/s | Eigen ÷ NVPL | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|---|---|---|---|
| 2 | 0.2 | 0.2 | 1.26 | 0.0 | 11.25 | 0.1 | 2.51 |
| 3 | 0.4 | 0.4 | 1.03 | 0.1 | 7.15 | 0.2 | 2.03 |
| 4 | 0.7 | 0.7 | 0.96 | 0.1 | 5.62 | 0.3 | 1.93 |
| 6 | 1.3 | 1.4 | 0.88 | 0.3 | 4.19 | 0.6 | 2.09 |
| 8 | 1.8 | 2.1 | 0.82 | 0.5 | 3.20 | 0.8 | 2.08 |
| 12 | 2.6 | 3.3 | 0.81 | 1.1 | 2.49 | 1.2 | 2.17 |
| 16 | 3.4 | 4.3 | 0.78 | 0.6 | 5.20 | 1.6 | 2.13 |
| 24 | 4.8 | 4.2 | 1.14 | 1.6 | 2.95 | 2.2 | 2.15 |
| 32 | 6.3 | 5.7 | 1.10 | 2.0 | 3.11 | 2.8 | 2.20 |
| 48 | 8.7 | 6.7 | 1.30 | 3.8 | 2.26 | 6.0 | 1.43 |
| 64 | 10.4 | 8.8 | 1.18 | 5.0 | 2.07 | 7.4 | 1.40 |
| 96 | 12.9 | 9.6 | 1.34 | 8.6 | 1.51 | 12.1 | 1.06 |
| 100 | 13.1 | 8.7 | 1.50 | 8.5 | 1.54 | 12.2 | 1.07 |
| 128 | 15.5 | 8.9 | 1.74 | 11.0 | 1.40 | 14.0 | 1.10 |
| 192 | 18.1 | 9.4 | 1.93 | 16.1 | 1.12 | 19.0 | 0.95 |
| 200 | 18.7 | 9.8 | 1.91 | 16.7 | 1.12 | 19.3 | 0.97 |
| 256 | 21.7 | 13.1 | 1.66 | 19.1 | 1.14 | 20.2 | 1.08 |
| 257 | 21.3 | 13.3 | 1.60 | 19.1 | 1.12 | 20.5 | 1.04 |
| 384 | 23.5 | 14.4 | 1.63 | 23.3 | 1.01 | 23.6 | 1.00 |
| 500 | 25.0 | 18.0 | 1.39 | 26.0 | 0.96 | 24.9 | 1.00 |
| 512 | 24.6 | 15.8 | 1.55 | 24.2 | 1.02 | 23.9 | 1.03 |
| 768 | 27.2 | 22.8 | 1.19 | 30.2 | 0.90 | 27.7 | 0.98 |
| 1000 | 28.9 | 26.0 | 1.11 | 33.5 | 0.86 | 29.6 | 0.97 |
| 1001 | 28.6 | 25.8 | 1.11 | 33.3 | 0.86 | 29.5 | 0.97 |
| 1024 | 28.2 | 24.2 | 1.16 | 30.8 | 0.91 | 28.7 | 0.98 |
| 1536 | 31.1 | 28.2 | 1.10 | 35.1 | 0.89 | 30.9 | 1.01 |
| 2048 | 30.8 | 30.9 | 1.00 | 36.0 | 0.86 | 31.7 | 0.97 |
| 3072 | 32.0 | 35.0 | 0.91 | 38.9 | 0.82 | 32.7 | 0.98 |
| 4096 | 31.6 | 36.5 | 0.86 | 40.0 | 0.79 | 32.6 | 0.97 |
| 4097 | 31.2 | 38.6 | 0.81 | 40.7 | 0.77 | 32.8 | 0.95 |
GEQRF float
| m×n | Eigen GFLOP/s | Arm Performance Libraries GFLOP/s | Eigen ÷ Arm Performance Libraries | NVPL GFLOP/s | Eigen ÷ NVPL | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|---|---|---|---|
| 2x2 | 0.1 | 0.2 | 0.59 | 0.1 | 1.12 | 0.1 | 1.15 |
| 3x3 | 0.2 | 0.3 | 0.58 | 0.2 | 0.83 | 0.2 | 1.06 |
| 4x4 | 0.3 | 0.5 | 0.58 | 0.4 | 0.74 | 0.3 | 1.05 |
| 6x6 | 0.6 | 1.0 | 0.60 | 0.8 | 0.70 | 0.5 | 1.08 |
| 8x8 | 0.9 | 1.6 | 0.59 | 1.4 | 0.70 | 0.9 | 1.10 |
| 12x12 | 1.9 | 3.0 | 0.63 | 2.6 | 0.73 | 1.7 | 1.14 |
| 16x16 | 3.0 | 4.4 | 0.69 | 3.9 | 0.77 | 2.5 | 1.19 |
| 24x24 | 4.7 | 7.0 | 0.67 | 6.6 | 0.71 | 4.4 | 1.06 |
| 32x32 | 6.3 | 9.4 | 0.67 | 9.0 | 0.70 | 6.3 | 1.00 |
| 48x48 | 8.9 | 13.0 | 0.68 | 13.3 | 0.67 | 9.4 | 0.94 |
| 64x64 | 7.9 | 15.1 | 0.53 | 16.3 | 0.49 | 11.6 | 0.68 |
| 96x96 | 14.2 | 17.4 | 0.82 | 20.7 | 0.69 | 14.7 | 0.97 |
| 100x100 | 12.7 | 17.6 | 0.72 | 21.4 | 0.59 | 15.0 | 0.85 |
| 128x128 | 17.9 | 18.2 | 0.98 | 23.5 | 0.76 | 16.0 | 1.12 |
| 192x192 | 26.0 | 17.8 | 1.46 | 33.5 | 0.78 | 25.3 | 1.03 |
| 200x200 | 26.0 | 18.0 | 1.44 | 34.5 | 0.75 | 29.9 | 0.87 |
| 256x256 | 31.1 | 16.9 | 1.84 | 39.0 | 0.80 | 30.0 | 1.04 |
| 257x257 | 30.1 | 17.8 | 1.69 | 39.4 | 0.76 | 34.7 | 0.87 |
| 384x384 | 39.1 | 35.4 | 1.10 | 48.0 | 0.82 | 38.8 | 1.01 |
| 500x500 | 43.6 | 48.6 | 0.90 | 54.1 | 0.81 | 46.2 | 0.94 |
| 512x512 | 42.8 | 45.2 | 0.95 | 51.1 | 0.84 | 43.0 | 1.00 |
| 768x768 | 49.6 | 47.2 | 1.05 | 57.4 | 0.86 | 48.9 | 1.01 |
| 1000x1000 | 53.5 | 54.3 | 0.99 | 65.9 | 0.81 | 54.1 | 0.99 |
| 1001x1001 | 52.5 | 54.4 | 0.97 | 64.5 | 0.82 | 53.4 | 0.98 |
| 1024x1024 | 52.3 | 50.1 | 1.04 | 59.8 | 0.87 | 49.8 | 1.05 |
| 1536x1536 | 57.3 | 58.6 | 0.98 | 69.3 | 0.83 | 55.5 | 1.03 |
| 2048x2048 | 58.9 | 61.2 | 0.96 | 70.6 | 0.83 | 55.8 | 1.06 |
| 3072x3072 | 61.9 | 68.5 | 0.90 | 76.9 | 0.81 | 57.9 | 1.07 |
| 4096x4096 | 61.2 | 68.8 | 0.89 | 77.5 | 0.79 | 56.9 | 1.08 |
| 4097x4097 | 59.6 | 70.6 | 0.84 | 78.6 | 0.76 | 57.2 | 1.04 |
| 4096x8 | 15.2 | 12.2 | 1.25 | 11.9 | 1.28 | 14.7 | 1.04 |
| 4096x64 | 15.9 | 14.7 | 1.08 | 22.8 | 0.70 | 16.6 | 0.96 |
| 4096x256 | 33.7 | 14.9 | 2.27 | 42.1 | 0.80 | 31.1 | 1.08 |
| 4096x1024 | 52.4 | 45.9 | 1.14 | 63.3 | 0.83 | 51.9 | 1.01 |
| 10000x8 | 15.2 | 11.7 | 1.30 | 11.9 | 1.28 | 14.4 | 1.06 |
| 10000x100 | 24.2 | 14.4 | 1.69 | 29.7 | 0.82 | 15.9 | 1.53 |
| 10000x1000 | 56.8 | 52.4 | 1.08 | 68.5 | 0.83 | 53.8 | 1.06 |
| 10000x4000 | 63.8 | 72.8 | 0.88 | 83.1 | 0.77 | 58.7 | 1.09 |
| 100000x8 | 13.0 | 10.2 | 1.28 | 10.2 | 1.28 | 11.9 | 1.09 |
| 100000x64 | 18.9 | 13.2 | 1.43 | 24.5 | 0.77 | 14.4 | 1.32 |
| 100000x256 | 36.1 | 10.0 | 3.60 | 44.6 | 0.81 | 25.8 | 1.40 |
GEQRF double
| m×n | Eigen GFLOP/s | Arm Performance Libraries GFLOP/s | Eigen ÷ Arm Performance Libraries | NVPL GFLOP/s | Eigen ÷ NVPL | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|---|---|---|---|
| 2x2 | 0.1 | 0.2 | 0.52 | 0.1 | 1.14 | 0.1 | 1.20 |
| 3x3 | 0.2 | 0.4 | 0.51 | 0.2 | 0.81 | 0.2 | 1.09 |
| 4x4 | 0.3 | 0.6 | 0.49 | 0.4 | 0.73 | 0.3 | 1.07 |
| 6x6 | 0.5 | 1.0 | 0.51 | 0.8 | 0.68 | 0.5 | 1.09 |
| 8x8 | 0.9 | 1.6 | 0.54 | 1.3 | 0.67 | 0.8 | 1.14 |
| 12x12 | 1.7 | 2.8 | 0.60 | 2.4 | 0.69 | 1.4 | 1.23 |
| 16x16 | 2.6 | 4.0 | 0.65 | 3.6 | 0.72 | 2.0 | 1.30 |
| 24x24 | 4.3 | 6.0 | 0.72 | 5.5 | 0.78 | 3.2 | 1.35 |
| 32x32 | 5.6 | 7.5 | 0.75 | 7.1 | 0.79 | 4.2 | 1.34 |
| 48x48 | 7.5 | 9.3 | 0.81 | 10.1 | 0.74 | 6.5 | 1.15 |
| 64x64 | 6.6 | 10.3 | 0.64 | 11.8 | 0.56 | 7.6 | 0.87 |
| 96x96 | 10.8 | 11.1 | 0.98 | 12.3 | 0.88 | 9.2 | 1.18 |
| 100x100 | 10.1 | 11.1 | 0.91 | 11.2 | 0.90 | 9.3 | 1.08 |
| 128x128 | 12.7 | 10.3 | 1.23 | 15.3 | 0.83 | 9.2 | 1.38 |
| 192x192 | 16.7 | 10.3 | 1.63 | 20.4 | 0.82 | 14.0 | 1.19 |
| 200x200 | 17.1 | 10.3 | 1.66 | 20.8 | 0.82 | 16.6 | 1.03 |
| 256x256 | 18.2 | 18.9 | 0.96 | 22.2 | 0.82 | 17.0 | 1.07 |
| 257x257 | 18.3 | 20.1 | 0.91 | 22.0 | 0.83 | 19.0 | 0.96 |
| 384x384 | 21.8 | 23.0 | 0.95 | 25.8 | 0.85 | 21.0 | 1.04 |
| 500x500 | 24.2 | 26.1 | 0.93 | 28.7 | 0.85 | 23.8 | 1.02 |
| 512x512 | 23.4 | 24.4 | 0.96 | 26.8 | 0.87 | 22.3 | 1.05 |
| 768x768 | 26.6 | 29.0 | 0.92 | 31.0 | 0.86 | 25.5 | 1.04 |
| 1000x1000 | 28.4 | 31.6 | 0.90 | 34.0 | 0.84 | 27.5 | 1.03 |
| 1001x1001 | 28.1 | 31.5 | 0.89 | 33.6 | 0.83 | 27.4 | 1.03 |
| 1024x1024 | 27.6 | 30.0 | 0.92 | 32.1 | 0.86 | 26.2 | 1.05 |
| 1536x1536 | 29.6 | 33.4 | 0.89 | 35.3 | 0.84 | 28.1 | 1.06 |
| 2048x2048 | 29.8 | 34.1 | 0.87 | 35.8 | 0.83 | 28.1 | 1.06 |
| 3072x3072 | 31.4 | 36.1 | 0.87 | 38.2 | 0.82 | 29.0 | 1.08 |
| 4096x4096 | 31.3 | 36.1 | 0.87 | 38.7 | 0.81 | 27.6 | 1.13 |
| 4097x4097 | 31.1 | 36.2 | 0.86 | 39.3 | 0.79 | 27.9 | 1.12 |
| 4096x8 | 6.7 | 7.4 | 0.91 | 7.4 | 0.91 | 7.2 | 0.94 |
| 4096x64 | 8.2 | 9.3 | 0.88 | 14.2 | 0.58 | 9.0 | 0.91 |
| 4096x256 | 17.6 | 18.8 | 0.94 | 23.4 | 0.75 | 16.8 | 1.05 |
| 4096x1024 | 27.2 | 30.0 | 0.91 | 34.1 | 0.80 | 26.7 | 1.02 |
| 10000x8 | 6.6 | 6.7 | 0.98 | 9.1 | 0.73 | 6.4 | 1.04 |
| 10000x100 | 12.4 | 9.1 | 1.36 | 19.3 | 0.64 | 8.4 | 1.48 |
| 10000x1000 | 28.6 | 31.5 | 0.91 | 35.1 | 0.81 | 26.5 | 1.08 |
| 10000x4000 | 31.3 | 35.2 | 0.89 | 39.6 | 0.79 | 26.8 | 1.17 |
| 100000x8 | 5.8 | 5.7 | 1.02 | 7.7 | 0.76 | 5.9 | 0.99 |
| 100000x64 | 9.4 | 7.5 | 1.26 | 16.5 | 0.57 | 6.7 | 1.41 |
| 100000x256 | 17.0 | 16.5 | 1.03 | 22.8 | 0.74 | 12.1 | 1.40 |
SYEV float
| n | Eigen GFLOP/s | Arm Performance Libraries GFLOP/s | Eigen ÷ Arm Performance Libraries | NVPL GFLOP/s | Eigen ÷ NVPL | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|---|---|---|---|
| 2 | 0.5 | 0.4 | 1.34 | 0.4 | 1.47 | 0.3 | 1.58 |
| 3 | 0.7 | 0.3 | 2.09 | 0.3 | 2.14 | 0.4 | 1.84 |
| 4 | 0.8 | 0.4 | 2.03 | 0.4 | 1.94 | 0.5 | 1.66 |
| 6 | 1.3 | 0.7 | 1.87 | 0.7 | 1.99 | 0.8 | 1.69 |
| 8 | 1.9 | 1.0 | 1.95 | 1.0 | 1.89 | 1.1 | 1.65 |
| 12 | 3.1 | 1.6 | 1.92 | 1.7 | 1.86 | 1.8 | 1.70 |
| 16 | 4.2 | 2.3 | 1.81 | 2.4 | 1.77 | 2.5 | 1.68 |
| 24 | 6.4 | 3.6 | 1.77 | 3.7 | 1.74 | 3.7 | 1.73 |
| 32 | 8.3 | 4.8 | 1.75 | 4.7 | 1.77 | 4.7 | 1.79 |
| 48 | 11.4 | 6.5 | 1.75 | 5.8 | 1.96 | 5.8 | 1.96 |
| 64 | 14.0 | 7.6 | 1.85 | 7.3 | 1.91 | 7.1 | 1.96 |
| 96 | 17.4 | 9.1 | 1.91 | 8.7 | 2.00 | 8.4 | 2.07 |
| 100 | 17.7 | 9.3 | 1.90 | 8.9 | 1.99 | 8.6 | 2.05 |
| 128 | 20.1 | 9.8 | 2.05 | 9.8 | 2.06 | 9.4 | 2.15 |
| 192 | 24.2 | 11.0 | 2.19 | 11.1 | 2.19 | 10.8 | 2.24 |
| 200 | 24.7 | 10.9 | 2.26 | 11.3 | 2.18 | 10.9 | 2.27 |
| 256 | 26.3 | 11.4 | 2.32 | 12.0 | 2.19 | 11.5 | 2.29 |
| 257 | 24.9 | 11.4 | 2.18 | 12.1 | 2.06 | 11.6 | 2.15 |
| 384 | 29.9 | 12.0 | 2.50 | 13.0 | 2.30 | 12.5 | 2.38 |
| 500 | 31.3 | 12.4 | 2.53 | 13.6 | 2.31 | 12.9 | 2.42 |
| 512 | 30.8 | 12.2 | 2.53 | 13.5 | 2.28 | 12.9 | 2.38 |
| 768 | 32.3 | 12.5 | 2.57 | 14.1 | 2.28 | 13.4 | 2.40 |
| 1000 | 34.1 | 12.9 | 2.63 | 14.5 | 2.36 | 13.7 | 2.49 |
| 1001 | 32.2 | 13.0 | 2.48 | 14.5 | 2.23 | 13.8 | 2.34 |
| 1024 | 33.3 | 12.6 | 2.64 | 14.4 | 2.31 | 13.6 | 2.44 |
| 1536 | 34.8 | 13.1 | 2.66 | 14.8 | 2.36 | 14.0 | 2.49 |
| 2048 | 34.4 | 12.0 | 2.87 | 14.9 | 2.32 | 14.0 | 2.46 |
SYEV double
| n | Eigen GFLOP/s | Arm Performance Libraries GFLOP/s | Eigen ÷ Arm Performance Libraries | NVPL GFLOP/s | Eigen ÷ NVPL | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|---|---|---|---|
| 2 | 0.6 | 0.4 | 1.58 | 0.3 | 1.90 | 0.3 | 1.82 |
| 3 | 0.5 | 0.3 | 1.94 | 0.3 | 1.89 | 0.3 | 1.68 |
| 4 | 0.7 | 0.4 | 1.79 | 0.4 | 1.84 | 0.4 | 1.65 |
| 6 | 1.0 | 0.6 | 1.76 | 0.6 | 1.72 | 0.6 | 1.57 |
| 8 | 1.4 | 0.8 | 1.71 | 0.8 | 1.71 | 0.9 | 1.58 |
| 12 | 2.2 | 1.4 | 1.57 | 1.4 | 1.57 | 1.5 | 1.50 |
| 16 | 3.0 | 1.9 | 1.57 | 2.0 | 1.54 | 2.0 | 1.52 |
| 24 | 4.4 | 2.9 | 1.48 | 3.0 | 1.46 | 2.9 | 1.52 |
| 32 | 5.4 | 3.7 | 1.46 | 3.8 | 1.43 | 3.6 | 1.52 |
| 48 | 7.1 | 5.1 | 1.40 | 4.6 | 1.56 | 4.5 | 1.58 |
| 64 | 8.4 | 5.9 | 1.42 | 5.6 | 1.49 | 5.4 | 1.55 |
| 96 | 9.8 | 7.0 | 1.41 | 6.8 | 1.45 | 6.5 | 1.51 |
| 100 | 10.0 | 7.1 | 1.40 | 6.8 | 1.46 | 6.6 | 1.52 |
| 128 | 10.8 | 7.5 | 1.45 | 7.5 | 1.45 | 7.1 | 1.52 |
| 192 | 12.4 | 8.2 | 1.51 | 8.6 | 1.44 | 8.2 | 1.52 |
| 200 | 12.7 | 8.2 | 1.54 | 8.9 | 1.43 | 8.4 | 1.52 |
| 256 | 13.2 | 8.5 | 1.56 | 9.2 | 1.43 | 8.9 | 1.49 |
| 257 | 13.0 | 8.6 | 1.52 | 9.3 | 1.41 | 8.8 | 1.49 |
| 384 | 13.8 | 8.7 | 1.58 | 10.0 | 1.38 | 9.6 | 1.44 |
| 500 | 14.7 | 9.1 | 1.62 | 10.6 | 1.39 | 9.9 | 1.48 |
| 512 | 14.5 | 8.9 | 1.64 | 10.5 | 1.38 | 9.8 | 1.48 |
| 768 | 15.2 | 9.4 | 1.61 | 11.1 | 1.37 | 10.2 | 1.49 |
| 1000 | 15.9 | 9.7 | 1.64 | 11.2 | 1.41 | 10.6 | 1.50 |
| 1001 | 15.4 | 9.9 | 1.57 | 11.5 | 1.34 | 10.4 | 1.49 |
| 1024 | 15.3 | 9.2 | 1.66 | 11.4 | 1.34 | 10.6 | 1.44 |
| 1536 | 15.9 | 9.7 | 1.63 | 11.8 | 1.35 | 10.9 | 1.46 |
| 2048 | 14.0 | 8.4 | 1.67 | 11.2 | 1.25 | 10.5 | 1.34 |
GESDD float
| m×n | Eigen GFLOP/s | Arm Performance Libraries GFLOP/s | Eigen ÷ Arm Performance Libraries | NVPL GFLOP/s | Eigen ÷ NVPL | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|---|---|---|---|
| 2x2 | 1.6 | 0.2 | 7.45 | 0.2 | 9.15 | 0.2 | 7.16 |
| 3x3 | 1.3 | 0.4 | 3.50 | 0.3 | 3.88 | 0.4 | 2.95 |
| 4x4 | 1.4 | 0.5 | 2.56 | 0.5 | 2.73 | 0.7 | 2.09 |
| 6x6 | 1.5 | 1.0 | 1.52 | 1.0 | 1.59 | 1.2 | 1.25 |
| 8x8 | 1.8 | 1.5 | 1.15 | 1.5 | 1.21 | 1.9 | 0.96 |
| 12x12 | 2.1 | 2.6 | 0.81 | 2.6 | 0.80 | 3.0 | 0.70 |
| 16x16 | 3.6 | 3.7 | 0.97 | 3.7 | 0.98 | 4.1 | 0.87 |
| 24x24 | 5.1 | 5.8 | 0.89 | 5.6 | 0.91 | 6.0 | 0.86 |
| 32x32 | 7.1 | 9.0 | 0.78 | 8.5 | 0.84 | 9.4 | 0.75 |
| 48x48 | 11.7 | 14.2 | 0.82 | 11.8 | 0.99 | 13.4 | 0.87 |
| 64x64 | 15.4 | 21.0 | 0.73 | 17.5 | 0.88 | 19.6 | 0.79 |
| 96x96 | 24.3 | 29.7 | 0.82 | 26.8 | 0.90 | 28.2 | 0.86 |
| 100x100 | 25.3 | 30.8 | 0.82 | 27.6 | 0.92 | 29.4 | 0.86 |
| 128x128 | 31.5 | 37.3 | 0.85 | 35.5 | 0.89 | 36.3 | 0.87 |
| 192x192 | 46.0 | 44.3 | 1.04 | 46.4 | 0.99 | 40.0 | 1.15 |
| 200x200 | 47.5 | 46.2 | 1.03 | 48.2 | 0.99 | 40.0 | 1.19 |
| 256x256 | 54.1 | 47.0 | 1.15 | 54.0 | 1.00 | 44.9 | 1.20 |
| 257x257 | 55.3 | 47.2 | 1.17 | 56.3 | 0.98 | 46.0 | 1.20 |
| 384x384 | 69.6 | 52.4 | 1.33 | 68.6 | 1.01 | 54.5 | 1.28 |
| 500x500 | 79.1 | 59.8 | 1.32 | 81.8 | 0.97 | 64.3 | 1.23 |
| 512x512 | 76.9 | 55.7 | 1.38 | 76.1 | 1.01 | 61.8 | 1.24 |
| 768x768 | 88.8 | 57.4 | 1.55 | 87.7 | 1.01 | 72.0 | 1.23 |
| 1000x1000 | 98.3 | 63.3 | 1.55 | 102.1 | 0.96 | 80.7 | 1.22 |
| 1001x1001 | 98.0 | 60.2 | 1.63 | 101.7 | 0.96 | 80.9 | 1.21 |
| 1024x1024 | 90.3 | 54.9 | 1.65 | 90.3 | 1.00 | 74.1 | 1.22 |
| 1536x1536 | 103.4 | 65.3 | 1.58 | 106.7 | 0.97 | 86.8 | 1.19 |
| 2048x2048 | 96.0 | 55.6 | 1.73 | 103.7 | 0.93 | 87.0 | 1.10 |
| 4096x64 | 53.3 | 40.5 | 1.32 | 50.4 | 1.06 | 36.1 | 1.47 |
| 4096x256 | 90.1 | 43.4 | 2.08 | 89.2 | 1.01 | 69.0 | 1.31 |
| 4096x1024 | 102.5 | 50.6 | 2.03 | 110.0 | 0.93 | 89.2 | 1.15 |
| 10000x8 | 21.2 | 23.3 | 0.91 | 23.0 | 0.92 | 12.5 | 1.69 |
| 10000x100 | 76.5 | 49.3 | 1.55 | 64.9 | 1.18 | 39.9 | 1.92 |
| 10000x1000 | 126.2 | 72.1 | 1.75 | 143.6 | 0.88 | 111.4 | 1.13 |
GESDD double
| m×n | Eigen GFLOP/s | Arm Performance Libraries GFLOP/s | Eigen ÷ Arm Performance Libraries | NVPL GFLOP/s | Eigen ÷ NVPL | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|---|---|---|---|
| 2x2 | 1.7 | 0.2 | 7.90 | 0.2 | 9.76 | 0.2 | 7.23 |
| 3x3 | 0.9 | 0.3 | 2.82 | 0.3 | 3.07 | 0.4 | 2.38 |
| 4x4 | 0.9 | 0.5 | 1.91 | 0.5 | 2.06 | 0.6 | 1.58 |
| 6x6 | 1.0 | 0.9 | 1.19 | 0.8 | 1.25 | 1.0 | 1.01 |
| 8x8 | 1.2 | 1.2 | 0.95 | 1.2 | 0.99 | 1.4 | 0.82 |
| 12x12 | 1.3 | 2.1 | 0.61 | 2.1 | 0.61 | 2.3 | 0.56 |
| 16x16 | 2.3 | 3.0 | 0.77 | 2.9 | 0.80 | 3.1 | 0.74 |
| 24x24 | 3.2 | 4.4 | 0.72 | 4.3 | 0.74 | 4.3 | 0.75 |
| 32x32 | 4.4 | 6.7 | 0.66 | 6.5 | 0.68 | 6.6 | 0.67 |
| 48x48 | 6.3 | 10.1 | 0.63 | 8.7 | 0.73 | 9.4 | 0.67 |
| 64x64 | 8.2 | 14.0 | 0.59 | 12.6 | 0.65 | 13.0 | 0.63 |
| 96x96 | 12.2 | 18.6 | 0.66 | 18.1 | 0.68 | 17.9 | 0.68 |
| 100x100 | 12.6 | 19.1 | 0.66 | 18.3 | 0.69 | 18.8 | 0.67 |
| 128x128 | 15.3 | 21.0 | 0.73 | 22.1 | 0.69 | 21.6 | 0.71 |
| 192x192 | 21.9 | 24.8 | 0.88 | 28.4 | 0.77 | 25.0 | 0.88 |
| 200x200 | 22.8 | 26.6 | 0.86 | 29.9 | 0.76 | 25.6 | 0.89 |
| 256x256 | 26.1 | 26.4 | 0.99 | 33.1 | 0.79 | 28.1 | 0.93 |
| 257x257 | 26.5 | 27.6 | 0.96 | 34.2 | 0.78 | 29.1 | 0.91 |
| 384x384 | 32.9 | 29.0 | 1.13 | 39.8 | 0.83 | 33.1 | 0.99 |
| 500x500 | 38.2 | 32.1 | 1.19 | 45.8 | 0.84 | 37.8 | 1.01 |
| 512x512 | 36.1 | 28.5 | 1.27 | 41.6 | 0.87 | 34.7 | 1.04 |
| 768x768 | 43.1 | 32.7 | 1.32 | 50.3 | 0.86 | 41.0 | 1.05 |
| 1000x1000 | 47.8 | 35.5 | 1.34 | 55.8 | 0.86 | 45.6 | 1.05 |
| 1001x1001 | 47.9 | 35.1 | 1.37 | 56.0 | 0.85 | 45.8 | 1.05 |
| 1024x1024 | 42.1 | 29.7 | 1.42 | 50.8 | 0.83 | 42.6 | 0.99 |
| 1536x1536 | 49.5 | 32.5 | 1.52 | 57.1 | 0.87 | 46.8 | 1.06 |
| 2048x2048 | 44.7 | 25.7 | 1.74 | 56.3 | 0.79 | 47.7 | 0.94 |
| 4096x64 | 29.2 | 24.3 | 1.20 | 29.8 | 0.98 | 22.5 | 1.30 |
| 4096x256 | 47.5 | 30.4 | 1.56 | 49.8 | 0.95 | 40.0 | 1.19 |
| 4096x1024 | 51.1 | 27.1 | 1.89 | 59.6 | 0.86 | 48.3 | 1.06 |
| 10000x8 | 8.7 | 15.2 | 0.57 | 16.9 | 0.51 | 9.7 | 0.90 |
| 10000x100 | 41.0 | 29.0 | 1.42 | 37.4 | 1.10 | 23.2 | 1.77 |
| 10000x1000 | 63.4 | 35.3 | 1.79 | 73.2 | 0.87 | 57.7 | 1.10 |
GEEV float
| n | Eigen GFLOP/s | Arm Performance Libraries GFLOP/s | Eigen ÷ Arm Performance Libraries | NVPL GFLOP/s | Eigen ÷ NVPL | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|---|---|---|---|
| 2 | 1.8 | 0.3 | 7.00 | 0.2 | 11.08 | 0.2 | 7.56 |
| 3 | 1.0 | 0.3 | 2.94 | 0.2 | 4.28 | 0.4 | 2.69 |
| 4 | 1.7 | 0.5 | 3.40 | 0.4 | 4.45 | 0.6 | 3.00 |
| 6 | 2.1 | 0.9 | 2.43 | 0.7 | 3.17 | 1.0 | 2.14 |
| 8 | 3.2 | 1.3 | 2.40 | 1.0 | 3.29 | 1.4 | 2.29 |
| 12 | 4.7 | 2.2 | 2.14 | 1.7 | 2.86 | 2.2 | 2.17 |
| 16 | 5.9 | 3.1 | 1.92 | 2.1 | 2.85 | 2.9 | 2.04 |
| 24 | 7.4 | 5.3 | 1.41 | 3.3 | 2.28 | 4.3 | 1.74 |
| 32 | 8.6 | 7.3 | 1.19 | 4.1 | 2.09 | 5.5 | 1.57 |
| 48 | 11.0 | 10.9 | 1.00 | 5.8 | 1.88 | 7.3 | 1.50 |
| 64 | 12.1 | 13.5 | 0.89 | 7.0 | 1.73 | 8.5 | 1.42 |
| 96 | 13.8 | 10.5 | 1.31 | 8.7 | 1.59 | 10.1 | 1.37 |
| 100 | 13.8 | 11.2 | 1.24 | 9.1 | 1.52 | 10.4 | 1.33 |
| 128 | 14.6 | 13.1 | 1.12 | 11.0 | 1.33 | 12.1 | 1.21 |
| 192 | 15.5 | 23.0 | 0.67 | 18.6 | 0.83 | 20.3 | 0.76 |
| 200 | 15.8 | 24.9 | 0.63 | 19.7 | 0.80 | 22.4 | 0.70 |
| 256 | 15.7 | 28.2 | 0.56 | 24.0 | 0.66 | 25.7 | 0.61 |
| 257 | 15.3 | 28.3 | 0.54 | 24.4 | 0.63 | 25.9 | 0.59 |
| 384 | 14.7 | 36.2 | 0.41 | 34.5 | 0.43 | 35.9 | 0.41 |
| 500 | 17.2 | 42.7 | 0.40 | 43.5 | 0.40 | 43.5 | 0.40 |
| 512 | 16.2 | 31.5 | 0.51 | 32.9 | 0.49 | 32.3 | 0.50 |
| 768 | 16.9 | 43.4 | 0.39 | 47.4 | 0.36 | 48.0 | 0.35 |
| 1000 | 18.4 | 55.2 | 0.33 | 65.9 | 0.28 | 63.0 | 0.29 |
| 1001 | 18.0 | 54.3 | 0.33 | 66.2 | 0.27 | 62.9 | 0.29 |
| 1024 | 15.7 | 49.4 | 0.32 | 59.8 | 0.26 | 57.4 | 0.27 |
GEEV double
| n | Eigen GFLOP/s | Arm Performance Libraries GFLOP/s | Eigen ÷ Arm Performance Libraries | NVPL GFLOP/s | Eigen ÷ NVPL | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|---|---|---|---|
| 2 | 2.0 | 0.2 | 8.10 | 0.2 | 12.78 | 0.2 | 9.16 |
| 3 | 0.9 | 0.3 | 3.02 | 0.2 | 4.10 | 0.3 | 3.02 |
| 4 | 1.2 | 0.5 | 2.50 | 0.4 | 3.31 | 0.5 | 2.38 |
| 6 | 1.8 | 0.8 | 2.21 | 0.6 | 3.00 | 0.8 | 2.25 |
| 8 | 2.2 | 1.2 | 1.86 | 0.8 | 2.62 | 1.0 | 2.14 |
| 12 | 3.0 | 1.9 | 1.62 | 1.4 | 2.25 | 1.6 | 1.91 |
| 16 | 3.8 | 2.7 | 1.42 | 1.8 | 2.08 | 2.1 | 1.76 |
| 24 | 4.6 | 4.1 | 1.12 | 2.6 | 1.76 | 3.1 | 1.48 |
| 32 | 5.4 | 5.5 | 0.98 | 3.4 | 1.57 | 4.0 | 1.35 |
| 48 | 6.1 | 7.5 | 0.81 | 4.6 | 1.34 | 5.3 | 1.15 |
| 64 | 6.9 | 8.9 | 0.77 | 5.5 | 1.25 | 6.3 | 1.10 |
| 96 | 7.2 | 7.3 | 0.99 | 6.3 | 1.15 | 6.6 | 1.09 |
| 100 | 7.2 | 7.6 | 0.94 | 6.5 | 1.10 | 7.0 | 1.03 |
| 128 | 7.4 | 7.9 | 0.94 | 7.3 | 1.02 | 7.5 | 0.99 |
| 192 | 7.4 | 11.7 | 0.63 | 11.3 | 0.66 | 11.3 | 0.66 |
| 200 | 7.9 | 12.6 | 0.63 | 11.9 | 0.66 | 12.0 | 0.66 |
| 256 | 7.7 | 14.1 | 0.55 | 13.6 | 0.57 | 13.7 | 0.57 |
| 257 | 7.6 | 14.6 | 0.52 | 14.4 | 0.53 | 14.1 | 0.54 |
| 384 | 7.4 | 19.3 | 0.38 | 19.2 | 0.38 | 18.9 | 0.39 |
| 500 | 7.7 | 22.4 | 0.34 | 23.5 | 0.33 | 22.4 | 0.34 |
| 512 | 7.3 | 16.7 | 0.44 | 18.0 | 0.40 | 16.6 | 0.44 |
| 768 | 7.7 | 22.7 | 0.34 | 26.5 | 0.29 | 24.3 | 0.32 |
| 1000 | 7.7 | 28.1 | 0.27 | 34.9 | 0.22 | 31.2 | 0.25 |
| 1001 | 7.7 | 27.9 | 0.27 | 34.9 | 0.22 | 31.3 | 0.24 |
| 1024 | 7.0 | 24.0 | 0.29 | 30.5 | 0.23 | 27.5 | 0.26 |