Eigen vs. BLAS/LAPACK libraries, NVIDIA DGX Spark with SVE (October 2026)
The cells of the DGX Spark 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
Grace SVE page makes the same comparison on a Neoverse V2.
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 DGX Spark, NVIDIA GB10: Arm Cortex-X925 + Cortex-A725, 10 + 10 cores, one thread per core (lscpu: Cortex-X925 and Cortex-A725, CPU parts 0xd85 and 0xd87); the measured X925 has a 64 KiB L1d and a private 2 MiB L2 and shares a 16 MiB L3 with its cluster; 3.9 GHz with frequency boost disabled; SVE2 at a 128-bit vector length (/proc/sys/abi/sve_default_vector_length is 16 bytes), bf16, i8mm; 4 KiB pages |
| OS | Ubuntu 24.04.4 LTS, Linux 6.17.0-1012-nvidia |
| Compiler | GCC 13.3.0, -O3 -DNDEBUG -march=armv9-a+sve2 -msve-vector-bits=128, C++17 |
| Eigen | master 210e0a609 (5.0.1-dev) with the harness commit of merge request !2903 on top and the filled-in cortex-x925-20c profile (27ef2d3a5 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.34 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 Cortex-X925 core (taskset -c 19) |
| Date | Eigen: 2026-10-03 (UTC; 24 runs, about 2.2 hours of measurement). Libraries: the NEON page’s session on the same machines, 0.3 to 2.8 hours before the SVE passes |
| Harness | benchmarks/comparison/run.py --isa aarch64-sve --filter /eigen/ from Eigen merge request !2903, machine profile cortex-x925-20c |
GEMM at n = 1024 ran at 76 GFLOP/s in double and 160 in float with Eigen built for SVE, against 72 and 155 for the NEON build of the previous page; the libraries stand at 83 and 171 (Arm Performance Libraries), 79 and 170 (NVPL) and 69 and 137 (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 95 % and above 10 % for 2 %; the widest are AXPY and DOT cells up to n = 1000, the binary-dependent effect the NEON page also shows (DOT in double at n = 6, 11.8 against 15.8 GFLOP/s), and DOT in float between n = 1536 and 6144, at 54 to 56 GFLOP/s in the Arm Performance Libraries binary against 60 to 62 in the NVPL binary.
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. Each operation’s SVE passes ran on the machine that measured its NEON page cells, in the same job, after all of that machine’s NEON runs. 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 Eigen rates within 3 % (4.40 against 4.42, 4.80 against 4.80 and 8.37 against 8.57 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.49 before and between 1.00 and 1.42 after a run). 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 (2 MiB) and its cluster’s L3 (16 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.96: 236 cells are more than 5 % slower under SVE and 92 more than 5 % faster.
| Operation | Scalar | n ≤ 16 | 24–128 | 192–1024 | 1536–16384 | > 16384 |
|---|---|---|---|---|---|---|
| AXPY | float | 1.21 | 1.02 | 1.01 | 1.00 | 0.99 |
| AXPY | double | 1.18 | 0.95 | 1.00 | 1.00 | 1.00 |
| DOT | float | 1.00 | 0.97 | 0.97 | 0.97 | 1.01 |
| DOT | double | 1.00 | 1.01 | 1.00 | 1.02 | 1.00 |
| GEMV | float | 0.85 | 0.94 | 1.00 | 0.99 | – |
| GEMV | double | 0.94 | 0.97 | 1.01 | 0.98 | – |
| GEMM | float | 0.85 | 0.81 | 0.97 | 1.04 | – |
| GEMM | double | 1.00 | 1.05 | 1.05 | 1.06 | – |
| TRSM | float | 0.63 | 0.50 | 0.74 | 0.94 | – |
| TRSM | double | 1.01 | 0.80 | 0.96 | 1.05 | – |
| SYRK | float | 1.00 | 1.06 | 1.00 | 1.04 | – |
| SYRK | double | 1.00 | 1.04 | 1.01 | 1.05 | – |
| POTRF | float | 0.72 | 0.99 | 1.01 | 1.01 | – |
| POTRF | double | 0.88 | 1.00 | 1.04 | 1.05 | – |
| GETRF | float | 0.58 | 0.79 | 0.88 | 0.97 | – |
| GETRF | double | 0.87 | 0.97 | 0.99 | 1.04 | – |
| GEQRF | float | 0.92 | 0.85 | 0.86 | 0.89 | – |
| GEQRF | double | 0.93 | 0.95 | 1.02 | 1.03 | – |
| SYEV | float | 0.93 | 0.99 | 0.99 | 0.99 | – |
| SYEV | double | 0.99 | 1.00 | 0.99 | 1.00 | – |
| GESDD | float | 0.92 | 0.90 | 0.92 | 0.95 | – |
| GESDD | double | 1.01 | 0.98 | 1.01 | 1.02 | – |
| GEEV | float | 1.01 | 1.05 | 1.00 | – | – |
| GEEV | double | 1.01 | 1.00 | 0.97 | – | – |
The level-1 and level-2 kernels and the two eigensolvers are within 7 % of the NEON build in every band but two: AXPY up to n = 16 gains 11 to 23 % (2.3 against 2.8 ns per call at n = 2), and GEMV in float up to n = 16 loses 15 %. Unlike on Grace, the matrix-product kernel gains in double: GEMM runs 4 to 9 % faster than under NEON from n = 32 on, and SYRK, POTRF, GETRF, GEQRF and TRSM in double follow it by up to 8 % at their larger sizes. In float, GEMM is 8 to 30 % slower between n = 12 and 160 and 1 to 6 % faster from n = 500 on. The losses concentrate in float at small and medium sizes: TRSM in float runs at 0.38 to 0.57 of its NEON rate from n = 8 to 128 (17.7 against 47.0 GFLOP/s at n = 16) and at 0.62 to 0.89 from 200 to 1024; GETRF in float at 0.47 to 0.57 up to n = 8 and 0.70 to 0.81 up to 128; GEQRF in float at 0.80 to 0.95 at every size; POTRF in float at 0.53 to 0.84 up to n = 16; GESDD in float at 0.88 to 0.96. One size stands out: at n = 192 GEMM and SYRK drop in both SVE passes (GEMM in double to 59 GFLOP/s, against 78 and 80 at n = 160 and 200; SYRK in double to 42, against 59 and 67 at n = 128 and 200), a step the NEON build does not take here. In double that step is not the SVE code but the packing buffers Eigen allocates on every call being page-faulted in again on each call, which depends on the process’s earlier allocations: with glibc’s malloc thresholds fixed the SVE binary runs the GEMM cell at 79 GFLOP/s, and the NEON binary takes the same step when it runs those cells alone (libeigen/eigen#3201); the float step at n = 192 was not re-measured. Since the vector width is the same, the other differences are costs and gains in Eigen’s SVE packet kernels and in the compiler’s handling of the fixed-length SVE types, not in the hardware.
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.6 ns per call for Eigen in either build, against 3.1 ns for OpenBLAS, 4.1 ns for Arm Performance Libraries and 14.6 ns for NVPL. Eigen still computes the whole operation on every call; nothing is hoisted out of the timed loop.
The SVE build is 11 to 23 % faster than the NEON build up to n = 16 and within 8 % of it from n = 48 on, apart from n = 100 (0.85) and n = 256 in float (1.17, a cell the NEON build runs slowly); 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.
Within the run-to-run spread of the NEON build at every length (0.89 to 1.15 per cell); Eigen remains the fastest arm in L1, and in float through 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 4 % of the NEON build from n = 128 on, apart from n = 4097 in double (0.86), and up to 29 % slower in float at n ≤ 16; the sweeps are within 2 % of the NEON build except 100-by-10000 in float (0.92).

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 75 to 80 GFLOP/s in double from n = 200 on, 4 to 9 % above the NEON kernel, which narrows the gap to the vendor libraries: at n = 1024 Eigen runs at 0.92 of Arm Performance Libraries and 0.96 of NVPL in double, against 0.86 and 0.91 under NEON. In float it reaches 157 to 161 GFLOP/s from n = 500 on, 1 to 6 % above the NEON kernel, but runs 8 to 30 % below it between n = 12 and 160, and at 0.80 to 0.83 of it on the 64-by-1024-by-64 and 64-by-64-by-1024 shapes. At n = 192 both precisions drop by 16 to 26 % in both SVE passes (59 GFLOP/s in double, against 78 and 80 at n = 160 and 200); in double that is page faults on the per-call packing buffers, not the kernel, and the cell runs at 79 GFLOP/s with glibc’s malloc thresholds fixed (libeigen/eigen#3201).

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.
In float the SVE build runs at 0.38 to 0.57 of the NEON build from n = 8 to 128 (17.7 against 47.0 GFLOP/s at n = 16), at 0.51 to 0.89 from 192 to 1024 and at 0.91 to 0.98 above, so it falls behind Arm Performance Libraries from n = 192 to 1001, where the NEON build led; with 64 and 256 equations against 4096 right-hand sides it runs at 0.51 and 0.68 of the NEON rate. In double it is 13 to 23 % slower than NEON from n = 16 to 200 and 1 to 7 % faster from 768 on.

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.
The SVE build is 2 to 8 % faster than the NEON build in both precisions from n = 24 on, which brings Eigen to 0.94 of the vendor libraries in double at n = 1024 (0.89 under NEON). The exception is n = 192, where it drops to 0.71 (float) and 0.67 (double) of the NEON rate in both SVE passes; the NEON page’s drops at n = 384 and 768 in float and 512 in double are there in the SVE build too. Those three drops are the per-call allocation of the packing buffers (libeigen/eigen#3201): with glibc’s malloc thresholds fixed the SVE binary runs them at 149, 157 and 72 GFLOP/s.

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.
In float the SVE build is 16 to 47 % slower than NEON up to n = 16 and level from n = 48 on. In
double it is 7 to 18 % slower up to n = 16 and 2 to 5 % faster from n = 128 on, which puts LLT
level with NVPL at the largest sizes.

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.47 to 0.57 of the NEON build up to n = 8, 0.70 to 0.81 from 12 to 128 and 0.83 to 1.0 above, which costs it its lead over Arm Performance Libraries below n = 16. In double it is 8 to 21 % slower up to n = 12, within 4 % from 16 to 1024 and 2 to 8 % faster above.

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.
In float the SVE build is 5 to 20 % slower than NEON at every size (13 to 15 % from n = 96 to 1536) and in the sweeps up to 10 % slower; in double it is within 4 % of NEON from n = 64 on and 4 to 11 % slower below.

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.
Unchanged: within 4 % of the NEON build from n = 12 on except n = 257 (0.93 and 0.94); Eigen keeps its lead of 1.2 to 3.4x over every library.

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.
In float the SVE build is 4 to 12 % slower than NEON at every size from n = 16 on, and in the sweeps except 10000-by-8; in double it is within 5 % of NEON.

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.
Within the run-to-run spread of the NEON build: 0.94 to 1.10 of its rate from n = 24 on. Eigen falls to 0.24 to 0.3x of the libraries at n = 1024, as on the NEON page.

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 | 2.45 | 1.83 | 0.90 | 0.82 | 0.98 |
| AXPY | float | NVPL | 6.66 | 4.09 | 1.43 | 1.06 | 1.01 |
| AXPY | float | OpenBLAS | 1.39 | 1.21 | 0.89 | 0.94 | 1.00 |
| AXPY | double | Arm Performance Libraries | 2.56 | 1.35 | 0.85 | 0.89 | 0.99 |
| AXPY | double | NVPL | 6.49 | 2.60 | 1.23 | 1.03 | 1.00 |
| AXPY | double | OpenBLAS | 1.79 | 0.93 | 0.63 | 0.88 | 1.03 |
| DOT | float | Arm Performance Libraries | 5.47 | 2.23 | 1.43 | 1.58 | 1.03 |
| DOT | float | NVPL | 20.42 | 7.30 | 4.22 | 3.40 | 1.58 |
| DOT | float | OpenBLAS | 4.31 | 1.98 | 1.42 | 1.58 | 1.03 |
| DOT | double | Arm Performance Libraries | 4.91 | 1.78 | 1.31 | 1.16 | 1.00 |
| DOT | double | NVPL | 16.61 | 5.49 | 4.10 | 3.10 | 1.47 |
| DOT | double | OpenBLAS | 3.62 | 1.57 | 1.58 | 1.50 | 1.01 |
| GEMV | float | Arm Performance Libraries | 3.67 | 1.45 | 1.00 | 0.97 | – |
| GEMV | float | NVPL | 5.81 | 1.77 | 1.05 | 0.92 | – |
| GEMV | float | OpenBLAS | 1.94 | 1.43 | 0.98 | 0.89 | – |
| GEMV | double | Arm Performance Libraries | 3.85 | 1.32 | 0.99 | 0.98 | – |
| GEMV | double | NVPL | 5.79 | 1.54 | 1.01 | 0.90 | – |
| GEMV | double | OpenBLAS | 2.05 | 1.35 | 0.98 | 0.95 | – |
| GEMM | float | Arm Performance Libraries | 2.13 | 1.12 | 0.90 | 0.95 | – |
| GEMM | float | NVPL | 3.64 | 1.10 | 0.93 | 0.92 | – |
| GEMM | float | OpenBLAS | 1.28 | 0.96 | 1.12 | 1.18 | – |
| GEMM | double | Arm Performance Libraries | 2.39 | 1.05 | 0.92 | 0.93 | – |
| GEMM | double | NVPL | 4.44 | 1.27 | 1.00 | 0.96 | – |
| GEMM | double | OpenBLAS | 1.85 | 1.65 | 1.14 | 1.16 | – |
| TRSM | float | Arm Performance Libraries | 1.79 | 1.47 | 0.85 | 0.98 | – |
| TRSM | float | NVPL | 27.20 | 2.36 | 1.11 | 0.92 | – |
| TRSM | float | OpenBLAS | 1.72 | 1.87 | 1.26 | 1.14 | – |
| TRSM | double | Arm Performance Libraries | 2.08 | 1.51 | 1.07 | 0.97 | – |
| TRSM | double | NVPL | 34.55 | 2.14 | 1.10 | 0.97 | – |
| TRSM | double | OpenBLAS | 2.14 | 1.46 | 1.09 | 1.12 | – |
| SYRK | float | Arm Performance Libraries | 3.89 | 1.32 | 0.92 | 0.97 | – |
| SYRK | float | NVPL | 15.55 | 2.00 | 0.89 | 0.94 | – |
| SYRK | float | OpenBLAS | 0.95 | 1.30 | 1.09 | 1.16 | – |
| SYRK | double | Arm Performance Libraries | 3.64 | 1.14 | 0.90 | 0.93 | – |
| SYRK | double | NVPL | 12.05 | 1.50 | 0.92 | 0.93 | – |
| SYRK | double | OpenBLAS | 0.90 | 1.50 | 1.03 | 1.09 | – |
| POTRF | float | Arm Performance Libraries | 0.91 | 1.71 | 1.40 | 1.20 | – |
| POTRF | float | NVPL | 4.52 | 1.57 | 1.60 | 1.11 | – |
| POTRF | float | OpenBLAS | 1.15 | 1.09 | 1.21 | 1.11 | – |
| POTRF | double | Arm Performance Libraries | 1.07 | 1.24 | 1.09 | 1.12 | – |
| POTRF | double | NVPL | 4.58 | 1.26 | 1.26 | 1.01 | – |
| POTRF | double | OpenBLAS | 1.33 | 1.00 | 1.02 | 1.08 | – |
| GETRF | float | Arm Performance Libraries | 0.86 | 1.16 | 1.32 | 1.21 | – |
| GETRF | float | NVPL | 3.77 | 2.66 | 1.33 | 1.03 | – |
| GETRF | float | OpenBLAS | 1.42 | 1.38 | 1.13 | 1.07 | – |
| GETRF | double | Arm Performance Libraries | 1.00 | 1.09 | 1.09 | 1.08 | – |
| GETRF | double | NVPL | 5.18 | 2.41 | 1.23 | 1.02 | – |
| GETRF | double | OpenBLAS | 1.85 | 1.28 | 0.98 | 1.07 | – |
| GEQRF | float | Arm Performance Libraries | 0.69 | 0.76 | 1.26 | 0.98 | – |
| GEQRF | float | NVPL | 0.85 | 0.69 | 1.05 | 0.90 | – |
| GEQRF | float | OpenBLAS | 1.03 | 0.94 | 0.95 | 1.04 | – |
| GEQRF | double | Arm Performance Libraries | 0.63 | 0.88 | 1.23 | 1.00 | – |
| GEQRF | double | NVPL | 0.84 | 0.86 | 1.07 | 0.94 | – |
| GEQRF | double | OpenBLAS | 1.08 | 1.16 | 1.03 | 1.08 | – |
| SYEV | float | Arm Performance Libraries | 1.64 | 2.14 | 3.04 | 2.97 | – |
| SYEV | float | NVPL | 1.64 | 2.17 | 2.89 | 2.71 | – |
| SYEV | float | OpenBLAS | 1.30 | 2.04 | 2.86 | 2.73 | – |
| SYEV | double | Arm Performance Libraries | 1.57 | 1.63 | 1.84 | 1.73 | – |
| SYEV | double | NVPL | 1.53 | 1.64 | 1.69 | 1.45 | – |
| SYEV | double | OpenBLAS | 1.31 | 1.61 | 1.69 | 1.48 | – |
| GESDD | float | Arm Performance Libraries | 1.78 | 0.84 | 1.21 | 1.60 | – |
| GESDD | float | NVPL | 1.91 | 0.97 | 1.09 | 1.07 | – |
| GESDD | float | OpenBLAS | 1.39 | 0.77 | 0.97 | 0.99 | – |
| GESDD | double | Arm Performance Libraries | 1.58 | 0.80 | 1.27 | 1.81 | – |
| GESDD | double | NVPL | 1.67 | 0.90 | 1.04 | 1.06 | – |
| GESDD | double | OpenBLAS | 1.31 | 0.77 | 0.94 | 0.97 | – |
| GEEV | float | Arm Performance Libraries | 2.80 | 1.22 | 0.43 | – | – |
| GEEV | float | NVPL | 4.09 | 1.87 | 0.52 | – | – |
| GEEV | float | OpenBLAS | 2.46 | 1.47 | 0.43 | – | – |
| GEEV | double | Arm Performance Libraries | 2.47 | 1.00 | 0.38 | – | – |
| GEEV | double | NVPL | 3.64 | 1.40 | 0.43 | – | – |
| GEEV | double | OpenBLAS | 2.41 | 1.18 | 0.38 | – | – |
Caveats
- The libraries were not measured again: their rows are the NEON page’s session, 0.3 to 2.8 hours earlier on the same machines, 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.34 has no Cortex-X925 target and runs the Neoverse V2 kernels its own CPU detection selects; NVPL’s fixed cost per call, 15 ns at n = 2, sets its ratios at the smallest sizes.
- The operations were measured on three DGX Spark machines, every arm of an operation, NEON and SVE, on one of them; see the NEON page for the split. Every number is from one Cortex-X925 core in the cluster with the 16 MiB L3, single-threaded.
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.7 | 0.7 | 2.45 | 0.3 | 6.70 | 1.4 | 1.22 |
| 3 | 2.6 | 1.1 | 2.45 | 0.4 | 6.67 | 2.0 | 1.33 |
| 4 | 3.5 | 1.4 | 2.45 | 0.5 | 6.48 | 2.4 | 1.45 |
| 6 | 5.1 | 2.0 | 2.52 | 0.8 | 6.81 | 3.1 | 1.63 |
| 8 | 6.8 | 3.0 | 2.30 | 1.1 | 6.46 | 5.6 | 1.22 |
| 12 | 10.4 | 4.3 | 2.43 | 1.6 | 6.61 | 6.3 | 1.64 |
| 16 | 13.7 | 5.2 | 2.61 | 2.0 | 6.89 | 10.5 | 1.30 |
| 24 | 19.5 | 7.5 | 2.59 | 3.0 | 6.52 | 14.3 | 1.37 |
| 32 | 26.0 | 9.6 | 2.70 | 3.9 | 6.72 | 17.2 | 1.51 |
| 48 | 27.4 | 13.3 | 2.07 | 5.5 | 5.02 | 20.7 | 1.32 |
| 64 | 29.6 | 15.2 | 1.94 | 6.9 | 4.29 | 22.6 | 1.31 |
| 96 | 29.0 | 18.7 | 1.55 | 9.3 | 3.12 | 26.0 | 1.11 |
| 100 | 24.3 | 19.0 | 1.27 | 9.0 | 2.71 | 24.4 | 1.00 |
| 128 | 27.2 | 21.6 | 1.26 | 11.3 | 2.41 | 27.6 | 0.99 |
| 192 | 30.1 | 25.4 | 1.18 | 14.4 | 2.09 | 30.1 | 1.00 |
| 256 | 30.4 | 28.1 | 1.08 | 16.6 | 1.83 | 31.4 | 0.97 |
| 384 | 30.8 | 31.5 | 0.98 | 19.7 | 1.56 | 32.8 | 0.94 |
| 512 | 30.9 | 33.4 | 0.93 | 21.8 | 1.42 | 33.6 | 0.92 |
| 768 | 28.8 | 35.7 | 0.81 | 22.3 | 1.29 | 34.1 | 0.84 |
| 1000 | 27.1 | 36.4 | 0.75 | 24.3 | 1.12 | 34.5 | 0.79 |
| 1001 | 27.9 | 36.8 | 0.76 | 24.2 | 1.16 | 34.2 | 0.82 |
| 1024 | 29.6 | 36.5 | 0.81 | 24.3 | 1.22 | 34.0 | 0.87 |
| 1536 | 30.2 | 38.1 | 0.79 | 26.4 | 1.14 | 33.5 | 0.90 |
| 2048 | 30.5 | 39.1 | 0.78 | 27.3 | 1.12 | 32.9 | 0.93 |
| 3072 | 30.8 | 38.6 | 0.80 | 28.6 | 1.08 | 33.5 | 0.92 |
| 4096 | 30.9 | 39.1 | 0.79 | 29.1 | 1.06 | 33.6 | 0.92 |
| 6144 | 31.1 | 39.6 | 0.79 | 29.9 | 1.04 | 35.0 | 0.89 |
| 8192 | 31.2 | 39.7 | 0.79 | 30.2 | 1.03 | 34.7 | 0.90 |
| 10000 | 31.2 | 37.8 | 0.83 | 30.3 | 1.03 | 33.2 | 0.94 |
| 12288 | 31.1 | 35.9 | 0.87 | 30.4 | 1.03 | 32.2 | 0.97 |
| 16384 | 29.7 | 31.2 | 0.95 | 29.2 | 1.02 | 27.9 | 1.07 |
| 32768 | 29.8 | 30.3 | 0.98 | 29.4 | 1.01 | 28.3 | 1.05 |
| 65536 | 29.6 | 30.2 | 0.98 | 29.4 | 1.01 | 28.3 | 1.05 |
| 100000 | 29.9 | 30.6 | 0.98 | 30.0 | 1.00 | 28.9 | 1.04 |
| 131072 | 29.5 | 30.0 | 0.98 | 29.4 | 1.00 | 28.2 | 1.05 |
| 262144 | 28.3 | 29.3 | 0.97 | 29.0 | 0.98 | 27.9 | 1.01 |
| 524288 | 26.1 | 26.3 | 0.99 | 26.5 | 0.99 | 26.3 | 0.99 |
| 1000000 | 24.6 | 24.4 | 1.01 | 24.3 | 1.01 | 24.7 | 1.00 |
| 1048576 | 21.2 | 21.7 | 0.98 | 20.5 | 1.03 | 20.5 | 1.03 |
| 2097152 | 21.9 | 21.3 | 1.03 | 20.9 | 1.05 | 20.7 | 1.05 |
| 4194304 | 13.8 | 15.3 | 0.91 | 13.9 | 0.99 | 15.3 | 0.90 |
| 8388608 | 10.1 | 10.7 | 0.94 | 10.1 | 1.00 | 10.7 | 0.94 |
| 16777216 | 8.9 | 9.2 | 0.97 | 8.9 | 1.00 | 9.3 | 0.96 |
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.7 | 0.7 | 2.45 | 0.3 | 6.52 | 1.3 | 1.33 |
| 3 | 2.6 | 1.0 | 2.52 | 0.4 | 6.31 | 1.9 | 1.32 |
| 4 | 3.4 | 1.4 | 2.41 | 0.5 | 6.34 | 2.4 | 1.42 |
| 6 | 5.2 | 2.0 | 2.64 | 0.8 | 6.52 | 3.2 | 1.64 |
| 8 | 6.8 | 2.5 | 2.72 | 1.0 | 6.55 | 3.1 | 2.23 |
| 12 | 9.7 | 3.7 | 2.59 | 1.5 | 6.41 | 3.7 | 2.61 |
| 16 | 12.6 | 4.8 | 2.60 | 1.9 | 6.75 | 5.0 | 2.50 |
| 24 | 12.8 | 6.4 | 1.99 | 2.8 | 4.49 | 5.5 | 2.32 |
| 32 | 12.8 | 7.7 | 1.67 | 3.6 | 3.58 | 14.7 | 0.87 |
| 48 | 13.2 | 9.4 | 1.41 | 4.8 | 2.78 | 12.1 | 1.10 |
| 64 | 14.7 | 10.9 | 1.35 | 5.8 | 2.55 | 17.9 | 0.82 |
| 96 | 15.1 | 12.9 | 1.17 | 7.3 | 2.06 | 20.5 | 0.73 |
| 100 | 12.8 | 12.8 | 0.99 | 6.7 | 1.90 | 19.9 | 0.64 |
| 128 | 15.2 | 14.0 | 1.09 | 8.4 | 1.81 | 21.4 | 0.71 |
| 192 | 15.4 | 15.5 | 0.99 | 9.9 | 1.55 | 22.6 | 0.68 |
| 256 | 15.5 | 16.8 | 0.92 | 10.9 | 1.42 | 23.4 | 0.66 |
| 384 | 14.3 | 17.9 | 0.80 | 11.3 | 1.27 | 23.9 | 0.60 |
| 512 | 14.8 | 18.4 | 0.81 | 12.2 | 1.21 | 24.2 | 0.61 |
| 768 | 15.1 | 17.6 | 0.86 | 13.2 | 1.15 | 24.4 | 0.62 |
| 1000 | 15.3 | 18.8 | 0.81 | 13.7 | 1.11 | 24.3 | 0.63 |
| 1001 | 15.2 | 18.7 | 0.81 | 13.7 | 1.11 | 24.3 | 0.63 |
| 1024 | 15.3 | 19.6 | 0.78 | 13.7 | 1.11 | 24.7 | 0.62 |
| 1536 | 15.4 | 18.5 | 0.83 | 14.4 | 1.07 | 24.8 | 0.62 |
| 2048 | 15.5 | 18.8 | 0.82 | 14.6 | 1.06 | 24.8 | 0.62 |
| 3072 | 15.6 | 19.1 | 0.82 | 15.0 | 1.04 | 20.8 | 0.75 |
| 4096 | 15.6 | 19.2 | 0.81 | 15.2 | 1.03 | 20.4 | 0.77 |
| 6144 | 15.6 | 17.9 | 0.87 | 15.3 | 1.01 | 17.5 | 0.89 |
| 8192 | 14.8 | 15.6 | 0.95 | 14.7 | 1.01 | 13.9 | 1.06 |
| 10000 | 15.6 | 16.7 | 0.93 | 15.4 | 1.01 | 14.0 | 1.11 |
| 12288 | 14.8 | 15.1 | 0.98 | 14.7 | 1.01 | 13.0 | 1.14 |
| 16384 | 14.9 | 15.1 | 0.98 | 14.8 | 1.00 | 13.0 | 1.14 |
| 32768 | 14.8 | 15.1 | 0.98 | 14.7 | 1.00 | 12.9 | 1.14 |
| 65536 | 14.5 | 15.0 | 0.97 | 14.8 | 0.98 | 13.5 | 1.08 |
| 100000 | 14.6 | 15.1 | 0.97 | 14.8 | 0.99 | 13.9 | 1.05 |
| 131072 | 14.1 | 14.6 | 0.97 | 14.5 | 0.98 | 13.7 | 1.03 |
| 262144 | 13.0 | 13.2 | 0.99 | 13.3 | 0.98 | 12.5 | 1.04 |
| 524288 | 10.7 | 10.9 | 0.99 | 10.3 | 1.05 | 10.6 | 1.01 |
| 1000000 | 11.5 | 11.5 | 1.01 | 11.4 | 1.01 | 11.4 | 1.02 |
| 1048576 | 11.2 | 10.7 | 1.05 | 10.8 | 1.04 | 10.7 | 1.05 |
| 2097152 | 7.6 | 7.6 | 1.00 | 7.6 | 1.00 | 7.7 | 0.99 |
| 4194304 | 5.3 | 5.3 | 1.00 | 5.3 | 1.00 | 5.4 | 0.99 |
| 8388608 | 4.5 | 4.6 | 0.99 | 4.6 | 0.99 | 4.6 | 0.98 |
| 16777216 | 4.4 | 4.4 | 0.99 | 4.4 | 1.00 | 4.5 | 0.99 |
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 | 6.8 | 1.0 | 6.74 | 0.3 | 25.62 | 1.3 | 5.21 |
| 3 | 8.7 | 1.4 | 6.31 | 0.4 | 22.02 | 2.0 | 4.44 |
| 4 | 15.7 | 2.1 | 7.49 | 0.5 | 30.17 | 2.6 | 6.00 |
| 6 | 12.6 | 2.8 | 4.58 | 0.8 | 16.19 | 3.9 | 3.22 |
| 8 | 21.9 | 4.2 | 5.25 | 1.1 | 20.71 | 4.8 | 4.55 |
| 12 | 29.3 | 5.5 | 5.31 | 1.6 | 18.81 | 7.3 | 4.03 |
| 16 | 28.3 | 7.8 | 3.62 | 2.0 | 13.79 | 8.4 | 3.37 |
| 24 | 32.3 | 9.9 | 3.27 | 3.0 | 10.80 | 11.8 | 2.73 |
| 32 | 41.8 | 12.5 | 3.34 | 3.7 | 11.25 | 14.8 | 2.82 |
| 48 | 43.9 | 17.1 | 2.56 | 5.3 | 8.21 | 19.8 | 2.22 |
| 64 | 43.7 | 20.9 | 2.09 | 6.2 | 7.00 | 23.9 | 1.83 |
| 96 | 46.4 | 25.9 | 1.79 | 7.9 | 5.86 | 27.9 | 1.66 |
| 100 | 44.2 | 26.0 | 1.70 | 8.2 | 5.42 | 29.3 | 1.51 |
| 128 | 45.3 | 29.2 | 1.55 | 9.1 | 4.97 | 29.7 | 1.53 |
| 192 | 49.6 | 33.3 | 1.49 | 10.5 | 4.72 | 36.2 | 1.37 |
| 256 | 52.7 | 38.0 | 1.39 | 11.5 | 4.58 | 39.6 | 1.33 |
| 384 | 53.5 | 39.1 | 1.37 | 12.5 | 4.27 | 39.2 | 1.37 |
| 512 | 56.7 | 39.3 | 1.44 | 13.2 | 4.29 | 38.5 | 1.47 |
| 768 | 57.7 | 40.1 | 1.44 | 14.0 | 4.13 | 39.3 | 1.47 |
| 1000 | 55.2 | 39.1 | 1.41 | 14.3 | 3.86 | 39.1 | 1.41 |
| 1001 | 56.1 | 38.9 | 1.44 | 14.3 | 3.92 | 38.7 | 1.45 |
| 1024 | 57.8 | 39.3 | 1.47 | 14.3 | 4.04 | 39.1 | 1.48 |
| 1536 | 58.3 | 36.3 | 1.60 | 14.7 | 3.96 | 35.8 | 1.63 |
| 2048 | 57.6 | 35.0 | 1.65 | 14.9 | 3.87 | 34.5 | 1.67 |
| 3072 | 58.2 | 33.5 | 1.74 | 15.2 | 3.83 | 33.4 | 1.75 |
| 4096 | 58.6 | 33.0 | 1.78 | 15.3 | 3.83 | 32.9 | 1.78 |
| 6144 | 57.8 | 32.1 | 1.80 | 15.4 | 3.75 | 32.4 | 1.78 |
| 8192 | 57.0 | 32.0 | 1.78 | 15.5 | 3.68 | 32.0 | 1.78 |
| 10000 | 44.2 | 31.6 | 1.40 | 15.5 | 2.85 | 31.8 | 1.39 |
| 12288 | 42.2 | 31.6 | 1.34 | 15.5 | 2.73 | 31.6 | 1.34 |
| 16384 | 39.2 | 31.5 | 1.25 | 15.5 | 2.52 | 31.6 | 1.24 |
| 32768 | 37.7 | 31.2 | 1.21 | 15.6 | 2.42 | 31.4 | 1.20 |
| 65536 | 34.1 | 31.2 | 1.09 | 15.7 | 2.18 | 31.5 | 1.09 |
| 100000 | 34.3 | 31.4 | 1.09 | 15.7 | 2.19 | 31.3 | 1.09 |
| 131072 | 34.0 | 31.1 | 1.09 | 15.6 | 2.18 | 31.4 | 1.08 |
| 262144 | 31.5 | 30.7 | 1.03 | 15.7 | 2.01 | 30.7 | 1.03 |
| 524288 | 25.3 | 26.1 | 0.97 | 15.7 | 1.61 | 25.9 | 0.98 |
| 1000000 | 22.6 | 23.0 | 0.98 | 15.7 | 1.44 | 23.2 | 0.97 |
| 1048576 | 21.1 | 22.3 | 0.94 | 15.6 | 1.35 | 22.1 | 0.95 |
| 2097152 | 21.8 | 22.1 | 0.99 | 15.5 | 1.41 | 22.2 | 0.98 |
| 4194304 | 15.1 | 15.1 | 1.00 | 13.8 | 1.10 | 15.2 | 1.00 |
| 8388608 | 11.7 | 11.7 | 1.00 | 11.5 | 1.01 | 11.7 | 1.00 |
| 16777216 | 10.2 | 10.2 | 1.00 | 10.1 | 1.01 | 10.2 | 1.00 |
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 | 6.3 | 1.0 | 6.48 | 0.3 | 23.16 | 1.3 | 4.83 |
| 3 | 9.1 | 1.4 | 6.54 | 0.4 | 22.72 | 2.1 | 4.23 |
| 4 | 11.5 | 1.8 | 6.23 | 0.5 | 21.55 | 2.4 | 4.74 |
| 6 | 13.8 | 2.4 | 5.86 | 0.8 | 17.50 | 3.9 | 3.52 |
| 8 | 14.9 | 3.5 | 4.27 | 1.0 | 14.58 | 4.5 | 3.30 |
| 12 | 17.2 | 5.2 | 3.29 | 1.5 | 11.65 | 6.3 | 2.73 |
| 16 | 20.8 | 6.6 | 3.15 | 2.0 | 10.34 | 7.9 | 2.64 |
| 24 | 21.3 | 8.2 | 2.62 | 2.6 | 8.11 | 10.5 | 2.04 |
| 32 | 22.7 | 10.0 | 2.27 | 3.3 | 6.92 | 12.5 | 1.82 |
| 48 | 23.5 | 12.3 | 1.91 | 4.1 | 5.67 | 14.1 | 1.67 |
| 64 | 22.7 | 14.3 | 1.59 | 4.7 | 4.86 | 15.2 | 1.49 |
| 96 | 25.1 | 16.7 | 1.51 | 5.4 | 4.66 | 18.1 | 1.39 |
| 100 | 25.2 | 17.8 | 1.42 | 5.5 | 4.61 | 18.3 | 1.37 |
| 128 | 26.4 | 18.2 | 1.45 | 5.9 | 4.51 | 20.1 | 1.32 |
| 192 | 27.8 | 20.0 | 1.40 | 6.4 | 4.37 | 20.1 | 1.39 |
| 256 | 28.7 | 20.4 | 1.41 | 6.7 | 4.29 | 19.4 | 1.48 |
| 384 | 29.5 | 21.7 | 1.36 | 7.0 | 4.22 | 19.8 | 1.49 |
| 512 | 29.9 | 22.6 | 1.32 | 7.2 | 4.14 | 19.6 | 1.53 |
| 768 | 30.5 | 23.4 | 1.30 | 7.4 | 4.11 | 18.0 | 1.69 |
| 1000 | 28.8 | 23.6 | 1.22 | 7.5 | 3.83 | 17.3 | 1.66 |
| 1001 | 28.2 | 23.1 | 1.22 | 7.5 | 3.78 | 17.4 | 1.62 |
| 1024 | 30.7 | 23.6 | 1.30 | 7.5 | 4.09 | 17.2 | 1.79 |
| 1536 | 31.0 | 24.0 | 1.29 | 7.6 | 4.07 | 16.7 | 1.86 |
| 2048 | 31.0 | 23.9 | 1.29 | 7.6 | 4.05 | 16.4 | 1.89 |
| 3072 | 30.9 | 23.3 | 1.32 | 7.7 | 4.01 | 16.1 | 1.91 |
| 4096 | 29.5 | 22.4 | 1.31 | 7.7 | 3.81 | 16.0 | 1.84 |
| 6144 | 21.1 | 20.9 | 1.01 | 7.8 | 2.72 | 15.8 | 1.34 |
| 8192 | 19.6 | 18.4 | 1.07 | 7.8 | 2.52 | 15.9 | 1.24 |
| 10000 | 19.8 | 20.3 | 0.97 | 7.8 | 2.53 | 15.8 | 1.25 |
| 12288 | 19.4 | 17.4 | 1.12 | 7.8 | 2.49 | 15.8 | 1.23 |
| 16384 | 18.8 | 17.4 | 1.08 | 7.8 | 2.41 | 15.6 | 1.20 |
| 32768 | 17.1 | 17.4 | 0.99 | 7.8 | 2.19 | 15.7 | 1.09 |
| 65536 | 17.0 | 17.2 | 0.99 | 7.8 | 2.17 | 15.6 | 1.09 |
| 100000 | 16.6 | 16.6 | 1.00 | 7.8 | 2.12 | 15.5 | 1.07 |
| 131072 | 15.8 | 15.5 | 1.02 | 7.8 | 2.02 | 15.3 | 1.03 |
| 262144 | 12.7 | 12.0 | 1.06 | 7.8 | 1.62 | 13.0 | 0.97 |
| 524288 | 10.5 | 10.6 | 0.99 | 7.8 | 1.36 | 11.0 | 0.96 |
| 1000000 | 11.2 | 11.3 | 0.99 | 7.8 | 1.42 | 11.7 | 0.95 |
| 1048576 | 10.9 | 11.1 | 0.98 | 7.7 | 1.41 | 11.1 | 0.98 |
| 2097152 | 7.5 | 7.5 | 1.01 | 6.9 | 1.09 | 7.6 | 1.00 |
| 4194304 | 5.8 | 5.9 | 1.00 | 5.8 | 1.02 | 5.8 | 1.00 |
| 8388608 | 5.1 | 5.1 | 1.00 | 5.1 | 1.01 | 5.1 | 1.00 |
| 16777216 | 4.8 | 4.8 | 1.00 | 4.8 | 1.01 | 4.8 | 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.6 | 0.4 | 4.09 | 0.2 | 6.65 | 0.7 | 2.11 |
| 3x3 | 2.8 | 0.8 | 3.34 | 0.5 | 5.70 | 1.7 | 1.65 |
| 4x4 | 7.4 | 1.5 | 5.01 | 0.8 | 8.91 | 3.0 | 2.45 |
| 6x6 | 8.5 | 3.1 | 2.78 | 1.6 | 5.32 | 5.9 | 1.44 |
| 8x8 | 21.7 | 5.2 | 4.17 | 3.6 | 6.00 | 9.5 | 2.28 |
| 12x12 | 34.7 | 9.4 | 3.69 | 6.2 | 5.60 | 17.9 | 1.94 |
| 16x16 | 43.6 | 14.2 | 3.07 | 11.8 | 3.69 | 22.9 | 1.91 |
| 24x24 | 50.8 | 26.9 | 1.89 | 21.5 | 2.36 | 35.6 | 1.43 |
| 32x32 | 82.0 | 37.7 | 2.17 | 30.7 | 2.67 | 41.5 | 1.98 |
| 48x48 | 76.5 | 54.3 | 1.41 | 44.3 | 1.73 | 56.6 | 1.35 |
| 64x64 | 89.6 | 63.1 | 1.42 | 53.7 | 1.67 | 60.2 | 1.49 |
| 96x96 | 90.0 | 70.0 | 1.29 | 59.7 | 1.51 | 66.0 | 1.36 |
| 100x100 | 76.3 | 70.6 | 1.08 | 53.3 | 1.43 | 65.5 | 1.16 |
| 128x128 | 83.9 | 71.2 | 1.18 | 60.4 | 1.39 | 62.5 | 1.34 |
| 192x192 | 68.6 | 64.8 | 1.06 | 61.0 | 1.12 | 55.0 | 1.25 |
| 200x200 | 66.2 | 68.0 | 0.97 | 59.3 | 1.12 | 61.0 | 1.08 |
| 256x256 | 64.6 | 62.2 | 1.04 | 59.9 | 1.08 | 61.8 | 1.05 |
| 257x257 | 51.4 | 50.2 | 1.02 | 49.6 | 1.04 | 53.5 | 0.96 |
| 384x384 | 60.8 | 59.2 | 1.03 | 58.4 | 1.04 | 56.4 | 1.08 |
| 500x500 | 59.0 | 63.5 | 0.93 | 58.4 | 1.01 | 60.4 | 0.98 |
| 512x512 | 59.6 | 59.2 | 1.01 | 59.3 | 1.01 | 60.6 | 0.98 |
| 768x768 | 51.0 | 50.4 | 1.01 | 48.3 | 1.06 | 53.0 | 0.96 |
| 1000x1000 | 45.1 | 46.0 | 0.98 | 42.6 | 1.06 | 53.0 | 0.85 |
| 1001x1001 | 43.1 | 44.4 | 0.97 | 41.1 | 1.05 | 49.9 | 0.86 |
| 1024x1024 | 40.1 | 40.7 | 0.98 | 41.4 | 0.97 | 52.5 | 0.76 |
| 1536x1536 | 40.2 | 40.2 | 1.00 | 39.2 | 1.03 | 42.8 | 0.94 |
| 2048x2048 | 29.1 | 30.5 | 0.95 | 35.5 | 0.82 | 37.3 | 0.78 |
| 3072x3072 | 23.4 | 24.6 | 0.95 | 25.5 | 0.92 | 26.2 | 0.89 |
| 4096x4096 | 18.4 | 19.1 | 0.96 | 20.6 | 0.89 | 21.5 | 0.85 |
| 4097x4097 | 17.5 | 18.6 | 0.94 | 19.9 | 0.88 | 22.3 | 0.79 |
| 6144x6144 | 16.7 | 18.2 | 0.92 | 18.4 | 0.91 | 18.4 | 0.90 |
| 8192x8192 | 16.3 | 17.0 | 0.96 | 17.6 | 0.93 | 17.7 | 0.92 |
| 12288x12288 | 16.1 | 16.8 | 0.96 | 17.6 | 0.91 | 16.9 | 0.95 |
| 16384x16384 | 17.2 | 15.9 | 1.08 | 16.9 | 1.01 | 17.1 | 1.01 |
| 8x10000 | 41.5 | 21.3 | 1.95 | 21.4 | 1.94 | 12.4 | 3.35 |
| 100x10000 | 41.5 | 41.5 | 1.00 | 47.6 | 0.87 | 45.4 | 0.91 |
| 1000x10000 | 20.6 | 21.8 | 0.95 | 23.9 | 0.86 | 27.0 | 0.76 |
| 4000x10000 | 18.4 | 18.6 | 0.99 | 18.4 | 1.00 | 18.8 | 0.98 |
| 10000x8 | 60.6 | 61.9 | 0.98 | 59.2 | 1.03 | 43.4 | 1.40 |
| 10000x100 | 41.4 | 44.1 | 0.94 | 42.6 | 0.97 | 44.4 | 0.93 |
| 10000x1000 | 24.5 | 25.9 | 0.95 | 25.4 | 0.97 | 24.4 | 1.01 |
| 10000x4000 | 18.6 | 19.1 | 0.97 | 18.4 | 1.01 | 18.6 | 1.00 |
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 | 2.0 | 0.4 | 5.38 | 0.2 | 8.60 | 0.7 | 2.72 |
| 3x3 | 3.5 | 0.8 | 4.30 | 0.5 | 7.13 | 1.7 | 2.03 |
| 4x4 | 6.6 | 1.4 | 4.70 | 0.8 | 8.05 | 2.9 | 2.32 |
| 6x6 | 12.0 | 3.1 | 3.86 | 1.6 | 7.54 | 6.0 | 2.00 |
| 8x8 | 16.5 | 3.9 | 4.22 | 3.5 | 4.74 | 7.9 | 2.08 |
| 12x12 | 21.5 | 8.4 | 2.55 | 5.7 | 3.74 | 14.6 | 1.47 |
| 16x16 | 34.8 | 12.5 | 2.79 | 10.5 | 3.31 | 18.1 | 1.92 |
| 24x24 | 37.4 | 20.4 | 1.84 | 17.1 | 2.19 | 25.3 | 1.48 |
| 32x32 | 43.4 | 25.9 | 1.67 | 22.3 | 1.95 | 27.8 | 1.56 |
| 48x48 | 44.8 | 32.6 | 1.37 | 27.4 | 1.63 | 31.9 | 1.41 |
| 64x64 | 44.6 | 36.1 | 1.24 | 31.1 | 1.43 | 32.1 | 1.39 |
| 96x96 | 42.1 | 35.3 | 1.19 | 30.9 | 1.36 | 33.4 | 1.26 |
| 100x100 | 37.9 | 36.6 | 1.04 | 29.3 | 1.29 | 31.8 | 1.19 |
| 128x128 | 35.0 | 32.9 | 1.07 | 30.2 | 1.16 | 29.6 | 1.19 |
| 192x192 | 31.8 | 29.9 | 1.06 | 28.5 | 1.12 | 28.3 | 1.12 |
| 200x200 | 31.6 | 31.7 | 1.00 | 29.1 | 1.09 | 30.4 | 1.04 |
| 256x256 | 30.6 | 30.1 | 1.02 | 29.8 | 1.02 | 28.2 | 1.08 |
| 257x257 | 27.1 | 27.6 | 0.98 | 26.6 | 1.02 | 26.1 | 1.04 |
| 384x384 | 29.3 | 28.7 | 1.02 | 28.2 | 1.04 | 27.1 | 1.08 |
| 500x500 | 26.4 | 27.6 | 0.96 | 25.0 | 1.06 | 27.1 | 0.97 |
| 512x512 | 23.5 | 24.1 | 0.98 | 25.6 | 0.92 | 26.1 | 0.90 |
| 768x768 | 21.8 | 21.6 | 1.01 | 22.1 | 0.99 | 22.9 | 0.95 |
| 1000x1000 | 20.7 | 21.0 | 0.98 | 20.9 | 0.99 | 21.6 | 0.96 |
| 1001x1001 | 20.2 | 20.5 | 0.98 | 20.8 | 0.97 | 22.7 | 0.89 |
| 1024x1024 | 16.5 | 17.9 | 0.92 | 18.3 | 0.90 | 21.7 | 0.76 |
| 1536x1536 | 15.3 | 16.0 | 0.96 | 18.8 | 0.82 | 16.7 | 0.92 |
| 2048x2048 | 11.5 | 11.5 | 1.00 | 12.9 | 0.89 | 11.1 | 1.03 |
| 3072x3072 | 9.4 | 10.1 | 0.93 | 10.3 | 0.91 | 9.0 | 1.04 |
| 4096x4096 | 8.4 | 8.9 | 0.94 | 9.1 | 0.92 | 9.4 | 0.89 |
| 4097x4097 | 6.8 | 8.6 | 0.79 | 9.3 | 0.73 | 9.6 | 0.70 |
| 6144x6144 | 8.1 | 8.5 | 0.96 | 8.8 | 0.92 | 8.7 | 0.94 |
| 8192x8192 | 8.6 | 8.0 | 1.07 | 8.6 | 0.99 | 8.6 | 1.00 |
| 12288x12288 | 8.6 | 8.4 | 1.03 | 8.9 | 0.96 | 8.0 | 1.08 |
| 16384x16384 | 8.6 | 7.1 | 1.21 | 8.3 | 1.03 | 8.5 | 1.01 |
| 8x10000 | 26.8 | 19.8 | 1.35 | 15.9 | 1.68 | 12.2 | 2.19 |
| 100x10000 | 17.4 | 18.2 | 0.95 | 19.7 | 0.88 | 21.8 | 0.80 |
| 1000x10000 | 9.5 | 9.7 | 0.98 | 9.7 | 0.97 | 9.1 | 1.04 |
| 4000x10000 | 8.8 | 9.0 | 0.98 | 9.0 | 0.98 | 8.2 | 1.07 |
| 10000x8 | 29.2 | 30.2 | 0.97 | 29.8 | 0.98 | 20.6 | 1.42 |
| 10000x100 | 18.3 | 20.7 | 0.89 | 20.7 | 0.88 | 19.1 | 0.96 |
| 10000x1000 | 10.1 | 10.7 | 0.94 | 10.6 | 0.95 | 10.2 | 0.99 |
| 10000x4000 | 8.6 | 9.0 | 0.95 | 8.9 | 0.96 | 8.8 | 0.98 |
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.4 | 0.9 | 1.65 | 0.2 | 8.41 | 0.5 | 2.86 |
| 3x3x3 | 2.4 | 1.6 | 1.46 | 0.5 | 4.47 | 1.5 | 1.55 |
| 4x4x4 | 13.2 | 2.9 | 4.50 | 1.2 | 10.75 | 3.9 | 3.37 |
| 6x6x6 | 8.4 | 5.1 | 1.66 | 3.4 | 2.45 | 9.2 | 0.92 |
| 8x8x8 | 19.3 | 6.2 | 3.10 | 8.2 | 2.36 | 21.0 | 0.92 |
| 12x12x12 | 32.6 | 14.8 | 2.20 | 16.7 | 1.96 | 45.3 | 0.72 |
| 16x16x16 | 45.4 | 27.9 | 1.63 | 24.3 | 1.86 | 72.9 | 0.62 |
| 24x24x24 | 68.9 | 64.2 | 1.07 | 57.6 | 1.20 | 79.3 | 0.87 |
| 32x32x32 | 82.5 | 23.0 | 3.58 | 62.0 | 1.33 | 111.7 | 0.74 |
| 48x48x48 | 102.3 | 115.3 | 0.89 | 97.7 | 1.05 | 123.9 | 0.83 |
| 64x64x64 | 110.1 | 120.8 | 0.91 | 96.7 | 1.14 | 128.1 | 0.86 |
| 96x96x96 | 127.6 | 147.2 | 0.87 | 128.8 | 0.99 | 74.4 | 1.71 |
| 100x100x100 | 123.8 | 134.7 | 0.92 | 116.0 | 1.07 | 127.3 | 0.97 |
| 128x128x128 | 134.4 | 149.8 | 0.90 | 134.3 | 1.00 | 132.0 | 1.02 |
| 160x160x160 | 139.7 | 153.9 | 0.91 | 136.3 | 1.02 | 134.7 | 1.04 |
| 192x192x192 | 117.9 | 163.9 | 0.72 | 152.9 | 0.77 | 134.3 | 0.88 |
| 200x200x200 | 147.2 | 162.6 | 0.90 | 151.8 | 0.97 | 133.4 | 1.10 |
| 224x224x224 | 149.2 | 164.4 | 0.91 | 153.7 | 0.97 | 135.8 | 1.10 |
| 256x256x256 | 149.9 | 163.8 | 0.92 | 153.7 | 0.98 | 110.4 | 1.36 |
| 257x257x257 | 146.3 | 158.1 | 0.93 | 152.3 | 0.96 | 130.6 | 1.12 |
| 288x288x288 | 153.5 | 170.2 | 0.90 | 162.6 | 0.94 | 137.5 | 1.12 |
| 320x320x320 | 155.1 | 168.7 | 0.92 | 161.4 | 0.96 | 136.8 | 1.13 |
| 384x384x384 | 130.4 | 171.5 | 0.76 | 166.3 | 0.78 | 136.5 | 0.96 |
| 448x448x448 | 156.0 | 168.7 | 0.92 | 166.1 | 0.94 | 137.2 | 1.14 |
| 500x500x500 | 158.7 | 167.6 | 0.95 | 168.6 | 0.94 | 135.6 | 1.17 |
| 512x512x512 | 158.4 | 168.2 | 0.94 | 167.8 | 0.94 | 136.5 | 1.16 |
| 768x768x768 | 160.4 | 172.6 | 0.93 | 169.7 | 0.95 | 137.7 | 1.16 |
| 1000x1000x1000 | 160.1 | 175.2 | 0.91 | 170.9 | 0.94 | 137.9 | 1.16 |
| 1001x1001x1001 | 159.5 | 171.6 | 0.93 | 170.4 | 0.94 | 136.3 | 1.17 |
| 1024x1024x1024 | 159.6 | 171.0 | 0.93 | 169.7 | 0.94 | 137.4 | 1.16 |
| 1536x1536x1536 | 159.5 | 171.4 | 0.93 | 172.7 | 0.92 | 137.4 | 1.16 |
| 2048x2048x2048 | 158.8 | 164.2 | 0.97 | 170.7 | 0.93 | 135.9 | 1.17 |
| 3072x3072x3072 | 159.2 | 166.2 | 0.96 | 174.0 | 0.91 | 135.2 | 1.18 |
| 4096x4096x4096 | 158.3 | 165.5 | 0.96 | 170.4 | 0.93 | 132.6 | 1.19 |
| 4097x4097x4097 | 157.8 | 172.4 | 0.91 | 171.1 | 0.92 | 133.4 | 1.18 |
| 64x64x1024 | 114.1 | 127.4 | 0.90 | 123.4 | 0.92 | 125.9 | 0.91 |
| 64x1024x64 | 112.8 | 142.6 | 0.79 | 116.2 | 0.97 | 132.7 | 0.85 |
| 256x256x1024 | 149.3 | 158.4 | 0.94 | 158.7 | 0.94 | 134.8 | 1.11 |
| 1024x64x64 | 135.5 | 37.9 | 3.57 | 104.6 | 1.30 | 133.0 | 1.02 |
| 1024x256x256 | 156.3 | 158.9 | 0.98 | 155.1 | 1.01 | 137.3 | 1.14 |
| 4096x96x96 | 142.2 | 140.1 | 1.01 | 131.9 | 1.08 | 133.4 | 1.07 |
| 4096x128x128 | 147.7 | 142.8 | 1.03 | 135.3 | 1.09 | 135.9 | 1.09 |
| 4096x144x144 | 149.4 | 150.5 | 0.99 | 142.7 | 1.05 | 134.9 | 1.11 |
| 4096x160x160 | 150.9 | 146.3 | 1.03 | 140.9 | 1.07 | 135.9 | 1.11 |
| 4096x176x176 | 152.1 | 151.9 | 1.00 | 146.9 | 1.04 | 136.4 | 1.12 |
| 8192x128x128 | 147.8 | 142.5 | 1.04 | 135.0 | 1.09 | 135.3 | 1.09 |
| 10000x8x8 | 67.7 | 41.8 | 1.62 | 23.0 | 2.95 | 93.2 | 0.73 |
| 10000x100x100 | 148.4 | 147.7 | 1.00 | 129.8 | 1.14 | 135.6 | 1.09 |
| 10000x1000x1000 | 159.2 | 164.5 | 0.97 | 171.1 | 0.93 | 137.6 | 1.16 |
| 10000x4000x4000 | 163.8 | 170.2 | 0.96 | 174.9 | 0.94 | 136.1 | 1.20 |
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 | 3.6 | 0.7 | 5.18 | 0.2 | 21.19 | 0.5 | 6.87 |
| 3x3x3 | 3.1 | 2.4 | 1.27 | 0.5 | 5.83 | 1.6 | 1.98 |
| 4x4x4 | 8.1 | 2.9 | 2.78 | 1.2 | 6.62 | 3.7 | 2.18 |
| 6x6x6 | 10.6 | 5.0 | 2.13 | 3.8 | 2.76 | 8.5 | 1.25 |
| 8x8x8 | 15.5 | 6.2 | 2.48 | 5.6 | 2.79 | 17.6 | 0.88 |
| 12x12x12 | 28.7 | 11.3 | 2.53 | 11.1 | 2.59 | 33.1 | 0.87 |
| 16x16x16 | 39.3 | 21.5 | 1.82 | 18.9 | 2.08 | 14.8 | 2.65 |
| 24x24x24 | 52.8 | 41.8 | 1.26 | 33.6 | 1.57 | 54.7 | 0.96 |
| 32x32x32 | 58.6 | 47.4 | 1.24 | 36.6 | 1.60 | 13.5 | 4.34 |
| 48x48x48 | 66.0 | 66.1 | 1.00 | 52.4 | 1.26 | 45.4 | 1.45 |
| 64x64x64 | 68.2 | 70.1 | 0.97 | 56.1 | 1.22 | 35.1 | 1.94 |
| 96x96x96 | 74.7 | 76.9 | 0.97 | 66.6 | 1.12 | 47.2 | 1.58 |
| 100x100x100 | 73.5 | 73.3 | 1.00 | 64.2 | 1.15 | 66.2 | 1.11 |
| 128x128x128 | 75.4 | 77.8 | 0.97 | 69.7 | 1.08 | 46.8 | 1.61 |
| 160x160x160 | 78.3 | 81.9 | 0.96 | 74.6 | 1.05 | 68.0 | 1.15 |
| 192x192x192 | 59.1 | 83.9 | 0.70 | 78.0 | 0.76 | 68.0 | 0.87 |
| 200x200x200 | 79.8 | 83.2 | 0.96 | 77.3 | 1.03 | 68.3 | 1.17 |
| 224x224x224 | 79.7 | 83.1 | 0.96 | 77.7 | 1.03 | 68.4 | 1.17 |
| 256x256x256 | 79.2 | 84.3 | 0.94 | 73.5 | 1.08 | 56.0 | 1.41 |
| 257x257x257 | 78.3 | 82.4 | 0.95 | 71.7 | 1.09 | 67.1 | 1.17 |
| 288x288x288 | 79.3 | 84.9 | 0.93 | 75.9 | 1.05 | 68.7 | 1.16 |
| 320x320x320 | 77.5 | 84.2 | 0.92 | 75.7 | 1.02 | 68.9 | 1.12 |
| 384x384x384 | 77.8 | 84.7 | 0.92 | 79.0 | 0.98 | 68.6 | 1.13 |
| 448x448x448 | 80.8 | 84.0 | 0.96 | 79.5 | 1.02 | 68.8 | 1.18 |
| 500x500x500 | 80.8 | 84.1 | 0.96 | 77.5 | 1.04 | 68.8 | 1.17 |
| 512x512x512 | 78.2 | 83.5 | 0.94 | 77.0 | 1.02 | 69.2 | 1.13 |
| 768x768x768 | 77.6 | 84.5 | 0.92 | 79.3 | 0.98 | 68.6 | 1.13 |
| 1000x1000x1000 | 78.0 | 85.2 | 0.92 | 79.8 | 0.98 | 69.4 | 1.12 |
| 1001x1001x1001 | 77.6 | 84.4 | 0.92 | 79.4 | 0.98 | 68.7 | 1.13 |
| 1024x1024x1024 | 75.9 | 82.9 | 0.92 | 78.7 | 0.96 | 68.8 | 1.10 |
| 1536x1536x1536 | 78.0 | 83.1 | 0.94 | 80.4 | 0.97 | 68.2 | 1.14 |
| 2048x2048x2048 | 76.1 | 82.0 | 0.93 | 80.7 | 0.94 | 66.8 | 1.14 |
| 3072x3072x3072 | 75.6 | 83.0 | 0.91 | 81.4 | 0.93 | 66.4 | 1.14 |
| 4096x4096x4096 | 77.2 | 82.5 | 0.94 | 80.5 | 0.96 | 66.0 | 1.17 |
| 4097x4097x4097 | 78.5 | 82.4 | 0.95 | 80.2 | 0.98 | 65.8 | 1.19 |
| 64x64x1024 | 71.9 | 73.5 | 0.98 | 66.8 | 1.08 | 64.0 | 1.12 |
| 64x1024x64 | 72.3 | 75.1 | 0.96 | 59.8 | 1.21 | 67.4 | 1.07 |
| 256x256x1024 | 77.1 | 83.2 | 0.93 | 76.5 | 1.01 | 68.0 | 1.13 |
| 1024x64x64 | 68.2 | 73.9 | 0.92 | 60.2 | 1.13 | 67.0 | 1.02 |
| 1024x256x256 | 78.0 | 83.7 | 0.93 | 73.0 | 1.07 | 69.2 | 1.13 |
| 4096x96x96 | 70.1 | 74.8 | 0.94 | 66.7 | 1.05 | 66.4 | 1.06 |
| 4096x128x128 | 72.5 | 77.0 | 0.94 | 71.8 | 1.01 | 68.4 | 1.06 |
| 4096x144x144 | 73.5 | 77.8 | 0.95 | 73.8 | 1.00 | 67.0 | 1.10 |
| 4096x160x160 | 74.4 | 79.8 | 0.93 | 75.5 | 0.99 | 67.7 | 1.10 |
| 4096x176x176 | 75.2 | 80.7 | 0.93 | 76.3 | 0.98 | 67.3 | 1.12 |
| 8192x128x128 | 71.8 | 75.8 | 0.95 | 71.5 | 1.00 | 67.6 | 1.06 |
| 10000x8x8 | 33.5 | 43.6 | 0.77 | 18.4 | 1.81 | 47.3 | 0.71 |
| 10000x100x100 | 72.5 | 76.3 | 0.95 | 66.7 | 1.09 | 66.7 | 1.09 |
| 10000x1000x1000 | 73.6 | 84.1 | 0.88 | 79.1 | 0.93 | 68.6 | 1.07 |
| 10000x4000x4000 | 76.5 | 84.4 | 0.91 | 82.2 | 0.93 | 67.6 | 1.13 |
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.5 | 0.4 | 1.10 | 0.0 | 55.86 | 0.4 | 1.24 |
| 3x3 | 1.0 | 1.0 | 0.99 | 0.0 | 38.18 | 0.8 | 1.25 |
| 4x4 | 3.3 | 2.4 | 1.38 | 0.1 | 60.31 | 1.8 | 1.86 |
| 6x6 | 4.6 | 2.4 | 1.94 | 0.2 | 27.21 | 3.0 | 1.55 |
| 8x8 | 9.4 | 2.8 | 3.35 | 0.4 | 24.99 | 4.7 | 1.99 |
| 12x12 | 13.8 | 6.0 | 2.29 | 1.0 | 13.31 | 8.1 | 1.70 |
| 16x16 | 17.7 | 6.9 | 2.57 | 1.9 | 9.45 | 6.2 | 2.87 |
| 24x24 | 23.0 | 10.4 | 2.22 | 5.0 | 4.60 | 10.7 | 2.14 |
| 32x32 | 28.2 | 13.5 | 2.09 | 7.3 | 3.85 | 12.0 | 2.36 |
| 48x48 | 35.7 | 21.7 | 1.64 | 14.3 | 2.50 | 17.4 | 2.05 |
| 64x64 | 41.5 | 19.4 | 2.14 | 18.1 | 2.29 | 22.4 | 1.85 |
| 96x96 | 49.0 | 47.0 | 1.04 | 30.2 | 1.62 | 25.3 | 1.94 |
| 100x100 | 49.2 | 46.4 | 1.06 | 28.0 | 1.75 | 31.8 | 1.55 |
| 128x128 | 53.4 | 63.7 | 0.84 | 37.5 | 1.43 | 38.5 | 1.39 |
| 192x192 | 55.3 | 85.3 | 0.65 | 53.8 | 1.03 | 50.7 | 1.09 |
| 200x200 | 67.5 | 86.9 | 0.78 | 54.5 | 1.24 | 52.2 | 1.29 |
| 256x256 | 82.8 | 93.5 | 0.89 | 63.5 | 1.30 | 56.7 | 1.46 |
| 257x257 | 79.9 | 94.7 | 0.84 | 62.3 | 1.28 | 58.4 | 1.37 |
| 384x384 | 94.5 | 112.2 | 0.84 | 83.6 | 1.13 | 73.1 | 1.29 |
| 500x500 | 106.1 | 124.0 | 0.86 | 94.2 | 1.13 | 82.5 | 1.29 |
| 512x512 | 104.6 | 120.3 | 0.87 | 95.4 | 1.10 | 83.8 | 1.25 |
| 768x768 | 117.5 | 133.6 | 0.88 | 113.5 | 1.04 | 96.5 | 1.22 |
| 1000x1000 | 125.7 | 140.4 | 0.90 | 123.4 | 1.02 | 103.2 | 1.22 |
| 1001x1001 | 124.7 | 138.0 | 0.90 | 122.5 | 1.02 | 101.9 | 1.22 |
| 1024x1024 | 124.9 | 120.5 | 1.04 | 122.7 | 1.02 | 103.2 | 1.21 |
| 1536x1536 | 132.9 | 142.0 | 0.94 | 136.6 | 0.97 | 112.8 | 1.18 |
| 2048x2048 | 135.9 | 132.2 | 1.03 | 142.2 | 0.96 | 116.8 | 1.16 |
| 3072x3072 | 135.7 | 136.9 | 0.99 | 151.1 | 0.90 | 120.2 | 1.13 |
| 4096x4096 | 136.9 | 137.6 | 1.00 | 151.8 | 0.90 | 122.6 | 1.12 |
| 4097x4097 | 135.5 | 145.2 | 0.93 | 152.4 | 0.89 | 121.8 | 1.11 |
| 64x4096 | 41.1 | 48.2 | 0.85 | 23.1 | 1.78 | 22.9 | 1.80 |
| 256x4096 | 80.9 | 92.0 | 0.88 | 66.1 | 1.22 | 60.2 | 1.34 |
| 1024x8 | 65.9 | 39.6 | 1.67 | 40.6 | 1.62 | 61.9 | 1.07 |
| 1024x64 | 114.6 | 88.0 | 1.30 | 95.6 | 1.20 | 96.5 | 1.19 |
| 1024x256 | 122.6 | 120.8 | 1.02 | 116.9 | 1.05 | 102.9 | 1.19 |
| 1024x4096 | 122.0 | 115.1 | 1.06 | 120.7 | 1.01 | 101.2 | 1.21 |
| 4096x8 | 48.8 | 37.6 | 1.30 | 37.3 | 1.31 | 58.9 | 0.83 |
| 4096x64 | 118.0 | 103.7 | 1.14 | 107.5 | 1.10 | 112.2 | 1.05 |
| 4096x256 | 140.2 | 137.6 | 1.02 | 142.2 | 0.99 | 124.2 | 1.13 |
| 4096x1024 | 143.4 | 143.7 | 1.00 | 154.0 | 0.93 | 127.0 | 1.13 |
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.6 | 0.4 | 1.42 | 0.0 | 63.83 | 0.4 | 1.47 |
| 3x3 | 1.3 | 0.9 | 1.52 | 0.0 | 50.86 | 0.8 | 1.73 |
| 4x4 | 4.2 | 3.1 | 1.37 | 0.1 | 73.35 | 1.7 | 2.41 |
| 6x6 | 6.6 | 2.0 | 3.25 | 0.2 | 37.29 | 3.1 | 2.15 |
| 8x8 | 12.9 | 5.0 | 2.60 | 0.4 | 35.58 | 4.7 | 2.76 |
| 12x12 | 17.4 | 6.7 | 2.58 | 1.0 | 17.50 | 7.7 | 2.26 |
| 16x16 | 20.7 | 7.9 | 2.61 | 2.0 | 10.62 | 8.4 | 2.47 |
| 24x24 | 23.9 | 9.0 | 2.65 | 4.6 | 5.17 | 14.4 | 1.66 |
| 32x32 | 26.6 | 11.0 | 2.41 | 6.7 | 3.97 | 8.5 | 3.14 |
| 48x48 | 29.8 | 13.4 | 2.22 | 12.7 | 2.35 | 23.2 | 1.29 |
| 64x64 | 31.5 | 18.7 | 1.68 | 16.5 | 1.91 | 18.0 | 1.75 |
| 96x96 | 33.4 | 35.1 | 0.95 | 24.7 | 1.35 | 26.7 | 1.25 |
| 100x100 | 33.6 | 36.1 | 0.93 | 24.0 | 1.40 | 36.3 | 0.93 |
| 128x128 | 34.1 | 39.6 | 0.86 | 29.4 | 1.16 | 33.2 | 1.03 |
| 192x192 | 45.7 | 47.6 | 0.96 | 39.8 | 1.15 | 42.2 | 1.08 |
| 200x200 | 46.1 | 50.2 | 0.92 | 39.9 | 1.16 | 47.6 | 0.97 |
| 256x256 | 54.5 | 47.1 | 1.16 | 45.4 | 1.20 | 41.9 | 1.30 |
| 257x257 | 53.8 | 47.5 | 1.13 | 44.7 | 1.20 | 50.4 | 1.07 |
| 384x384 | 61.2 | 53.0 | 1.15 | 53.6 | 1.14 | 56.3 | 1.09 |
| 500x500 | 58.5 | 58.4 | 1.00 | 57.4 | 1.02 | 58.1 | 1.01 |
| 512x512 | 63.3 | 53.8 | 1.18 | 57.4 | 1.10 | 58.5 | 1.08 |
| 768x768 | 67.9 | 62.0 | 1.09 | 64.5 | 1.05 | 61.8 | 1.10 |
| 1000x1000 | 71.2 | 67.1 | 1.06 | 67.8 | 1.05 | 63.7 | 1.12 |
| 1001x1001 | 70.4 | 66.2 | 1.06 | 67.6 | 1.04 | 62.9 | 1.12 |
| 1024x1024 | 68.7 | 62.7 | 1.09 | 67.3 | 1.02 | 63.2 | 1.09 |
| 1536x1536 | 70.1 | 72.2 | 0.97 | 70.8 | 0.99 | 64.2 | 1.09 |
| 2048x2048 | 69.7 | 71.2 | 0.98 | 71.7 | 0.97 | 63.3 | 1.10 |
| 3072x3072 | 71.6 | 73.4 | 0.98 | 73.9 | 0.97 | 62.4 | 1.15 |
| 4096x4096 | 71.6 | 72.9 | 0.98 | 75.4 | 0.95 | 63.1 | 1.13 |
| 4097x4097 | 71.3 | 74.6 | 0.96 | 74.6 | 0.96 | 62.9 | 1.13 |
| 64x4096 | 31.2 | 31.2 | 1.00 | 18.6 | 1.68 | 29.4 | 1.06 |
| 256x4096 | 52.6 | 52.8 | 1.00 | 44.9 | 1.17 | 50.4 | 1.04 |
| 1024x8 | 34.8 | 29.6 | 1.17 | 31.1 | 1.12 | 42.1 | 0.83 |
| 1024x64 | 62.9 | 58.7 | 1.07 | 60.2 | 1.05 | 60.2 | 1.04 |
| 1024x256 | 68.4 | 66.0 | 1.04 | 66.7 | 1.03 | 63.2 | 1.08 |
| 1024x4096 | 67.0 | 63.4 | 1.06 | 65.6 | 1.02 | 60.1 | 1.11 |
| 4096x8 | 22.6 | 22.2 | 1.02 | 22.8 | 0.99 | 32.0 | 0.70 |
| 4096x64 | 59.4 | 61.2 | 0.97 | 60.1 | 0.99 | 60.2 | 0.99 |
| 4096x256 | 71.5 | 74.7 | 0.96 | 73.2 | 0.98 | 66.1 | 1.08 |
| 4096x1024 | 72.2 | 72.8 | 0.99 | 75.2 | 0.96 | 65.0 | 1.11 |
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.79 | 0.0 | 20.81 | 0.3 | 0.84 |
| 3x3 | 0.6 | 0.1 | 4.70 | 0.0 | 19.54 | 0.7 | 0.83 |
| 4x4 | 1.5 | 0.3 | 5.26 | 0.1 | 21.96 | 1.6 | 0.95 |
| 6x6 | 3.3 | 0.9 | 3.80 | 0.2 | 15.46 | 4.0 | 0.82 |
| 8x8 | 8.9 | 2.0 | 4.53 | 0.5 | 18.41 | 8.1 | 1.10 |
| 12x12 | 14.4 | 5.6 | 2.57 | 1.5 | 9.89 | 14.8 | 0.97 |
| 16x16 | 27.4 | 10.7 | 2.57 | 3.1 | 8.76 | 22.6 | 1.21 |
| 24x24 | 45.6 | 26.7 | 1.71 | 8.9 | 5.10 | 33.5 | 1.36 |
| 32x32 | 61.4 | 42.2 | 1.45 | 17.0 | 3.60 | 47.3 | 1.30 |
| 48x48 | 82.8 | 57.8 | 1.43 | 38.2 | 2.16 | 77.0 | 1.07 |
| 64x64 | 97.4 | 75.8 | 1.29 | 56.7 | 1.72 | 87.2 | 1.12 |
| 96x96 | 113.4 | 103.8 | 1.09 | 89.5 | 1.27 | 45.0 | 2.52 |
| 100x100 | 110.1 | 89.0 | 1.24 | 85.6 | 1.29 | 100.2 | 1.10 |
| 128x128 | 120.8 | 108.1 | 1.12 | 106.6 | 1.13 | 112.1 | 1.08 |
| 192x192 | 92.6 | 129.3 | 0.72 | 130.3 | 0.71 | 120.5 | 0.77 |
| 200x200 | 136.3 | 124.8 | 1.09 | 134.5 | 1.01 | 118.5 | 1.15 |
| 256x256 | 139.8 | 138.7 | 1.01 | 141.2 | 0.99 | 94.3 | 1.48 |
| 257x257 | 136.6 | 132.4 | 1.03 | 137.4 | 0.99 | 116.8 | 1.17 |
| 384x384 | 107.9 | 154.0 | 0.70 | 153.7 | 0.70 | 129.2 | 0.84 |
| 500x500 | 150.9 | 155.9 | 0.97 | 159.9 | 0.94 | 128.8 | 1.17 |
| 512x512 | 152.4 | 157.9 | 0.97 | 158.7 | 0.96 | 131.5 | 1.16 |
| 768x768 | 125.6 | 161.9 | 0.78 | 161.5 | 0.78 | 133.8 | 0.94 |
| 1000x1000 | 158.0 | 160.8 | 0.98 | 168.6 | 0.94 | 135.1 | 1.17 |
| 1001x1001 | 155.2 | 158.4 | 0.98 | 165.6 | 0.94 | 132.3 | 1.17 |
| 1024x1024 | 154.3 | 156.2 | 0.99 | 163.9 | 0.94 | 135.6 | 1.14 |
| 1536x1536 | 156.1 | 162.9 | 0.96 | 168.2 | 0.93 | 136.8 | 1.14 |
| 2048x2048 | 155.5 | 157.9 | 0.98 | 164.9 | 0.94 | 136.9 | 1.14 |
| 3072x3072 | 158.5 | 161.2 | 0.98 | 170.4 | 0.93 | 136.9 | 1.16 |
| 4096x4096 | 158.3 | 161.7 | 0.98 | 168.3 | 0.94 | 134.0 | 1.18 |
| 4097x4097 | 158.4 | 168.6 | 0.94 | 169.0 | 0.94 | 133.1 | 1.19 |
| 64x4096 | 94.0 | 98.7 | 0.95 | 98.6 | 0.95 | 97.4 | 0.97 |
| 256x4096 | 138.3 | 142.7 | 0.97 | 147.0 | 0.94 | 124.3 | 1.11 |
| 1024x4096 | 151.1 | 154.0 | 0.98 | 163.0 | 0.93 | 135.7 | 1.11 |
| 4096x8 | 64.0 | 29.0 | 2.20 | 28.4 | 2.25 | 63.0 | 1.02 |
| 4096x64 | 140.6 | 111.1 | 1.27 | 119.6 | 1.18 | 136.0 | 1.03 |
| 4096x256 | 156.9 | 149.8 | 1.05 | 159.9 | 0.98 | 132.3 | 1.19 |
| 4096x1024 | 157.8 | 163.0 | 0.97 | 167.1 | 0.94 | 133.5 | 1.18 |
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.2 | 0.0 | 5.47 | 0.0 | 19.51 | 0.3 | 0.78 |
| 3x3 | 0.5 | 0.1 | 4.90 | 0.0 | 17.16 | 0.7 | 0.74 |
| 4x4 | 1.2 | 0.2 | 5.16 | 0.1 | 17.95 | 1.6 | 0.78 |
| 6x6 | 3.2 | 0.7 | 4.34 | 0.2 | 14.68 | 3.7 | 0.86 |
| 8x8 | 5.4 | 1.6 | 3.44 | 0.5 | 11.64 | 6.7 | 0.80 |
| 12x12 | 9.1 | 4.3 | 2.14 | 1.4 | 6.55 | 13.7 | 0.67 |
| 16x16 | 15.9 | 8.2 | 1.93 | 2.9 | 5.48 | 7.0 | 2.25 |
| 24x24 | 23.2 | 18.2 | 1.27 | 7.8 | 2.97 | 32.3 | 0.72 |
| 32x32 | 30.0 | 20.6 | 1.46 | 13.0 | 2.30 | 7.3 | 4.10 |
| 48x48 | 39.4 | 35.8 | 1.10 | 26.9 | 1.47 | 32.5 | 1.21 |
| 64x64 | 46.2 | 42.2 | 1.10 | 35.1 | 1.32 | 21.0 | 2.20 |
| 96x96 | 55.5 | 54.9 | 1.01 | 51.0 | 1.09 | 34.1 | 1.63 |
| 100x100 | 55.4 | 50.6 | 1.10 | 50.6 | 1.10 | 57.4 | 0.97 |
| 128x128 | 59.2 | 58.5 | 1.01 | 54.8 | 1.08 | 43.2 | 1.37 |
| 192x192 | 41.8 | 68.9 | 0.61 | 67.8 | 0.62 | 63.7 | 0.66 |
| 200x200 | 67.0 | 66.8 | 1.00 | 68.3 | 0.98 | 63.4 | 1.06 |
| 256x256 | 68.6 | 72.3 | 0.95 | 65.4 | 1.05 | 49.4 | 1.39 |
| 257x257 | 67.1 | 70.0 | 0.96 | 67.3 | 1.00 | 63.7 | 1.05 |
| 384x384 | 71.8 | 77.1 | 0.93 | 73.6 | 0.98 | 66.4 | 1.08 |
| 500x500 | 73.4 | 76.4 | 0.96 | 73.4 | 1.00 | 66.3 | 1.11 |
| 512x512 | 53.6 | 74.7 | 0.72 | 71.3 | 0.75 | 67.2 | 0.80 |
| 768x768 | 74.8 | 77.3 | 0.97 | 76.9 | 0.97 | 68.1 | 1.10 |
| 1000x1000 | 75.4 | 78.2 | 0.96 | 78.6 | 0.96 | 68.0 | 1.11 |
| 1001x1001 | 74.7 | 78.1 | 0.96 | 78.2 | 0.96 | 67.7 | 1.10 |
| 1024x1024 | 72.1 | 77.0 | 0.94 | 77.1 | 0.94 | 68.1 | 1.06 |
| 1536x1536 | 73.0 | 76.9 | 0.95 | 78.1 | 0.93 | 68.6 | 1.06 |
| 2048x2048 | 74.1 | 78.2 | 0.95 | 78.6 | 0.94 | 68.1 | 1.09 |
| 3072x3072 | 74.3 | 79.4 | 0.94 | 80.2 | 0.93 | 66.8 | 1.11 |
| 4096x4096 | 73.7 | 79.9 | 0.92 | 79.8 | 0.92 | 66.5 | 1.11 |
| 4097x4097 | 72.5 | 81.0 | 0.90 | 79.7 | 0.91 | 66.5 | 1.09 |
| 64x4096 | 46.9 | 50.1 | 0.94 | 48.4 | 0.97 | 53.6 | 0.88 |
| 256x4096 | 67.4 | 70.8 | 0.95 | 70.0 | 0.96 | 64.8 | 1.04 |
| 1024x4096 | 71.3 | 74.3 | 0.96 | 76.8 | 0.93 | 67.5 | 1.06 |
| 4096x8 | 27.8 | 16.5 | 1.68 | 15.8 | 1.75 | 40.8 | 0.68 |
| 4096x64 | 68.1 | 56.1 | 1.21 | 60.5 | 1.13 | 65.9 | 1.03 |
| 4096x256 | 76.5 | 76.8 | 1.00 | 70.8 | 1.08 | 66.4 | 1.15 |
| 4096x1024 | 72.4 | 79.0 | 0.92 | 78.7 | 0.92 | 65.6 | 1.10 |
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.3 | 0.3 | 1.09 | 0.0 | 16.22 | 0.1 | 2.38 |
| 3 | 0.5 | 0.5 | 0.95 | 0.1 | 7.36 | 0.4 | 1.39 |
| 4 | 0.9 | 0.9 | 0.98 | 0.1 | 6.18 | 0.6 | 1.46 |
| 6 | 1.3 | 1.8 | 0.71 | 0.4 | 3.36 | 1.5 | 0.88 |
| 8 | 2.2 | 2.8 | 0.78 | 0.8 | 2.83 | 2.5 | 0.85 |
| 12 | 4.1 | 4.7 | 0.88 | 1.6 | 2.55 | 4.8 | 0.85 |
| 16 | 6.2 | 5.9 | 1.04 | 2.9 | 2.15 | 7.1 | 0.87 |
| 24 | 11.0 | 5.2 | 2.11 | 5.7 | 1.93 | 11.6 | 0.95 |
| 32 | 10.7 | 7.3 | 1.46 | 8.7 | 1.22 | 15.6 | 0.68 |
| 48 | 17.3 | 11.6 | 1.49 | 13.9 | 1.25 | 15.7 | 1.10 |
| 64 | 23.0 | 13.8 | 1.66 | 17.6 | 1.31 | 11.2 | 2.05 |
| 96 | 32.2 | 21.1 | 1.53 | 22.6 | 1.43 | 29.5 | 1.09 |
| 100 | 32.3 | 17.8 | 1.82 | 16.2 | 2.00 | 34.2 | 0.95 |
| 128 | 50.7 | 24.6 | 2.06 | 23.3 | 2.17 | 42.5 | 1.19 |
| 192 | 63.7 | 45.8 | 1.39 | 35.6 | 1.79 | 40.8 | 1.56 |
| 200 | 64.7 | 46.4 | 1.39 | 33.0 | 1.96 | 54.7 | 1.18 |
| 256 | 82.7 | 53.0 | 1.56 | 41.2 | 2.01 | 66.8 | 1.24 |
| 257 | 77.4 | 52.2 | 1.48 | 41.7 | 1.85 | 66.0 | 1.17 |
| 384 | 102.2 | 68.0 | 1.50 | 58.5 | 1.75 | 83.3 | 1.23 |
| 500 | 108.2 | 80.9 | 1.34 | 68.1 | 1.59 | 86.0 | 1.26 |
| 512 | 108.6 | 79.1 | 1.37 | 68.5 | 1.59 | 93.9 | 1.16 |
| 768 | 121.1 | 89.5 | 1.35 | 86.7 | 1.40 | 105.0 | 1.15 |
| 1000 | 129.0 | 99.2 | 1.30 | 96.6 | 1.34 | 107.1 | 1.21 |
| 1001 | 124.7 | 91.2 | 1.37 | 95.6 | 1.30 | 104.8 | 1.19 |
| 1024 | 117.3 | 85.5 | 1.37 | 94.4 | 1.24 | 110.9 | 1.06 |
| 1536 | 136.3 | 121.9 | 1.12 | 112.7 | 1.21 | 119.3 | 1.14 |
| 2048 | 135.9 | 111.0 | 1.22 | 118.4 | 1.15 | 123.8 | 1.10 |
| 3072 | 139.4 | 113.8 | 1.22 | 127.7 | 1.09 | 125.9 | 1.11 |
| 4096 | 137.9 | 109.9 | 1.26 | 130.2 | 1.06 | 125.7 | 1.10 |
| 4097 | 136.0 | 112.9 | 1.20 | 127.3 | 1.07 | 124.7 | 1.09 |
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.3 | 0.3 | 1.18 | 0.0 | 16.69 | 0.1 | 2.66 |
| 3 | 0.6 | 0.5 | 1.17 | 0.1 | 9.46 | 0.3 | 1.94 |
| 4 | 0.9 | 0.8 | 1.06 | 0.1 | 6.07 | 0.6 | 1.51 |
| 6 | 1.4 | 1.5 | 0.93 | 0.4 | 3.60 | 1.3 | 1.10 |
| 8 | 2.0 | 2.1 | 0.98 | 0.8 | 2.61 | 2.1 | 0.96 |
| 12 | 3.8 | 3.9 | 0.97 | 1.7 | 2.27 | 4.3 | 0.90 |
| 16 | 6.2 | 5.0 | 1.24 | 3.0 | 2.07 | 6.1 | 1.02 |
| 24 | 10.2 | 4.5 | 2.26 | 5.7 | 1.78 | 9.8 | 1.03 |
| 32 | 7.9 | 6.7 | 1.19 | 8.0 | 0.99 | 12.3 | 0.64 |
| 48 | 11.5 | 9.7 | 1.18 | 11.3 | 1.02 | 4.8 | 2.40 |
| 64 | 14.2 | 12.3 | 1.15 | 13.3 | 1.06 | 15.3 | 0.92 |
| 96 | 18.5 | 18.6 | 0.99 | 15.5 | 1.19 | 26.5 | 0.70 |
| 100 | 18.5 | 16.7 | 1.11 | 12.7 | 1.46 | 27.0 | 0.69 |
| 128 | 27.8 | 24.1 | 1.15 | 17.8 | 1.56 | 19.3 | 1.44 |
| 192 | 33.8 | 32.7 | 1.03 | 25.2 | 1.34 | 37.4 | 0.90 |
| 200 | 34.3 | 34.0 | 1.01 | 24.6 | 1.39 | 39.4 | 0.87 |
| 256 | 43.7 | 37.6 | 1.16 | 29.8 | 1.47 | 37.6 | 1.16 |
| 257 | 42.6 | 37.6 | 1.13 | 29.9 | 1.42 | 43.7 | 0.97 |
| 384 | 51.8 | 44.2 | 1.17 | 39.1 | 1.32 | 45.7 | 1.13 |
| 500 | 54.5 | 51.3 | 1.06 | 44.3 | 1.23 | 52.6 | 1.04 |
| 512 | 53.5 | 44.3 | 1.21 | 43.3 | 1.23 | 53.7 | 1.00 |
| 768 | 61.5 | 58.9 | 1.04 | 53.0 | 1.16 | 58.5 | 1.05 |
| 1000 | 65.9 | 62.2 | 1.06 | 58.0 | 1.14 | 60.9 | 1.08 |
| 1001 | 65.1 | 60.9 | 1.07 | 57.9 | 1.12 | 60.0 | 1.09 |
| 1024 | 60.4 | 58.0 | 1.04 | 56.9 | 1.06 | 60.4 | 1.00 |
| 1536 | 66.9 | 61.7 | 1.08 | 63.0 | 1.06 | 63.2 | 1.06 |
| 2048 | 65.3 | 60.8 | 1.07 | 64.4 | 1.01 | 62.4 | 1.05 |
| 3072 | 68.5 | 61.4 | 1.12 | 67.8 | 1.01 | 62.4 | 1.10 |
| 4096 | 67.8 | 57.7 | 1.18 | 67.9 | 1.00 | 61.0 | 1.11 |
| 4097 | 67.2 | 59.0 | 1.14 | 68.0 | 0.99 | 60.9 | 1.10 |
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.2 | 0.2 | 0.74 | 0.0 | 6.07 | 0.1 | 1.24 |
| 3 | 0.4 | 0.5 | 0.88 | 0.1 | 4.96 | 0.3 | 1.41 |
| 4 | 0.7 | 0.7 | 0.95 | 0.2 | 4.17 | 0.5 | 1.47 |
| 6 | 1.2 | 1.6 | 0.79 | 0.4 | 2.81 | 0.9 | 1.32 |
| 8 | 1.8 | 2.1 | 0.86 | 0.8 | 2.23 | 1.5 | 1.23 |
| 12 | 3.7 | 4.3 | 0.86 | 1.6 | 2.35 | 2.3 | 1.65 |
| 16 | 5.1 | 5.4 | 0.95 | 0.9 | 5.90 | 3.0 | 1.69 |
| 24 | 7.9 | 8.8 | 0.90 | 2.4 | 3.35 | 5.7 | 1.40 |
| 32 | 10.8 | 10.1 | 1.07 | 2.9 | 3.75 | 6.8 | 1.58 |
| 48 | 16.3 | 13.1 | 1.24 | 5.8 | 2.82 | 11.5 | 1.42 |
| 64 | 21.2 | 15.9 | 1.34 | 7.4 | 2.88 | 14.2 | 1.49 |
| 96 | 29.1 | 24.2 | 1.20 | 14.0 | 2.07 | 22.7 | 1.28 |
| 100 | 30.0 | 23.5 | 1.28 | 13.3 | 2.26 | 24.7 | 1.22 |
| 128 | 37.2 | 33.3 | 1.12 | 18.8 | 1.98 | 29.1 | 1.28 |
| 192 | 47.8 | 39.8 | 1.20 | 30.2 | 1.58 | 38.0 | 1.26 |
| 200 | 48.9 | 43.9 | 1.11 | 30.8 | 1.58 | 43.5 | 1.12 |
| 256 | 61.0 | 39.4 | 1.55 | 38.1 | 1.60 | 50.8 | 1.20 |
| 257 | 59.0 | 43.1 | 1.37 | 37.8 | 1.56 | 49.6 | 1.19 |
| 384 | 75.9 | 53.1 | 1.43 | 54.6 | 1.39 | 65.2 | 1.16 |
| 500 | 85.0 | 64.7 | 1.31 | 64.7 | 1.31 | 74.6 | 1.14 |
| 512 | 84.2 | 56.4 | 1.49 | 64.4 | 1.31 | 75.2 | 1.12 |
| 768 | 95.9 | 71.1 | 1.35 | 81.6 | 1.17 | 89.3 | 1.07 |
| 1000 | 104.5 | 88.8 | 1.18 | 94.8 | 1.10 | 97.2 | 1.08 |
| 1001 | 102.5 | 88.0 | 1.16 | 94.0 | 1.09 | 95.7 | 1.07 |
| 1024 | 103.9 | 73.1 | 1.42 | 93.2 | 1.11 | 98.1 | 1.06 |
| 1536 | 117.7 | 100.7 | 1.17 | 110.1 | 1.07 | 108.8 | 1.08 |
| 2048 | 123.2 | 96.6 | 1.28 | 110.4 | 1.12 | 114.0 | 1.08 |
| 3072 | 128.7 | 103.9 | 1.24 | 128.7 | 1.00 | 119.1 | 1.08 |
| 4096 | 130.3 | 101.8 | 1.28 | 128.4 | 1.01 | 120.9 | 1.08 |
| 4097 | 125.8 | 113.1 | 1.11 | 129.3 | 0.97 | 120.3 | 1.05 |
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.3 | 0.2 | 1.35 | 0.0 | 11.95 | 0.1 | 2.33 |
| 3 | 0.6 | 0.5 | 1.07 | 0.1 | 7.21 | 0.3 | 1.78 |
| 4 | 1.0 | 0.9 | 1.05 | 0.2 | 5.71 | 0.6 | 1.75 |
| 6 | 1.7 | 1.8 | 0.93 | 0.5 | 3.75 | 1.1 | 1.60 |
| 8 | 2.7 | 2.9 | 0.90 | 0.8 | 3.15 | 1.6 | 1.66 |
| 12 | 4.5 | 5.2 | 0.86 | 1.7 | 2.62 | 2.4 | 1.88 |
| 16 | 6.2 | 6.7 | 0.92 | 0.9 | 6.57 | 3.0 | 2.03 |
| 24 | 8.1 | 8.6 | 0.94 | 2.4 | 3.39 | 5.4 | 1.49 |
| 32 | 10.4 | 9.1 | 1.15 | 2.9 | 3.55 | 6.2 | 1.67 |
| 48 | 14.5 | 12.7 | 1.14 | 5.5 | 2.65 | 12.4 | 1.17 |
| 64 | 17.6 | 15.8 | 1.11 | 7.2 | 2.46 | 9.7 | 1.82 |
| 96 | 22.0 | 21.0 | 1.05 | 12.1 | 1.82 | 21.8 | 1.01 |
| 100 | 22.3 | 20.8 | 1.07 | 11.6 | 1.92 | 23.7 | 0.94 |
| 128 | 26.7 | 22.5 | 1.19 | 15.6 | 1.72 | 23.8 | 1.12 |
| 192 | 32.2 | 30.4 | 1.06 | 23.4 | 1.38 | 32.8 | 0.98 |
| 200 | 33.1 | 34.4 | 0.96 | 23.8 | 1.39 | 36.6 | 0.90 |
| 256 | 40.0 | 32.4 | 1.23 | 28.3 | 1.42 | 38.3 | 1.04 |
| 257 | 39.2 | 37.6 | 1.04 | 28.2 | 1.39 | 39.7 | 0.99 |
| 384 | 46.6 | 40.0 | 1.17 | 37.0 | 1.26 | 47.1 | 0.99 |
| 500 | 50.5 | 49.3 | 1.02 | 41.7 | 1.21 | 51.2 | 0.99 |
| 512 | 49.8 | 39.0 | 1.28 | 38.6 | 1.29 | 51.3 | 0.97 |
| 768 | 54.4 | 50.3 | 1.08 | 48.9 | 1.11 | 55.9 | 0.97 |
| 1000 | 58.2 | 58.0 | 1.00 | 56.3 | 1.03 | 58.0 | 1.00 |
| 1001 | 57.6 | 58.2 | 0.99 | 55.7 | 1.03 | 57.6 | 1.00 |
| 1024 | 57.5 | 47.8 | 1.20 | 51.6 | 1.12 | 58.2 | 0.99 |
| 1536 | 62.6 | 57.5 | 1.09 | 58.9 | 1.06 | 60.5 | 1.03 |
| 2048 | 62.7 | 54.9 | 1.14 | 60.5 | 1.04 | 60.5 | 1.04 |
| 3072 | 65.9 | 62.4 | 1.06 | 65.0 | 1.01 | 61.0 | 1.08 |
| 4096 | 67.2 | 60.8 | 1.11 | 66.2 | 1.02 | 61.0 | 1.10 |
| 4097 | 66.8 | 66.7 | 1.00 | 67.5 | 0.99 | 60.9 | 1.10 |
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.2 | 0.3 | 0.68 | 0.2 | 1.17 | 0.2 | 1.05 |
| 3x3 | 0.3 | 0.4 | 0.69 | 0.3 | 0.91 | 0.3 | 0.99 |
| 4x4 | 0.5 | 0.7 | 0.70 | 0.6 | 0.85 | 0.5 | 1.00 |
| 6x6 | 0.9 | 1.3 | 0.68 | 1.2 | 0.77 | 0.9 | 1.00 |
| 8x8 | 1.4 | 2.2 | 0.66 | 1.9 | 0.74 | 1.4 | 1.03 |
| 12x12 | 2.9 | 4.1 | 0.69 | 3.7 | 0.77 | 2.7 | 1.05 |
| 16x16 | 4.6 | 6.2 | 0.74 | 5.7 | 0.80 | 4.1 | 1.11 |
| 24x24 | 7.4 | 10.2 | 0.73 | 9.9 | 0.75 | 7.1 | 1.04 |
| 32x32 | 10.1 | 13.8 | 0.73 | 13.7 | 0.73 | 10.0 | 1.00 |
| 48x48 | 15.0 | 20.1 | 0.74 | 20.7 | 0.72 | 15.2 | 0.98 |
| 64x64 | 13.2 | 23.9 | 0.55 | 25.9 | 0.51 | 19.2 | 0.69 |
| 96x96 | 24.5 | 28.5 | 0.86 | 33.3 | 0.73 | 24.7 | 0.99 |
| 100x100 | 21.5 | 28.7 | 0.75 | 33.9 | 0.63 | 25.3 | 0.85 |
| 128x128 | 30.7 | 30.4 | 1.01 | 37.3 | 0.82 | 27.8 | 1.10 |
| 192x192 | 44.8 | 30.4 | 1.47 | 42.4 | 1.06 | 44.4 | 1.01 |
| 200x200 | 44.7 | 29.8 | 1.50 | 43.4 | 1.03 | 53.2 | 0.84 |
| 256x256 | 54.0 | 29.3 | 1.84 | 50.3 | 1.07 | 54.2 | 1.00 |
| 257x257 | 53.6 | 29.5 | 1.82 | 50.2 | 1.07 | 62.8 | 0.85 |
| 384x384 | 70.3 | 28.6 | 2.46 | 64.3 | 1.09 | 73.0 | 0.96 |
| 500x500 | 78.5 | 88.8 | 0.88 | 75.0 | 1.05 | 87.5 | 0.90 |
| 512x512 | 78.3 | 85.8 | 0.91 | 71.7 | 1.09 | 81.2 | 0.96 |
| 768x768 | 91.1 | 95.7 | 0.95 | 85.6 | 1.06 | 92.4 | 0.99 |
| 1000x1000 | 97.5 | 105.7 | 0.92 | 97.9 | 1.00 | 103.2 | 0.94 |
| 1001x1001 | 95.8 | 102.9 | 0.93 | 96.3 | 0.99 | 102.2 | 0.94 |
| 1024x1024 | 96.1 | 94.5 | 1.02 | 89.6 | 1.07 | 92.4 | 1.04 |
| 1536x1536 | 105.0 | 118.3 | 0.89 | 111.8 | 0.94 | 105.1 | 1.00 |
| 2048x2048 | 107.3 | 110.3 | 0.97 | 112.9 | 0.95 | 100.9 | 1.06 |
| 3072x3072 | 111.1 | 110.8 | 1.00 | 124.3 | 0.89 | 105.9 | 1.05 |
| 4096x4096 | 107.9 | 101.3 | 1.07 | 125.4 | 0.86 | 102.3 | 1.05 |
| 4097x4097 | 105.8 | 105.6 | 1.00 | 125.8 | 0.84 | 101.7 | 1.04 |
| 4096x8 | 19.4 | 16.1 | 1.20 | 18.0 | 1.08 | 14.2 | 1.36 |
| 4096x64 | 24.7 | 20.8 | 1.19 | 34.0 | 0.73 | 27.6 | 0.90 |
| 4096x256 | 56.5 | 21.2 | 2.66 | 61.3 | 0.92 | 55.4 | 1.02 |
| 4096x1024 | 93.6 | 87.5 | 1.07 | 99.3 | 0.94 | 94.9 | 0.99 |
| 10000x8 | 20.0 | 15.6 | 1.28 | 18.4 | 1.09 | 14.1 | 1.42 |
| 10000x100 | 38.8 | 20.3 | 1.91 | 41.2 | 0.94 | 29.4 | 1.32 |
| 10000x1000 | 99.8 | 94.4 | 1.06 | 103.1 | 0.97 | 99.3 | 1.01 |
| 10000x4000 | 112.3 | 111.3 | 1.01 | 135.3 | 0.83 | 107.9 | 1.04 |
| 100000x8 | 19.2 | 14.8 | 1.30 | 17.0 | 1.13 | 13.5 | 1.42 |
| 100000x64 | 26.6 | 17.9 | 1.48 | 34.6 | 0.77 | 24.7 | 1.08 |
| 100000x256 | 59.2 | 15.3 | 3.87 | 61.1 | 0.97 | 45.6 | 1.30 |
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.2 | 0.3 | 0.59 | 0.2 | 1.16 | 0.2 | 1.14 |
| 3x3 | 0.3 | 0.5 | 0.60 | 0.3 | 0.90 | 0.3 | 1.04 |
| 4x4 | 0.4 | 0.8 | 0.59 | 0.5 | 0.82 | 0.4 | 1.00 |
| 6x6 | 0.9 | 1.4 | 0.60 | 1.1 | 0.77 | 0.8 | 1.02 |
| 8x8 | 1.4 | 2.3 | 0.61 | 1.8 | 0.75 | 1.3 | 1.04 |
| 12x12 | 2.7 | 3.9 | 0.68 | 3.5 | 0.76 | 2.4 | 1.12 |
| 16x16 | 4.2 | 5.7 | 0.74 | 5.2 | 0.81 | 3.4 | 1.23 |
| 24x24 | 6.8 | 8.7 | 0.78 | 8.4 | 0.81 | 5.2 | 1.32 |
| 32x32 | 8.9 | 11.1 | 0.80 | 11.2 | 0.79 | 6.5 | 1.38 |
| 48x48 | 11.7 | 14.5 | 0.81 | 16.2 | 0.72 | 10.6 | 1.10 |
| 64x64 | 10.8 | 16.3 | 0.66 | 18.8 | 0.58 | 12.5 | 0.87 |
| 96x96 | 18.2 | 17.9 | 1.02 | 16.3 | 1.12 | 15.8 | 1.15 |
| 100x100 | 16.7 | 17.7 | 0.94 | 15.1 | 1.11 | 16.0 | 1.05 |
| 128x128 | 22.1 | 17.0 | 1.30 | 20.8 | 1.06 | 16.4 | 1.35 |
| 192x192 | 30.1 | 17.2 | 1.75 | 28.1 | 1.07 | 26.4 | 1.14 |
| 200x200 | 30.3 | 16.9 | 1.80 | 29.0 | 1.05 | 31.8 | 0.95 |
| 256x256 | 34.6 | 16.6 | 2.08 | 32.9 | 1.05 | 32.7 | 1.06 |
| 257x257 | 34.5 | 17.3 | 1.99 | 33.0 | 1.04 | 36.8 | 0.94 |
| 384x384 | 42.7 | 45.9 | 0.93 | 39.2 | 1.09 | 42.0 | 1.02 |
| 500x500 | 47.0 | 50.9 | 0.92 | 43.5 | 1.08 | 48.3 | 0.97 |
| 512x512 | 46.6 | 47.7 | 0.98 | 40.6 | 1.15 | 44.1 | 1.06 |
| 768x768 | 53.3 | 55.4 | 0.96 | 49.9 | 1.07 | 51.2 | 1.04 |
| 1000x1000 | 56.2 | 59.3 | 0.95 | 54.7 | 1.03 | 55.0 | 1.02 |
| 1001x1001 | 55.9 | 58.9 | 0.95 | 54.5 | 1.03 | 54.7 | 1.02 |
| 1024x1024 | 55.7 | 55.6 | 1.00 | 51.8 | 1.08 | 51.9 | 1.07 |
| 1536x1536 | 59.5 | 59.8 | 1.00 | 56.4 | 1.05 | 54.9 | 1.08 |
| 2048x2048 | 57.3 | 57.1 | 1.00 | 56.7 | 1.01 | 54.4 | 1.05 |
| 3072x3072 | 59.0 | 58.1 | 1.02 | 64.2 | 0.92 | 54.0 | 1.09 |
| 4096x4096 | 57.3 | 56.4 | 1.02 | 65.2 | 0.88 | 52.7 | 1.09 |
| 4097x4097 | 56.8 | 57.4 | 0.99 | 65.9 | 0.86 | 52.9 | 1.08 |
| 4096x8 | 11.6 | 10.1 | 1.16 | 12.0 | 0.97 | 9.4 | 1.24 |
| 4096x64 | 14.4 | 15.1 | 0.95 | 21.7 | 0.66 | 15.3 | 0.94 |
| 4096x256 | 32.9 | 15.3 | 2.14 | 34.1 | 0.97 | 30.3 | 1.09 |
| 4096x1024 | 51.9 | 53.4 | 0.97 | 54.5 | 0.95 | 51.2 | 1.01 |
| 10000x8 | 12.0 | 9.8 | 1.23 | 14.2 | 0.85 | 9.3 | 1.29 |
| 10000x100 | 20.9 | 13.5 | 1.55 | 28.3 | 0.74 | 14.7 | 1.42 |
| 10000x1000 | 52.3 | 53.2 | 0.98 | 54.9 | 0.95 | 49.4 | 1.06 |
| 10000x4000 | 59.3 | 58.4 | 1.02 | 68.8 | 0.86 | 54.6 | 1.09 |
| 100000x8 | 10.6 | 8.8 | 1.20 | 12.5 | 0.85 | 8.5 | 1.25 |
| 100000x64 | 11.8 | 9.2 | 1.28 | 20.8 | 0.57 | 10.0 | 1.19 |
| 100000x256 | 27.8 | 7.7 | 3.60 | 27.1 | 1.03 | 20.5 | 1.36 |
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.7 | 0.6 | 1.28 | 0.6 | 1.24 | 0.6 | 1.22 |
| 3 | 0.9 | 0.5 | 1.84 | 0.4 | 1.98 | 0.6 | 1.43 |
| 4 | 1.1 | 0.6 | 1.79 | 0.6 | 1.79 | 0.8 | 1.28 |
| 6 | 1.7 | 1.0 | 1.66 | 1.0 | 1.66 | 1.4 | 1.21 |
| 8 | 2.4 | 1.4 | 1.69 | 1.4 | 1.69 | 1.9 | 1.31 |
| 12 | 4.0 | 2.4 | 1.63 | 2.5 | 1.61 | 3.1 | 1.29 |
| 16 | 5.7 | 3.4 | 1.67 | 3.5 | 1.64 | 4.1 | 1.39 |
| 24 | 8.7 | 4.9 | 1.79 | 5.0 | 1.74 | 5.5 | 1.58 |
| 32 | 11.4 | 6.4 | 1.79 | 6.5 | 1.77 | 6.9 | 1.67 |
| 48 | 16.7 | 8.3 | 2.01 | 7.7 | 2.17 | 8.8 | 1.90 |
| 64 | 21.0 | 9.8 | 2.14 | 9.5 | 2.22 | 9.8 | 2.13 |
| 96 | 27.8 | 11.7 | 2.37 | 11.6 | 2.39 | 11.7 | 2.38 |
| 100 | 28.2 | 11.9 | 2.38 | 11.5 | 2.46 | 12.1 | 2.33 |
| 128 | 33.4 | 12.8 | 2.62 | 12.8 | 2.62 | 13.2 | 2.52 |
| 192 | 40.7 | 14.2 | 2.87 | 14.3 | 2.85 | 14.8 | 2.76 |
| 200 | 41.6 | 14.4 | 2.88 | 14.8 | 2.82 | 15.0 | 2.77 |
| 256 | 44.5 | 15.0 | 2.97 | 15.5 | 2.88 | 15.6 | 2.84 |
| 257 | 42.7 | 14.8 | 2.88 | 15.5 | 2.75 | 15.8 | 2.70 |
| 384 | 48.5 | 15.9 | 3.05 | 16.6 | 2.91 | 16.8 | 2.88 |
| 500 | 50.3 | 16.3 | 3.09 | 17.3 | 2.91 | 17.2 | 2.92 |
| 512 | 49.9 | 16.3 | 3.07 | 17.2 | 2.90 | 17.3 | 2.88 |
| 768 | 52.1 | 16.8 | 3.11 | 17.9 | 2.92 | 18.0 | 2.89 |
| 1000 | 52.8 | 17.0 | 3.10 | 18.4 | 2.87 | 18.4 | 2.88 |
| 1001 | 57.9 | 17.1 | 3.39 | 18.3 | 3.17 | 18.4 | 3.15 |
| 1024 | 51.8 | 16.8 | 3.08 | 18.3 | 2.83 | 18.2 | 2.84 |
| 1536 | 52.3 | 17.4 | 3.02 | 18.8 | 2.78 | 18.6 | 2.81 |
| 2048 | 49.7 | 17.0 | 2.92 | 18.9 | 2.63 | 18.8 | 2.65 |
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.9 | 0.5 | 1.65 | 0.6 | 1.60 | 0.6 | 1.55 |
| 3 | 0.7 | 0.4 | 1.67 | 0.4 | 1.68 | 0.5 | 1.34 |
| 4 | 0.9 | 0.5 | 1.62 | 0.5 | 1.57 | 0.7 | 1.26 |
| 6 | 1.3 | 0.8 | 1.57 | 0.8 | 1.53 | 1.0 | 1.24 |
| 8 | 1.8 | 1.2 | 1.52 | 1.2 | 1.48 | 1.5 | 1.18 |
| 12 | 3.0 | 1.9 | 1.56 | 2.0 | 1.50 | 2.3 | 1.29 |
| 16 | 3.9 | 2.8 | 1.43 | 2.8 | 1.38 | 3.0 | 1.29 |
| 24 | 6.0 | 3.9 | 1.52 | 4.1 | 1.46 | 4.2 | 1.44 |
| 32 | 7.7 | 5.0 | 1.53 | 5.2 | 1.49 | 5.1 | 1.51 |
| 48 | 10.1 | 6.6 | 1.53 | 6.2 | 1.62 | 6.6 | 1.54 |
| 64 | 12.6 | 7.8 | 1.61 | 7.6 | 1.66 | 7.6 | 1.66 |
| 96 | 15.4 | 8.9 | 1.73 | 8.8 | 1.76 | 9.0 | 1.71 |
| 100 | 15.8 | 9.2 | 1.71 | 9.1 | 1.75 | 9.4 | 1.69 |
| 128 | 17.5 | 10.0 | 1.75 | 10.0 | 1.76 | 10.0 | 1.76 |
| 192 | 20.2 | 10.9 | 1.86 | 11.3 | 1.79 | 11.5 | 1.76 |
| 200 | 20.4 | 11.0 | 1.85 | 11.5 | 1.77 | 11.7 | 1.74 |
| 256 | 20.8 | 11.4 | 1.82 | 12.1 | 1.71 | 12.3 | 1.70 |
| 257 | 22.1 | 11.5 | 1.92 | 12.2 | 1.81 | 12.4 | 1.79 |
| 384 | 22.1 | 12.0 | 1.83 | 13.1 | 1.69 | 13.3 | 1.66 |
| 500 | 22.6 | 12.5 | 1.81 | 13.5 | 1.67 | 13.8 | 1.64 |
| 512 | 22.6 | 12.5 | 1.82 | 13.6 | 1.66 | 13.7 | 1.66 |
| 768 | 23.1 | 13.0 | 1.78 | 14.4 | 1.60 | 14.3 | 1.62 |
| 1000 | 23.3 | 13.2 | 1.76 | 14.8 | 1.58 | 14.5 | 1.61 |
| 1001 | 27.2 | 13.3 | 2.05 | 14.8 | 1.84 | 14.6 | 1.86 |
| 1024 | 22.7 | 12.9 | 1.77 | 14.7 | 1.55 | 14.5 | 1.57 |
| 1536 | 22.9 | 13.1 | 1.74 | 15.1 | 1.51 | 14.8 | 1.55 |
| 2048 | 20.8 | 12.1 | 1.72 | 15.0 | 1.39 | 14.7 | 1.41 |
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 | 2.2 | 0.3 | 6.54 | 0.3 | 8.14 | 0.4 | 5.66 |
| 3x3 | 1.7 | 0.6 | 3.05 | 0.5 | 3.36 | 0.7 | 2.29 |
| 4x4 | 2.0 | 0.8 | 2.50 | 0.8 | 2.66 | 1.1 | 1.87 |
| 6x6 | 2.0 | 1.5 | 1.37 | 1.4 | 1.42 | 2.0 | 1.02 |
| 8x8 | 2.5 | 2.2 | 1.14 | 2.2 | 1.17 | 3.0 | 0.86 |
| 12x12 | 2.9 | 3.8 | 0.76 | 3.8 | 0.77 | 4.7 | 0.61 |
| 16x16 | 5.2 | 5.5 | 0.95 | 5.2 | 1.00 | 6.5 | 0.79 |
| 24x24 | 7.4 | 8.2 | 0.90 | 8.2 | 0.90 | 9.3 | 0.79 |
| 32x32 | 10.5 | 13.2 | 0.79 | 12.0 | 0.88 | 14.7 | 0.71 |
| 48x48 | 17.1 | 20.1 | 0.85 | 16.0 | 1.06 | 21.2 | 0.81 |
| 64x64 | 23.1 | 29.4 | 0.79 | 24.2 | 0.95 | 32.5 | 0.71 |
| 96x96 | 37.2 | 44.0 | 0.85 | 37.3 | 1.00 | 46.2 | 0.81 |
| 100x100 | 38.7 | 45.7 | 0.85 | 37.7 | 1.03 | 50.0 | 0.77 |
| 128x128 | 49.0 | 56.7 | 0.86 | 49.1 | 1.00 | 63.1 | 0.78 |
| 192x192 | 71.8 | 72.1 | 1.00 | 65.8 | 1.09 | 79.7 | 0.90 |
| 200x200 | 73.7 | 74.1 | 0.99 | 67.6 | 1.09 | 83.6 | 0.88 |
| 256x256 | 86.0 | 80.6 | 1.07 | 77.5 | 1.11 | 84.8 | 1.01 |
| 257x257 | 88.3 | 80.3 | 1.10 | 80.9 | 1.09 | 99.5 | 0.89 |
| 384x384 | 115.0 | 98.7 | 1.17 | 102.5 | 1.12 | 111.9 | 1.03 |
| 500x500 | 133.7 | 111.6 | 1.20 | 124.2 | 1.08 | 142.6 | 0.94 |
| 512x512 | 130.7 | 107.5 | 1.22 | 118.6 | 1.10 | 127.0 | 1.03 |
| 768x768 | 153.7 | 114.7 | 1.34 | 141.2 | 1.09 | 148.3 | 1.04 |
| 1000x1000 | 169.3 | 116.8 | 1.45 | 158.1 | 1.07 | 176.1 | 0.96 |
| 1001x1001 | 168.3 | 111.3 | 1.51 | 157.9 | 1.07 | 176.3 | 0.95 |
| 1024x1024 | 154.8 | 106.7 | 1.45 | 141.1 | 1.10 | 144.5 | 1.07 |
| 1536x1536 | 171.2 | 112.8 | 1.52 | 160.2 | 1.07 | 172.6 | 0.99 |
| 2048x2048 | 157.4 | 93.6 | 1.68 | 147.3 | 1.07 | 160.2 | 0.98 |
| 4096x64 | 86.8 | 62.8 | 1.38 | 77.4 | 1.12 | 75.9 | 1.14 |
| 4096x256 | 155.6 | 68.6 | 2.27 | 135.5 | 1.15 | 136.5 | 1.14 |
| 4096x1024 | 178.8 | 89.7 | 1.99 | 168.8 | 1.06 | 168.9 | 1.06 |
| 10000x8 | 29.2 | 33.2 | 0.88 | 30.6 | 0.96 | 32.0 | 0.91 |
| 10000x100 | 128.1 | 74.5 | 1.72 | 98.1 | 1.31 | 85.3 | 1.50 |
| 10000x1000 | 214.7 | 109.5 | 1.96 | 215.1 | 1.00 | 215.0 | 1.00 |
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 | 2.5 | 0.3 | 7.20 | 0.3 | 8.95 | 0.4 | 6.34 |
| 3x3 | 1.2 | 0.5 | 2.47 | 0.5 | 2.62 | 0.6 | 1.98 |
| 4x4 | 1.5 | 0.7 | 2.09 | 0.7 | 2.23 | 0.9 | 1.62 |
| 6x6 | 1.6 | 1.2 | 1.26 | 1.2 | 1.32 | 1.6 | 0.98 |
| 8x8 | 1.6 | 1.8 | 0.91 | 1.8 | 0.92 | 2.3 | 0.72 |
| 12x12 | 1.9 | 3.0 | 0.62 | 3.0 | 0.62 | 3.5 | 0.53 |
| 16x16 | 3.8 | 4.2 | 0.91 | 4.2 | 0.91 | 4.5 | 0.86 |
| 24x24 | 5.3 | 6.3 | 0.84 | 6.1 | 0.86 | 6.4 | 0.83 |
| 32x32 | 7.5 | 10.4 | 0.72 | 9.5 | 0.79 | 10.5 | 0.72 |
| 48x48 | 11.9 | 15.5 | 0.77 | 12.4 | 0.96 | 13.9 | 0.85 |
| 64x64 | 16.1 | 22.5 | 0.72 | 18.4 | 0.88 | 23.1 | 0.70 |
| 96x96 | 25.1 | 30.1 | 0.83 | 26.8 | 0.94 | 31.8 | 0.79 |
| 100x100 | 26.1 | 30.8 | 0.85 | 26.9 | 0.97 | 34.2 | 0.76 |
| 128x128 | 31.3 | 36.1 | 0.87 | 33.1 | 0.94 | 41.3 | 0.76 |
| 192x192 | 46.1 | 43.4 | 1.06 | 43.9 | 1.05 | 50.9 | 0.91 |
| 200x200 | 47.8 | 44.6 | 1.07 | 46.1 | 1.04 | 55.2 | 0.87 |
| 256x256 | 54.6 | 50.0 | 1.09 | 52.2 | 1.05 | 57.2 | 0.96 |
| 257x257 | 55.8 | 49.3 | 1.13 | 54.3 | 1.03 | 63.7 | 0.87 |
| 384x384 | 70.0 | 57.3 | 1.22 | 65.4 | 1.07 | 69.9 | 1.00 |
| 500x500 | 79.4 | 61.2 | 1.30 | 74.8 | 1.06 | 85.0 | 0.93 |
| 512x512 | 74.5 | 56.2 | 1.32 | 68.2 | 1.09 | 71.2 | 1.05 |
| 768x768 | 83.9 | 59.2 | 1.42 | 80.6 | 1.04 | 85.4 | 0.98 |
| 1000x1000 | 88.5 | 59.2 | 1.50 | 85.3 | 1.04 | 94.1 | 0.94 |
| 1001x1001 | 88.7 | 57.8 | 1.53 | 85.1 | 1.04 | 94.2 | 0.94 |
| 1024x1024 | 77.3 | 52.7 | 1.47 | 78.5 | 0.99 | 81.2 | 0.95 |
| 1536x1536 | 88.4 | 51.9 | 1.70 | 81.4 | 1.09 | 87.3 | 1.01 |
| 2048x2048 | 74.2 | 38.5 | 1.93 | 72.0 | 1.03 | 80.1 | 0.93 |
| 4096x64 | 53.0 | 41.0 | 1.29 | 47.5 | 1.12 | 43.5 | 1.22 |
| 4096x256 | 90.6 | 42.9 | 2.11 | 77.3 | 1.17 | 77.5 | 1.17 |
| 4096x1024 | 94.4 | 46.1 | 2.05 | 92.4 | 1.02 | 92.4 | 1.02 |
| 10000x8 | 13.6 | 24.6 | 0.55 | 24.4 | 0.56 | 23.2 | 0.59 |
| 10000x100 | 71.3 | 44.4 | 1.61 | 56.4 | 1.27 | 44.3 | 1.61 |
| 10000x1000 | 114.2 | 46.8 | 2.44 | 111.4 | 1.02 | 110.6 | 1.03 |
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 | 2.3 | 0.4 | 6.22 | 0.2 | 10.52 | 0.4 | 5.79 |
| 3 | 1.4 | 0.5 | 3.01 | 0.3 | 4.73 | 0.6 | 2.49 |
| 4 | 2.3 | 0.8 | 2.99 | 0.5 | 4.48 | 1.0 | 2.34 |
| 6 | 3.1 | 1.3 | 2.50 | 0.9 | 3.29 | 1.5 | 2.11 |
| 8 | 4.5 | 1.9 | 2.35 | 1.4 | 3.16 | 2.2 | 2.06 |
| 12 | 7.2 | 3.3 | 2.19 | 2.4 | 3.03 | 3.6 | 1.98 |
| 16 | 9.0 | 4.8 | 1.88 | 3.3 | 2.71 | 4.8 | 1.87 |
| 24 | 11.6 | 8.0 | 1.44 | 5.0 | 2.30 | 6.9 | 1.68 |
| 32 | 13.9 | 10.9 | 1.28 | 6.5 | 2.14 | 8.8 | 1.57 |
| 48 | 17.1 | 16.7 | 1.02 | 8.7 | 1.96 | 11.2 | 1.52 |
| 64 | 18.8 | 21.5 | 0.87 | 10.3 | 1.82 | 12.9 | 1.45 |
| 96 | 21.7 | 15.1 | 1.44 | 12.5 | 1.74 | 15.3 | 1.42 |
| 100 | 22.3 | 16.3 | 1.37 | 13.1 | 1.70 | 16.1 | 1.38 |
| 128 | 23.2 | 18.7 | 1.24 | 15.4 | 1.51 | 18.4 | 1.26 |
| 192 | 26.1 | 33.9 | 0.77 | 26.2 | 1.00 | 33.7 | 0.77 |
| 200 | 26.4 | 35.7 | 0.74 | 28.0 | 0.94 | 36.5 | 0.72 |
| 256 | 26.5 | 46.7 | 0.57 | 34.6 | 0.76 | 44.2 | 0.60 |
| 257 | 27.0 | 47.7 | 0.57 | 35.0 | 0.77 | 44.0 | 0.61 |
| 384 | 24.0 | 66.3 | 0.36 | 49.7 | 0.48 | 62.9 | 0.38 |
| 500 | 29.3 | 83.0 | 0.35 | 62.9 | 0.47 | 77.2 | 0.38 |
| 512 | 28.6 | 54.3 | 0.53 | 46.9 | 0.61 | 55.5 | 0.52 |
| 768 | 29.5 | 81.8 | 0.36 | 73.8 | 0.40 | 85.1 | 0.35 |
| 1000 | 30.6 | 106.1 | 0.29 | 99.4 | 0.31 | 113.8 | 0.27 |
| 1001 | 28.8 | 106.6 | 0.27 | 98.4 | 0.29 | 114.0 | 0.25 |
| 1024 | 26.4 | 90.4 | 0.29 | 86.6 | 0.30 | 99.8 | 0.26 |
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 | 3.0 | 0.4 | 8.33 | 0.2 | 13.80 | 0.4 | 8.43 |
| 3 | 1.3 | 0.5 | 2.74 | 0.3 | 4.39 | 0.5 | 2.57 |
| 4 | 1.6 | 0.6 | 2.53 | 0.5 | 3.50 | 0.7 | 2.27 |
| 6 | 2.6 | 1.3 | 2.10 | 0.8 | 3.10 | 1.3 | 2.03 |
| 8 | 3.4 | 1.8 | 1.94 | 1.2 | 2.75 | 1.9 | 1.85 |
| 12 | 4.7 | 2.8 | 1.65 | 2.1 | 2.27 | 3.0 | 1.59 |
| 16 | 5.8 | 4.1 | 1.43 | 2.8 | 2.07 | 3.6 | 1.60 |
| 24 | 7.0 | 6.0 | 1.18 | 4.1 | 1.72 | 5.1 | 1.37 |
| 32 | 8.2 | 7.9 | 1.04 | 5.2 | 1.57 | 6.3 | 1.29 |
| 48 | 9.7 | 11.4 | 0.85 | 6.9 | 1.41 | 8.3 | 1.17 |
| 64 | 10.8 | 13.8 | 0.78 | 8.1 | 1.33 | 9.6 | 1.12 |
| 96 | 11.7 | 10.5 | 1.11 | 8.9 | 1.32 | 10.3 | 1.14 |
| 100 | 11.7 | 11.1 | 1.06 | 9.3 | 1.26 | 10.9 | 1.08 |
| 128 | 12.2 | 11.4 | 1.07 | 9.7 | 1.25 | 11.0 | 1.11 |
| 192 | 12.2 | 20.7 | 0.59 | 16.0 | 0.76 | 19.3 | 0.63 |
| 200 | 13.1 | 21.6 | 0.60 | 16.9 | 0.77 | 20.6 | 0.63 |
| 256 | 12.9 | 25.7 | 0.50 | 20.3 | 0.64 | 23.9 | 0.54 |
| 257 | 13.3 | 26.7 | 0.50 | 21.1 | 0.63 | 25.0 | 0.53 |
| 384 | 13.1 | 36.0 | 0.36 | 29.3 | 0.45 | 33.6 | 0.39 |
| 500 | 13.3 | 43.2 | 0.31 | 36.5 | 0.36 | 41.3 | 0.32 |
| 512 | 12.6 | 27.7 | 0.46 | 26.6 | 0.47 | 28.0 | 0.45 |
| 768 | 13.1 | 42.9 | 0.31 | 40.5 | 0.32 | 44.2 | 0.30 |
| 1000 | 13.2 | 54.5 | 0.24 | 53.6 | 0.25 | 57.5 | 0.23 |
| 1001 | 13.2 | 54.8 | 0.24 | 54.3 | 0.24 | 57.8 | 0.23 |
| 1024 | 12.0 | 44.3 | 0.27 | 46.4 | 0.26 | 50.3 | 0.24 |