Eigen vs. BLAS/LAPACK libraries, NVIDIA DGX Spark with NEON (October 2026)
The operations and shapes of the Grace and Apple M4 pages measured on one Cortex-X925 core of an NVIDIA DGX Spark, whose GB10 chip has 10 Arm Cortex-X925 performance cores and 10 Cortex-A725 efficiency cores. Eigen is built for NEON, the default on AArch64, against the same three BLAS/LAPACK libraries as on the Grace page, each at its newest release: Arm Performance Libraries 26.07, NVIDIA Performance Libraries (NVPL) 26.5 and OpenBLAS 0.3.34. The SVE page has the same cells with Eigen built for SVE at the 128-bit vector length of this CPU.
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), in two clusters of five of each, which share an 8 MiB and a 16 MiB L3; the measured X925 has a 64 KiB L1d and a private 2 MiB L2 and sits in the 16 MiB cluster; X925 cores at 3.9 GHz with frequency boost disabled; 119 GiB of memory; SVE2 at a 128-bit vector length, bf16, i8mm; 4 KiB pages |
| OS | Ubuntu 24.04.4 LTS, Linux 6.17.0-1012-nvidia |
| Compiler | GCC 13.3.0, -O3 -DNDEBUG for the default armv8-a target, no -mcpu or -march (GCC 13 does not accept -mcpu=cortex-x925), 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 selects SVE only when asked (EIGEN_ARM64_USE_SVE), so every kernel here is the NEON code |
| Arm Performance Libraries | 26.07 (reports 26.7.0 release), the GCC build from Arm’s deb installer, the sequential LP64 library libarmpl_lp64 |
| NVPL | NVIDIA Performance Libraries 26.5, nvpl_blas 0.6.0 and nvpl_lapack 0.4.0.1 from the redistributable archives, the sequential LP64 libraries libnvpl_blas_lp64_seq and libnvpl_lapack_lp64_seq |
| OpenBLAS | 0.3.34, built from the release tarball for its NEOVERSEV2 target with GCC and gfortran 13.3 (pthread build, NUM_THREADS=20); it reports OpenBLAS 0.3.34 NO_AFFINITY NEOVERSEV2 MAX_THREADS=20 at run time. This release has no Cortex-X925 target of its own: its CPU detection maps the X925 (part 0xd85) to the Neoverse V2 kernels. Its LAPACK is the reference LAPACK it bundles, compiled by gfortran |
| Interface | every library is called through the Fortran BLAS and LAPACK symbols (dgemm_, dpotrf_, …) with column-major operands, from one set of declarations shared by the three |
| Threads | 1 for every arm: ARMPL_NUM_THREADS, NVPL_BLAS_NUM_THREADS, NVPL_LAPACK_NUM_THREADS, OPENBLAS_NUM_THREADS and OMP_NUM_THREADS all set to 1; 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 | 2026-10-02 to 2026-10-03 (UTC; 36 runs, about 6.6 hours of measurement, on three DGX Spark machines; see below) |
| Harness | benchmarks/comparison/run.py from Eigen merge request !2903, machine profile cortex-x925-20c |
GEMM at n = 1024 ran at 72 GFLOP/s in double and 155 in float in Eigen, against 83 and 171 for Arm Performance Libraries, 79 and 170 for NVPL, and 69 and 137 for 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. Both arms of a comparison are built into the same binary and run on the same freshly randomized operands, and the reference library’s result is validated against Eigen’s before it is timed. A ratio divides Eigen’s rate by the library’s rate from the same binary and the same run. Each of the three binaries, one per library, also measured every Eigen cell, so Eigen was measured three times: the Eigen line on each chart is the median of the three passes and the shaded band is their spread, the run-to-run noise on this host. The spread is within 3 % for 88 % of the cells, within 5 % for 95 % and above 10 % for 3 %. Most of the widest are at the small end of AXPY and DOT, where one binary runs a cell 14 to 20 % apart from the other two (AXPY in double at n = 32: 11.7 against 14.0 and 14.8 GFLOP/s). Two more are binary-dependent too: GEMM in float at n = 384 runs at 131 GFLOP/s in the Arm Performance Libraries and OpenBLAS binaries and at 158 in the NVPL binary, and DOT in float between n = 1536 and 4096 at 52 to 54 GFLOP/s in the NVPL binary against 61 to 62 in the other two. On the SVE page the slow DOT pass is the Arm Performance Libraries binary instead, in a run that ended at a load average of 1.03, so these follow the binary’s layout rather than the library it links or the load.
Three machines. The twelve operations were split into three groups to fit the measurement into the 8-hour limit of a batch queue, and each group was measured on its own DGX Spark, held exclusively: GEQRF, GEMV and POTRF on the first; GEMM, TRSM, DOT and GEEV on the second; SYRK, GESDD, SYEV, AXPY and GETRF on the third. All three run the same CPU at the same fixed 3.9 GHz, the same kernel and the same software, unpacked from one archive. Every arm of an operation, the three library binaries here and the two SVE passes, ran on the same machine, so every chart and every ratio on this page comes from one machine; the rates of two different operations may come from two. A run started only once the 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.95 and 1.38 before and between 1.02 and 1.54 after a run, which includes the run’s own core). None of the 36 runs had to be repeated, and no cell errored.
The libraries select their kernels at run time from the CPU they find themselves on, so they run whatever they choose for the Cortex-X925, SVE or NEON; only Eigen is held to NEON on this page, and to SVE on the SVE page. The library rows are the same on both.
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).
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.64 ns per call for Eigen 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.
In L1 and L2 Eigen’s AXPY runs at about one 128-bit vector per cycle in either precision: 14 to 16 GFLOP/s in double and 26 to 31 in float from n = 48 to (2^{17}). OpenBLAS reaches 24 to 25 GFLOP/s in double between n = 384 and 2048, 1.6x Eigen, and Arm Performance Libraries 18 to 20; in float the libraries’ lead is smaller, 36 to 40 GFLOP/s for Arm Performance Libraries and 33 to 35 for OpenBLAS. Up to n = 16 Eigen is 2x ahead of Arm Performance Libraries and 5 to 6x ahead of NVPL. From L3 into DRAM the four arms meet at the bandwidth of one core, 4.4 GFLOP/s at n = (2^{24}) in double, or 53 GB/s.

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.
Eigen’s dot product is the fastest arm at every length that fits in L1, and in float through L2: 30.6 GFLOP/s at n = 1024 in double against 23.6 for Arm Performance Libraries, 17.2 for OpenBLAS and 7.5 for NVPL, and 62 GFLOP/s in float at n = 4096, 1.9x Arm Performance Libraries and OpenBLAS. In double, from L1 to L3, Eigen and Arm Performance Libraries are level (ratios of 0.97 to 1.07), and both stay ahead of OpenBLAS through L2. NVPL’s DOT stays near 7.8 GFLOP/s in double and 15.5 in float from n = 2048 through L3, and only meets the others where DRAM bandwidth binds, at 4.8 GFLOP/s in double at n = (2^{24}).

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.
Eigen leads every library from n = 24 to 128, by 1.05 to 2.7x, and the two vendor libraries by 2.7 to 9.5x at n ≤ 16. From 200 to 768 the four arms are within 12 % of each other. Between the L2 and L3 boundaries OpenBLAS is ahead, by up to 1.35x: 21.7 GFLOP/s against Eigen’s 16.3 at n = 1024 in double, and 52.5 against 38.9 in float. From n = 4096 on every arm runs at 8 to 9.4 GFLOP/s in double, the memory bandwidth of one core. In the sweeps Eigen is up to 15 % behind the vendor libraries at 100 to 1000 rows or columns, and at 0.74 and 0.78 of OpenBLAS on 1000-by-10000 in float and 100-by-10000 in double; Eigen leads at the narrowest operands: 8-by-10000 runs at 1.4 to 2.3x every library in double, and 10000-by-8 at 1.4x OpenBLAS in both precisions.

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.
Eigen’s NEON kernel reaches 72 to 75 GFLOP/s in double and 149 to 159 in float from n = 192 on (apart from the binary-dependent float cell at n = 384 described above) and holds that to n = 4096 and the 10000-by-4000 shapes. Arm Performance Libraries reaches 82 to 85 and 158 to 175: Eigen runs at 0.85 to 0.90 of its rate in double and 0.86 to 0.96 in float. NVPL is within 7 % of Eigen in double up to n = 512 and ahead from 768 on, where Eigen runs at 0.89 to 0.92 of it in double and 0.87 to 0.93 in float. OpenBLAS’s Neoverse V2 kernels reach 66 to 69 and 131 to 138, behind Eigen by 4 to 10 % in double and 11 to 17 % in float. Below n = 32 Eigen is 1.2 to 5x ahead of Arm Performance Libraries and 1.5 to 20x ahead of NVPL.
OpenBLAS’s square GEMM drops in double at n = 16, 32, 64, 96, 128 and 256 (13.5 to 56 GFLOP/s, against 66 to 68 at n = 100, 160, 192 and 257) and in float at n = 96 and 256; the 10 repetitions of each of these cells agree within 8 %, so the drops are a property of the library at those sizes, not noise. In double the 10000-by-8-by-8 shape puts Eigen behind Arm Performance Libraries and OpenBLAS: 34 GFLOP/s against 44 and 47.

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.
Eigen’s TRSM leads in float at every size up to 2048: 1.02 to 1.3x Arm Performance Libraries from n = 192 to 1024, 1.15 to 2x NVPL and 1.4 to 2.1x OpenBLAS, and 3.5x NVPL and OpenBLAS on 64 equations with 4096 right-hand sides. In double Eigen leads or is level up to n = 1024 and falls 3 to 11 % behind the two vendor libraries from 1536 on (67 to 68 GFLOP/s against 71 to 75), still 6 to 9 % ahead of OpenBLAS. NVPL’s call cost dominates the smallest triangles, where Eigen is 12 to 86x faster.

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.
Eigen runs SYRK at 69 GFLOP/s in double and 149 in float at n = 1024, 11 % behind the two vendor libraries in double and 5 to 9 % in float, and level with or ahead of OpenBLAS (1.01x and 1.10x). Eigen’s rate drops at three sizes in every pass and in both builds: n = 384 and 768 in float (103 and 121 GFLOP/s, against 132 to 153 at the sizes around them) and n = 512 in double (52 against 70). These are not the kernel: at those sizes the packing buffers Eigen allocates on every call go back to the operating system on each free and are page-faulted in again on the next call. The same binaries with glibc’s malloc thresholds fixed run them at 143 to 151 and 67 GFLOP/s (libeigen/eigen#3201). At n ≤ 8 the vendor libraries’ call costs put Eigen 3.4 to 5.4x (Arm Performance Libraries) and 12 to 24x (NVPL) ahead, while in double up to n = 12 Eigen runs at 0.68 to 0.85 of OpenBLAS.

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 LLT is ahead of all three libraries from n = 128 to 4096, by 1.05 to 2.1x: 137 GFLOP/s
at n = 4096 against 110 for Arm Performance Libraries, 130 for NVPL and 126 for OpenBLAS. In double
it is level with or ahead of the two vendor libraries at every size up to 1024, by up to 2.3x at
n = 24, and above that ahead of Arm Performance Libraries and up to 6 % behind NVPL. OpenBLAS’s
dpotrf is ahead of Eigen at several sizes between 32 and 200, by 1.4 to 1.5x at n = 32, 96 and
100, and within 6 % of it from 768 on.

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 PartialPivLU is the fastest arm at every size from 24 to 4096: 1.1 to 1.8x Arm
Performance Libraries, 1.04 to 2x OpenBLAS, and 1.04 to 4.8x NVPL. In double it is 1.2 to 2.6x ahead of OpenBLAS
below n = 96 and level with it from there on. It leads Arm Performance Libraries at most sizes
above n = 24, by up to 1.3x at n = 256, 512 and 1024, where Arm Performance Libraries’ dgetrf
drops (to 32, 39 and 48 GFLOP/s, against 38, 49 and 58 at n = 257, 500 and 1001). NVPL’s dgetrf catches up with
Eigen at n = 2048 and is 3 to 8 % ahead 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.
Below n = 64 the two vendor libraries lead, Arm Performance Libraries by 1.2 to 1.6x in double at
n ≤ 16; Eigen leads OpenBLAS there. Eigen’s rate drops at n = 64 in every pass (11.1 GFLOP/s in
double, against 13.0 at n = 48 and 18.7 at 96), the one square size at which it trails all three
libraries in both precisions. From 128 on Eigen is level with or ahead of every arm in float, by up
to 2.9x over Arm Performance Libraries, whose sgeqrf stays near 30 GFLOP/s from n = 128 to 384;
in double it is level with or ahead of NVPL and OpenBLAS up to n = 2048 (never below 0.92 of
either) and within 10 % of Arm Performance Libraries from 384 on. At the largest sizes NVPL leads: Eigen runs at 0.95 of its rate in float and
0.85 in double at n = 4096. In the tall-skinny sweeps NVPL leads at 64 and 100 columns, by up to
1.8x in double, and Arm Performance Libraries trails at 256 columns, where Eigen is 2 to 4x ahead.

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 3.7 s in double.
Eigen’s tridiagonal QR path is the fastest arm at every size: 1.2 to 2.1x every library in double and 1.3 to 3.5x in float, and 2.7 to 3.5x every library in float from n = 192 on (50 GFLOP/s at n = 512 against 16 to 17), the largest lead on the page for a LAPACK routine.

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.
Between n = 8 and 128 the libraries’ divide and conquer is ahead of BDCSVD in double, by up to
1.8x. From 192 to 2048 Eigen is level with NVPL in double and 1.1 to 1.2x ahead of it in float,
1.06 to 1.9x ahead of Arm Performance Libraries, whose rate falls above n = 1000, and within 14 %
of OpenBLAS, which mostly leads in double and trails in float. In the tall-skinny sweeps Eigen leads
every library at 64 to 256 columns, by up to 2.5x, is level with NVPL and OpenBLAS at
10000-by-1000, and runs at 0.54 to 0.59 of every library at 10000-by-8 in double.

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
2.2 s in double.
EigenSolver stops scaling at n = 128 and stays at 12 to 14 GFLOP/s in double, while the three
libraries’ dgeev climb to 54 to 58 GFLOP/s at n = 1000, so Eigen falls from 0.6 to 0.8x of the
libraries at n = 192 to 0.23 to 0.28x at 1024, as on the other pages. Below n = 32 Eigen leads by 1.2 to 14x.

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.02 | 1.80 | 0.89 | 0.82 | 0.99 |
| AXPY | float | NVPL | 5.50 | 3.93 | 1.40 | 1.06 | 1.00 |
| AXPY | float | OpenBLAS | 1.15 | 1.17 | 0.90 | 0.93 | 1.02 |
| AXPY | double | Arm Performance Libraries | 2.16 | 1.37 | 0.82 | 0.88 | 0.99 |
| AXPY | double | NVPL | 5.48 | 2.68 | 1.23 | 1.02 | 1.00 |
| AXPY | double | OpenBLAS | 1.52 | 0.96 | 0.63 | 0.88 | 1.02 |
| DOT | float | Arm Performance Libraries | 5.51 | 2.29 | 1.47 | 1.63 | 1.02 |
| DOT | float | NVPL | 20.50 | 7.51 | 4.20 | 3.21 | 1.57 |
| DOT | float | OpenBLAS | 4.32 | 2.04 | 1.46 | 1.63 | 1.03 |
| DOT | double | Arm Performance Libraries | 4.90 | 1.76 | 1.30 | 1.12 | 1.00 |
| DOT | double | NVPL | 16.51 | 5.39 | 4.17 | 3.01 | 1.47 |
| DOT | double | OpenBLAS | 3.62 | 1.56 | 1.57 | 1.46 | 1.01 |
| GEMV | float | Arm Performance Libraries | 4.33 | 1.56 | 1.00 | 0.98 | – |
| GEMV | float | NVPL | 6.79 | 1.86 | 1.05 | 0.93 | – |
| GEMV | float | OpenBLAS | 2.27 | 1.51 | 0.98 | 0.90 | – |
| GEMV | double | Arm Performance Libraries | 4.12 | 1.34 | 0.98 | 1.00 | – |
| GEMV | double | NVPL | 6.14 | 1.58 | 1.00 | 0.92 | – |
| GEMV | double | OpenBLAS | 2.17 | 1.39 | 0.97 | 0.97 | – |
| GEMM | float | Arm Performance Libraries | 2.50 | 1.38 | 0.92 | 0.91 | – |
| GEMM | float | NVPL | 4.29 | 1.36 | 0.96 | 0.89 | – |
| GEMM | float | OpenBLAS | 1.50 | 1.19 | 1.16 | 1.15 | – |
| GEMM | double | Arm Performance Libraries | 2.39 | 1.00 | 0.88 | 0.87 | – |
| GEMM | double | NVPL | 4.43 | 1.21 | 0.95 | 0.90 | – |
| GEMM | double | OpenBLAS | 1.83 | 1.58 | 1.09 | 1.09 | – |
| TRSM | float | Arm Performance Libraries | 2.83 | 2.96 | 1.14 | 1.04 | – |
| TRSM | float | NVPL | 43.00 | 4.73 | 1.49 | 0.98 | – |
| TRSM | float | OpenBLAS | 2.73 | 3.77 | 1.71 | 1.22 | – |
| TRSM | double | Arm Performance Libraries | 2.05 | 1.89 | 1.11 | 0.93 | – |
| TRSM | double | NVPL | 34.19 | 2.66 | 1.14 | 0.92 | – |
| TRSM | double | OpenBLAS | 2.13 | 1.82 | 1.14 | 1.08 | – |
| SYRK | float | Arm Performance Libraries | 3.89 | 1.25 | 0.92 | 0.94 | – |
| SYRK | float | NVPL | 15.45 | 1.88 | 0.89 | 0.90 | – |
| SYRK | float | OpenBLAS | 0.96 | 1.24 | 1.09 | 1.12 | – |
| SYRK | double | Arm Performance Libraries | 3.63 | 1.09 | 0.89 | 0.89 | – |
| SYRK | double | NVPL | 12.03 | 1.43 | 0.91 | 0.88 | – |
| SYRK | double | OpenBLAS | 0.90 | 1.44 | 1.02 | 1.04 | – |
| POTRF | float | Arm Performance Libraries | 1.26 | 1.74 | 1.39 | 1.20 | – |
| POTRF | float | NVPL | 6.26 | 1.59 | 1.58 | 1.10 | – |
| POTRF | float | OpenBLAS | 1.58 | 1.10 | 1.20 | 1.10 | – |
| POTRF | double | Arm Performance Libraries | 1.21 | 1.25 | 1.05 | 1.07 | – |
| POTRF | double | NVPL | 5.21 | 1.26 | 1.21 | 0.97 | – |
| POTRF | double | OpenBLAS | 1.51 | 1.00 | 0.99 | 1.03 | – |
| GETRF | float | Arm Performance Libraries | 1.49 | 1.46 | 1.51 | 1.25 | – |
| GETRF | float | NVPL | 6.50 | 3.36 | 1.52 | 1.07 | – |
| GETRF | float | OpenBLAS | 2.49 | 1.75 | 1.29 | 1.11 | – |
| GETRF | double | Arm Performance Libraries | 1.13 | 1.11 | 1.09 | 1.02 | – |
| GETRF | double | NVPL | 5.95 | 2.47 | 1.24 | 0.98 | – |
| GETRF | double | OpenBLAS | 2.14 | 1.32 | 0.99 | 1.03 | – |
| GEQRF | float | Arm Performance Libraries | 0.75 | 0.90 | 1.47 | 1.12 | – |
| GEQRF | float | NVPL | 0.92 | 0.81 | 1.23 | 1.01 | – |
| GEQRF | float | OpenBLAS | 1.11 | 1.11 | 1.10 | 1.17 | – |
| GEQRF | double | Arm Performance Libraries | 0.68 | 0.93 | 1.22 | 0.98 | – |
| GEQRF | double | NVPL | 0.90 | 0.91 | 1.05 | 0.91 | – |
| GEQRF | double | OpenBLAS | 1.18 | 1.23 | 1.00 | 1.04 | – |
| SYEV | float | Arm Performance Libraries | 1.76 | 2.17 | 3.08 | 2.99 | – |
| SYEV | float | NVPL | 1.75 | 2.20 | 2.92 | 2.70 | – |
| SYEV | float | OpenBLAS | 1.40 | 2.08 | 2.90 | 2.77 | – |
| SYEV | double | Arm Performance Libraries | 1.58 | 1.64 | 1.86 | 1.74 | – |
| SYEV | double | NVPL | 1.53 | 1.63 | 1.71 | 1.44 | – |
| SYEV | double | OpenBLAS | 1.32 | 1.62 | 1.72 | 1.47 | – |
| GESDD | float | Arm Performance Libraries | 1.94 | 0.93 | 1.32 | 1.68 | – |
| GESDD | float | NVPL | 2.09 | 1.08 | 1.19 | 1.12 | – |
| GESDD | float | OpenBLAS | 1.51 | 0.86 | 1.06 | 1.04 | – |
| GESDD | double | Arm Performance Libraries | 1.56 | 0.82 | 1.26 | 1.80 | – |
| GESDD | double | NVPL | 1.64 | 0.93 | 1.04 | 1.04 | – |
| GESDD | double | OpenBLAS | 1.30 | 0.79 | 0.94 | 0.95 | – |
| GEEV | float | Arm Performance Libraries | 2.81 | 1.17 | 0.43 | – | – |
| GEEV | float | NVPL | 3.97 | 1.78 | 0.52 | – | – |
| GEEV | float | OpenBLAS | 2.41 | 1.39 | 0.43 | – | – |
| GEEV | double | Arm Performance Libraries | 2.42 | 1.01 | 0.39 | – | – |
| GEEV | double | NVPL | 3.62 | 1.40 | 0.44 | – | – |
| GEEV | double | OpenBLAS | 2.42 | 1.18 | 0.40 | – | – |
Caveats
- The libraries are not held to NEON: each selects its kernels at run time for the CPU it finds, so the library rows here and on the SVE page are the same measurements, and only Eigen’s build differs between the two pages.
- OpenBLAS 0.3.34 has no Cortex-X925 target; it runs the Neoverse V2 kernels its own CPU detection
selects for this core. It was built from the release tarball with gfortran 13.3 unpacked from
Ubuntu’s packages, and since the machines have no
libgfortran.so.5, the copy from Ubuntu’slibgfortran5package was onLD_LIBRARY_PATHfor every run. - NVPL’s fixed cost per call, 15 ns for AXPY and DOT at n = 2 against 3 and 0.6 ns for Eigen, sets its ratios at the smallest sizes; those cells say nothing about its kernels.
- The operations were measured on three DGX Spark machines, every arm of an operation on one
of them. No cell was measured on more than one machine, so the machine-to-machine variation is not
measured; all three report the same CPU, clock, kernel and
performancegovernor. - Every number is from one Cortex-X925 core in the cluster with the 16 MiB L3. The Cortex-A725 cores and the cluster with the 8 MiB L3 were not measured, and an unpinned single-threaded program may run on either kind of core.
- Eigen was compiled for the Armv8-A baseline that GCC targets by default; GCC 13 does not accept
-mcpu=cortex-x925, and a CPU-specific target would change the compiler’s scheduling rather than Eigen’s kernels. - One thread throughout; nothing here describes multithreaded behavior on this big.LITTLE part.
Full tables
GFLOP/s per shape and library, with the Eigen ÷ library ratio: Eigen’s median over its three passes against the library’s rate from the same binary.
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.4 | 0.7 | 2.00 | 0.3 | 5.47 | 1.4 | 1.00 |
| 3 | 2.1 | 1.1 | 2.00 | 0.4 | 5.46 | 2.0 | 1.10 |
| 4 | 2.9 | 1.4 | 2.00 | 0.5 | 5.32 | 2.4 | 1.18 |
| 6 | 4.3 | 2.0 | 2.09 | 0.8 | 5.67 | 3.1 | 1.37 |
| 8 | 5.7 | 3.0 | 1.91 | 1.1 | 5.39 | 5.6 | 1.02 |
| 12 | 8.6 | 4.3 | 2.00 | 1.6 | 5.46 | 6.3 | 1.36 |
| 16 | 11.4 | 5.2 | 2.18 | 2.0 | 5.74 | 10.5 | 1.09 |
| 24 | 17.1 | 7.5 | 2.27 | 3.0 | 5.71 | 14.3 | 1.19 |
| 32 | 22.7 | 9.6 | 2.35 | 3.9 | 5.87 | 17.2 | 1.32 |
| 48 | 26.9 | 13.3 | 2.03 | 5.5 | 4.94 | 20.7 | 1.30 |
| 64 | 27.9 | 15.2 | 1.83 | 6.9 | 4.05 | 22.6 | 1.23 |
| 96 | 28.7 | 18.7 | 1.54 | 9.3 | 3.11 | 26.0 | 0.93 |
| 100 | 28.8 | 19.0 | 1.51 | 9.0 | 2.69 | 24.4 | 1.19 |
| 128 | 29.1 | 21.6 | 1.35 | 11.3 | 2.58 | 27.6 | 1.06 |
| 192 | 29.7 | 25.4 | 1.17 | 14.4 | 2.06 | 30.1 | 0.98 |
| 256 | 25.9 | 28.1 | 0.90 | 16.6 | 1.56 | 31.4 | 0.96 |
| 384 | 30.7 | 31.5 | 0.97 | 19.7 | 1.56 | 32.8 | 0.94 |
| 512 | 30.6 | 33.4 | 0.92 | 21.8 | 1.25 | 33.6 | 0.91 |
| 768 | 28.7 | 35.7 | 0.80 | 22.3 | 1.29 | 34.1 | 0.83 |
| 1000 | 29.4 | 36.4 | 0.81 | 24.3 | 1.21 | 34.5 | 0.85 |
| 1001 | 29.4 | 36.8 | 0.80 | 24.2 | 1.21 | 34.2 | 0.86 |
| 1024 | 29.4 | 36.5 | 0.80 | 24.3 | 1.21 | 34.0 | 0.87 |
| 1536 | 30.1 | 38.1 | 0.79 | 26.4 | 1.14 | 33.5 | 0.90 |
| 2048 | 30.3 | 39.1 | 0.78 | 27.3 | 1.11 | 32.9 | 0.93 |
| 3072 | 30.7 | 38.6 | 0.80 | 28.6 | 1.07 | 33.5 | 0.92 |
| 4096 | 30.8 | 39.1 | 0.79 | 29.1 | 1.06 | 33.6 | 0.92 |
| 6144 | 31.0 | 39.6 | 0.78 | 29.9 | 1.04 | 35.0 | 0.89 |
| 8192 | 31.1 | 39.7 | 0.78 | 30.2 | 1.03 | 34.7 | 0.90 |
| 10000 | 31.2 | 37.8 | 0.82 | 30.3 | 1.03 | 33.2 | 0.94 |
| 12288 | 31.1 | 35.9 | 0.87 | 30.4 | 1.02 | 32.2 | 0.97 |
| 16384 | 29.5 | 31.2 | 0.95 | 29.2 | 1.01 | 27.9 | 1.06 |
| 32768 | 29.7 | 30.3 | 0.98 | 29.4 | 1.01 | 28.3 | 1.05 |
| 65536 | 29.5 | 30.2 | 0.98 | 29.4 | 1.01 | 28.3 | 1.05 |
| 100000 | 30.1 | 30.6 | 0.98 | 30.0 | 1.00 | 28.9 | 1.04 |
| 131072 | 29.3 | 30.0 | 0.99 | 29.4 | 1.00 | 28.2 | 1.03 |
| 262144 | 28.2 | 29.3 | 0.96 | 29.0 | 0.98 | 27.9 | 1.01 |
| 524288 | 26.0 | 26.3 | 0.99 | 26.5 | 0.98 | 26.3 | 0.99 |
| 1000000 | 25.2 | 24.4 | 1.04 | 24.3 | 1.00 | 24.7 | 1.02 |
| 1048576 | 21.1 | 21.7 | 0.99 | 20.5 | 1.01 | 20.5 | 1.02 |
| 2097152 | 21.4 | 21.3 | 1.01 | 20.9 | 1.04 | 20.7 | 1.00 |
| 4194304 | 15.3 | 15.3 | 1.00 | 13.9 | 1.00 | 15.3 | 1.00 |
| 8388608 | 10.7 | 10.7 | 1.00 | 10.1 | 1.00 | 10.7 | 0.99 |
| 16777216 | 9.2 | 9.2 | 1.00 | 8.9 | 1.03 | 9.3 | 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.4 | 0.7 | 2.00 | 0.3 | 5.31 | 1.3 | 1.09 |
| 3 | 2.1 | 1.0 | 2.09 | 0.4 | 5.24 | 1.9 | 1.10 |
| 4 | 2.8 | 1.4 | 2.00 | 0.5 | 5.26 | 2.4 | 1.18 |
| 6 | 4.3 | 2.0 | 2.19 | 0.8 | 5.42 | 3.2 | 1.37 |
| 8 | 5.7 | 2.5 | 2.26 | 1.0 | 5.44 | 3.1 | 1.86 |
| 12 | 8.5 | 3.7 | 2.27 | 1.5 | 5.63 | 3.7 | 2.30 |
| 16 | 11.3 | 4.8 | 2.34 | 1.9 | 6.10 | 5.0 | 2.26 |
| 24 | 13.4 | 6.4 | 2.09 | 2.8 | 4.73 | 5.5 | 2.23 |
| 32 | 14.0 | 7.7 | 1.53 | 3.6 | 3.89 | 14.7 | 1.01 |
| 48 | 14.4 | 9.4 | 1.53 | 4.8 | 3.03 | 12.1 | 1.20 |
| 64 | 14.6 | 10.9 | 1.30 | 5.8 | 2.52 | 17.9 | 0.82 |
| 96 | 15.0 | 12.9 | 1.16 | 7.3 | 2.05 | 20.5 | 0.73 |
| 100 | 15.0 | 12.8 | 1.17 | 6.7 | 1.90 | 19.9 | 0.76 |
| 128 | 15.0 | 14.0 | 1.07 | 8.4 | 1.80 | 21.4 | 0.59 |
| 192 | 15.4 | 15.5 | 0.84 | 9.9 | 1.55 | 22.6 | 0.68 |
| 256 | 15.3 | 16.8 | 0.91 | 10.9 | 1.40 | 23.4 | 0.66 |
| 384 | 14.3 | 17.9 | 0.80 | 11.3 | 1.27 | 23.9 | 0.61 |
| 512 | 14.7 | 18.4 | 0.80 | 12.2 | 1.21 | 24.2 | 0.61 |
| 768 | 15.1 | 17.6 | 0.85 | 13.2 | 1.14 | 24.4 | 0.62 |
| 1000 | 15.2 | 18.8 | 0.81 | 13.7 | 1.11 | 24.3 | 0.62 |
| 1001 | 15.2 | 18.7 | 0.81 | 13.7 | 1.11 | 24.3 | 0.63 |
| 1024 | 15.2 | 19.6 | 0.77 | 13.7 | 1.11 | 24.7 | 0.61 |
| 1536 | 15.4 | 18.5 | 0.83 | 14.4 | 1.07 | 24.8 | 0.62 |
| 2048 | 15.4 | 18.8 | 0.82 | 14.6 | 1.05 | 24.8 | 0.62 |
| 3072 | 15.5 | 19.1 | 0.81 | 15.0 | 1.03 | 20.8 | 0.75 |
| 4096 | 15.5 | 19.2 | 0.81 | 15.2 | 1.02 | 20.4 | 0.77 |
| 6144 | 15.6 | 17.9 | 0.87 | 15.3 | 1.02 | 17.5 | 0.89 |
| 8192 | 14.8 | 15.6 | 0.95 | 14.7 | 1.01 | 13.9 | 1.07 |
| 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.00 | 13.0 | 1.14 |
| 16384 | 14.8 | 15.1 | 0.98 | 14.8 | 1.00 | 13.0 | 1.15 |
| 32768 | 14.8 | 15.1 | 0.98 | 14.7 | 1.00 | 12.9 | 1.15 |
| 65536 | 14.8 | 15.0 | 0.98 | 14.8 | 0.99 | 13.5 | 1.09 |
| 100000 | 14.7 | 15.1 | 0.97 | 14.8 | 1.00 | 13.9 | 1.05 |
| 131072 | 14.2 | 14.6 | 0.96 | 14.5 | 0.98 | 13.7 | 1.03 |
| 262144 | 13.1 | 13.2 | 0.99 | 13.3 | 0.98 | 12.5 | 1.05 |
| 524288 | 10.4 | 10.9 | 0.99 | 10.3 | 1.01 | 10.6 | 0.98 |
| 1000000 | 11.5 | 11.5 | 1.01 | 11.4 | 1.00 | 11.4 | 0.98 |
| 1048576 | 10.7 | 10.7 | 1.00 | 10.8 | 1.00 | 10.7 | 0.95 |
| 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.6 | 4.6 | 1.00 | 4.6 | 1.00 | 4.6 | 0.98 |
| 16777216 | 4.4 | 4.4 | 1.00 | 4.4 | 1.00 | 4.5 | 0.98 |
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 | 7.4 | 1.0 | 7.50 | 0.3 | 27.71 | 1.3 | 5.69 |
| 3 | 8.8 | 1.4 | 6.37 | 0.4 | 22.29 | 2.0 | 4.34 |
| 4 | 15.7 | 2.1 | 7.48 | 0.5 | 29.97 | 2.6 | 6.00 |
| 6 | 11.8 | 2.8 | 4.25 | 0.8 | 15.08 | 3.9 | 3.01 |
| 8 | 21.0 | 4.2 | 5.01 | 1.1 | 19.81 | 4.8 | 4.35 |
| 12 | 31.4 | 5.5 | 5.66 | 1.6 | 20.15 | 7.3 | 4.34 |
| 16 | 27.8 | 7.8 | 3.56 | 2.0 | 13.68 | 8.4 | 3.32 |
| 24 | 36.3 | 9.9 | 3.66 | 3.0 | 12.15 | 11.8 | 3.07 |
| 32 | 41.5 | 12.5 | 3.32 | 3.7 | 11.06 | 14.8 | 2.81 |
| 48 | 44.0 | 17.1 | 2.56 | 5.3 | 8.29 | 19.8 | 2.22 |
| 64 | 45.0 | 20.9 | 2.15 | 6.2 | 7.22 | 23.9 | 1.88 |
| 96 | 46.3 | 25.9 | 1.77 | 7.9 | 5.97 | 27.9 | 1.66 |
| 100 | 45.8 | 26.0 | 1.76 | 8.2 | 5.68 | 29.3 | 1.56 |
| 128 | 45.8 | 29.2 | 1.59 | 9.1 | 4.92 | 29.7 | 1.54 |
| 192 | 49.1 | 33.3 | 1.49 | 10.5 | 4.48 | 36.2 | 1.36 |
| 256 | 51.8 | 38.0 | 1.36 | 11.5 | 4.49 | 39.6 | 1.34 |
| 384 | 55.7 | 39.1 | 1.43 | 12.5 | 4.17 | 39.2 | 1.43 |
| 512 | 56.9 | 39.3 | 1.45 | 13.2 | 4.21 | 38.5 | 1.49 |
| 768 | 59.2 | 40.1 | 1.48 | 14.0 | 4.15 | 39.3 | 1.51 |
| 1000 | 59.7 | 39.1 | 1.53 | 14.3 | 4.13 | 39.1 | 1.53 |
| 1001 | 59.5 | 38.9 | 1.53 | 14.3 | 3.95 | 38.7 | 1.54 |
| 1024 | 59.9 | 39.3 | 1.52 | 14.3 | 4.08 | 39.1 | 1.54 |
| 1536 | 60.9 | 36.3 | 1.68 | 14.7 | 3.66 | 35.8 | 1.70 |
| 2048 | 61.3 | 35.0 | 1.75 | 14.9 | 3.56 | 34.5 | 1.78 |
| 3072 | 61.5 | 33.5 | 1.83 | 15.2 | 3.44 | 33.4 | 1.86 |
| 4096 | 62.0 | 33.0 | 1.88 | 15.3 | 3.39 | 32.9 | 1.89 |
| 6144 | 61.7 | 32.1 | 1.92 | 15.4 | 3.59 | 32.4 | 1.91 |
| 8192 | 53.3 | 32.0 | 1.75 | 15.5 | 3.43 | 32.0 | 1.66 |
| 10000 | 45.2 | 31.6 | 1.45 | 15.5 | 2.90 | 31.8 | 1.42 |
| 12288 | 42.1 | 31.6 | 1.33 | 15.5 | 2.70 | 31.6 | 1.34 |
| 16384 | 39.0 | 31.5 | 1.25 | 15.5 | 2.50 | 31.6 | 1.23 |
| 32768 | 34.1 | 31.2 | 1.09 | 15.6 | 2.19 | 31.4 | 1.09 |
| 65536 | 34.1 | 31.2 | 1.09 | 15.7 | 2.18 | 31.5 | 1.09 |
| 100000 | 34.1 | 31.4 | 1.09 | 15.7 | 2.17 | 31.3 | 1.09 |
| 131072 | 34.1 | 31.1 | 1.09 | 15.6 | 2.19 | 31.4 | 1.09 |
| 262144 | 31.9 | 30.7 | 1.04 | 15.7 | 2.03 | 30.7 | 1.03 |
| 524288 | 24.9 | 26.1 | 0.96 | 15.7 | 1.59 | 25.9 | 0.97 |
| 1000000 | 22.2 | 23.0 | 0.97 | 15.7 | 1.42 | 23.2 | 1.10 |
| 1048576 | 21.7 | 22.3 | 0.97 | 15.6 | 1.38 | 22.1 | 1.09 |
| 2097152 | 21.7 | 22.1 | 0.97 | 15.5 | 1.40 | 22.2 | 0.99 |
| 4194304 | 14.7 | 15.1 | 0.97 | 13.8 | 1.07 | 15.2 | 0.94 |
| 8388608 | 11.6 | 11.7 | 1.00 | 11.5 | 1.01 | 11.7 | 0.96 |
| 16777216 | 10.2 | 10.2 | 1.00 | 10.1 | 1.01 | 10.2 | 0.95 |
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.42 | 0.3 | 22.97 | 1.3 | 5.58 |
| 3 | 7.8 | 1.4 | 5.66 | 0.4 | 19.66 | 2.1 | 4.12 |
| 4 | 12.1 | 1.8 | 6.56 | 0.5 | 22.68 | 2.4 | 4.85 |
| 6 | 14.9 | 2.4 | 6.38 | 0.8 | 18.74 | 3.9 | 3.80 |
| 8 | 15.6 | 3.5 | 4.51 | 1.0 | 15.27 | 4.5 | 2.79 |
| 12 | 17.7 | 5.2 | 3.40 | 1.5 | 11.96 | 6.3 | 2.81 |
| 16 | 19.2 | 6.6 | 2.90 | 2.0 | 9.55 | 7.9 | 2.44 |
| 24 | 21.0 | 8.2 | 2.56 | 2.6 | 8.18 | 10.5 | 2.01 |
| 32 | 22.1 | 10.0 | 2.24 | 3.3 | 6.68 | 12.5 | 1.77 |
| 48 | 23.6 | 12.3 | 1.89 | 4.1 | 5.71 | 14.1 | 1.68 |
| 64 | 23.4 | 14.3 | 1.64 | 4.7 | 4.69 | 15.2 | 1.54 |
| 96 | 24.2 | 16.7 | 1.46 | 5.4 | 4.42 | 18.1 | 1.34 |
| 100 | 25.4 | 17.8 | 1.43 | 5.5 | 4.66 | 18.3 | 1.40 |
| 128 | 25.7 | 18.2 | 1.42 | 5.9 | 4.40 | 20.1 | 1.32 |
| 192 | 27.8 | 20.0 | 1.38 | 6.4 | 4.36 | 20.1 | 1.39 |
| 256 | 28.8 | 20.4 | 1.40 | 6.7 | 4.30 | 19.4 | 1.48 |
| 384 | 29.5 | 21.7 | 1.36 | 7.0 | 4.21 | 19.8 | 1.49 |
| 512 | 30.1 | 22.6 | 1.33 | 7.2 | 4.14 | 19.6 | 1.54 |
| 768 | 30.4 | 23.4 | 1.30 | 7.4 | 4.10 | 18.0 | 1.68 |
| 1000 | 27.9 | 23.6 | 1.18 | 7.5 | 4.09 | 17.3 | 1.59 |
| 1001 | 28.4 | 23.1 | 1.19 | 7.5 | 4.10 | 17.4 | 1.64 |
| 1024 | 30.6 | 23.6 | 1.30 | 7.5 | 4.08 | 17.2 | 1.79 |
| 1536 | 30.8 | 24.0 | 1.29 | 7.6 | 4.06 | 16.7 | 1.82 |
| 2048 | 31.0 | 23.9 | 1.29 | 7.6 | 4.00 | 16.4 | 1.90 |
| 3072 | 30.8 | 23.3 | 1.33 | 7.7 | 3.81 | 16.1 | 1.91 |
| 4096 | 28.5 | 22.4 | 1.24 | 7.7 | 3.69 | 16.0 | 1.78 |
| 6144 | 21.0 | 20.9 | 1.00 | 7.8 | 2.73 | 15.8 | 1.33 |
| 8192 | 19.8 | 18.4 | 1.07 | 7.8 | 2.54 | 15.9 | 1.25 |
| 10000 | 19.8 | 20.3 | 0.97 | 7.8 | 2.57 | 15.8 | 1.25 |
| 12288 | 17.7 | 17.4 | 1.02 | 7.8 | 2.27 | 15.8 | 1.13 |
| 16384 | 17.1 | 17.4 | 0.98 | 7.8 | 2.18 | 15.6 | 1.09 |
| 32768 | 17.0 | 17.4 | 0.98 | 7.8 | 2.18 | 15.7 | 1.09 |
| 65536 | 17.0 | 17.2 | 0.98 | 7.8 | 2.17 | 15.6 | 1.09 |
| 100000 | 16.6 | 16.6 | 1.00 | 7.8 | 2.10 | 15.5 | 1.07 |
| 131072 | 16.0 | 15.5 | 1.04 | 7.8 | 2.05 | 15.3 | 1.04 |
| 262144 | 12.6 | 12.0 | 1.04 | 7.8 | 1.61 | 13.0 | 0.97 |
| 524288 | 10.7 | 10.6 | 0.98 | 7.8 | 1.40 | 11.0 | 0.97 |
| 1000000 | 11.1 | 11.3 | 0.98 | 7.8 | 1.42 | 11.7 | 0.95 |
| 1048576 | 10.8 | 11.1 | 0.97 | 7.7 | 1.40 | 11.1 | 0.97 |
| 2097152 | 7.4 | 7.5 | 0.98 | 6.9 | 1.08 | 7.6 | 0.97 |
| 4194304 | 5.8 | 5.9 | 0.99 | 5.8 | 1.00 | 5.8 | 0.99 |
| 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 | 2.1 | 0.4 | 5.54 | 0.2 | 8.92 | 0.7 | 2.82 |
| 3x3 | 3.9 | 0.8 | 4.70 | 0.5 | 7.95 | 1.7 | 2.32 |
| 4x4 | 7.8 | 1.5 | 5.34 | 0.8 | 9.41 | 3.0 | 2.60 |
| 6x6 | 11.6 | 3.1 | 3.84 | 1.6 | 7.25 | 5.9 | 1.96 |
| 8x8 | 22.3 | 5.2 | 4.29 | 3.6 | 6.17 | 9.5 | 2.33 |
| 12x12 | 33.4 | 9.4 | 3.58 | 6.2 | 5.38 | 17.9 | 1.86 |
| 16x16 | 49.7 | 14.2 | 3.49 | 11.8 | 4.13 | 22.9 | 2.19 |
| 24x24 | 55.9 | 26.9 | 2.08 | 21.5 | 2.58 | 35.6 | 1.57 |
| 32x32 | 83.8 | 37.7 | 2.27 | 30.7 | 2.70 | 41.5 | 2.02 |
| 48x48 | 80.4 | 54.3 | 1.51 | 44.3 | 1.82 | 56.6 | 1.41 |
| 64x64 | 94.9 | 63.1 | 1.54 | 53.7 | 1.77 | 60.2 | 1.57 |
| 96x96 | 97.3 | 70.0 | 1.39 | 59.7 | 1.60 | 66.0 | 1.47 |
| 100x100 | 80.8 | 70.6 | 1.20 | 53.3 | 1.50 | 65.5 | 1.23 |
| 128x128 | 87.6 | 71.2 | 1.23 | 60.4 | 1.44 | 62.5 | 1.41 |
| 192x192 | 68.9 | 64.8 | 1.06 | 61.0 | 1.13 | 55.0 | 1.28 |
| 200x200 | 66.0 | 68.0 | 0.97 | 59.3 | 1.11 | 61.0 | 1.09 |
| 256x256 | 65.4 | 62.2 | 1.05 | 59.9 | 1.09 | 61.8 | 1.08 |
| 257x257 | 51.5 | 50.2 | 1.02 | 49.6 | 1.04 | 53.5 | 0.96 |
| 384x384 | 61.5 | 59.2 | 1.04 | 58.4 | 1.04 | 56.4 | 1.10 |
| 500x500 | 58.8 | 63.5 | 0.96 | 58.4 | 1.01 | 60.4 | 0.97 |
| 512x512 | 60.5 | 59.2 | 1.01 | 59.3 | 1.02 | 60.6 | 1.00 |
| 768x768 | 52.0 | 50.4 | 1.03 | 48.3 | 1.06 | 53.0 | 0.98 |
| 1000x1000 | 44.7 | 46.0 | 0.97 | 42.6 | 1.06 | 53.0 | 0.84 |
| 1001x1001 | 43.2 | 44.4 | 0.97 | 41.1 | 1.06 | 49.9 | 0.86 |
| 1024x1024 | 38.9 | 40.7 | 0.95 | 41.4 | 0.94 | 52.5 | 0.74 |
| 1536x1536 | 39.8 | 40.2 | 1.00 | 39.2 | 1.02 | 42.8 | 0.93 |
| 2048x2048 | 28.6 | 30.5 | 0.94 | 35.5 | 0.79 | 37.3 | 0.77 |
| 3072x3072 | 23.7 | 24.6 | 0.96 | 25.5 | 0.94 | 26.2 | 0.91 |
| 4096x4096 | 18.8 | 19.1 | 0.98 | 20.6 | 0.91 | 21.5 | 0.87 |
| 4097x4097 | 17.7 | 18.6 | 0.95 | 19.9 | 0.89 | 22.3 | 0.78 |
| 6144x6144 | 17.4 | 18.2 | 0.95 | 18.4 | 0.95 | 18.4 | 0.94 |
| 8192x8192 | 16.5 | 17.0 | 0.97 | 17.6 | 0.93 | 17.7 | 0.93 |
| 12288x12288 | 16.5 | 16.8 | 0.98 | 17.6 | 0.94 | 16.9 | 0.97 |
| 16384x16384 | 17.1 | 15.9 | 1.08 | 16.9 | 1.01 | 17.1 | 1.00 |
| 8x10000 | 41.9 | 21.3 | 1.96 | 21.4 | 1.94 | 12.4 | 3.58 |
| 100x10000 | 45.3 | 41.5 | 1.05 | 47.6 | 0.96 | 45.4 | 1.00 |
| 1000x10000 | 20.3 | 21.8 | 0.93 | 23.9 | 0.85 | 27.0 | 0.74 |
| 4000x10000 | 18.2 | 18.6 | 0.97 | 18.4 | 1.00 | 18.8 | 0.97 |
| 10000x8 | 59.3 | 61.9 | 0.96 | 59.2 | 1.00 | 43.4 | 1.40 |
| 10000x100 | 41.8 | 44.1 | 0.92 | 42.6 | 0.98 | 44.4 | 0.94 |
| 10000x1000 | 25.1 | 25.9 | 0.97 | 25.4 | 0.99 | 24.4 | 1.02 |
| 10000x4000 | 18.7 | 19.1 | 0.97 | 18.4 | 1.03 | 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.1 | 0.4 | 5.54 | 0.2 | 8.83 | 0.7 | 2.79 |
| 3x3 | 3.7 | 0.8 | 4.58 | 0.5 | 7.55 | 1.7 | 2.15 |
| 4x4 | 7.8 | 1.4 | 5.60 | 0.8 | 9.52 | 2.9 | 2.74 |
| 6x6 | 13.2 | 3.1 | 4.31 | 1.6 | 8.28 | 6.0 | 2.20 |
| 8x8 | 17.0 | 3.9 | 4.39 | 3.5 | 4.89 | 7.9 | 2.15 |
| 12x12 | 22.7 | 8.4 | 2.71 | 5.7 | 3.95 | 14.6 | 1.55 |
| 16x16 | 34.2 | 12.5 | 2.76 | 10.5 | 3.25 | 18.1 | 1.89 |
| 24x24 | 38.3 | 20.4 | 1.89 | 17.1 | 2.24 | 25.3 | 1.51 |
| 32x32 | 44.2 | 25.9 | 1.67 | 22.3 | 1.98 | 27.8 | 1.60 |
| 48x48 | 45.9 | 32.6 | 1.37 | 27.4 | 1.67 | 31.9 | 1.46 |
| 64x64 | 47.2 | 36.1 | 1.29 | 31.1 | 1.52 | 32.1 | 1.49 |
| 96x96 | 43.9 | 35.3 | 1.24 | 30.9 | 1.39 | 33.4 | 1.32 |
| 100x100 | 38.5 | 36.6 | 1.06 | 29.3 | 1.32 | 31.8 | 1.20 |
| 128x128 | 35.4 | 32.9 | 1.08 | 30.2 | 1.17 | 29.6 | 1.21 |
| 192x192 | 31.3 | 29.9 | 1.04 | 28.5 | 1.10 | 28.3 | 1.09 |
| 200x200 | 31.2 | 31.7 | 0.95 | 29.1 | 1.07 | 30.4 | 1.05 |
| 256x256 | 31.2 | 30.1 | 1.02 | 29.8 | 1.05 | 28.2 | 1.11 |
| 257x257 | 26.7 | 27.6 | 0.97 | 26.6 | 1.00 | 26.1 | 1.02 |
| 384x384 | 29.7 | 28.7 | 1.04 | 28.2 | 1.06 | 27.1 | 1.06 |
| 500x500 | 26.7 | 27.6 | 0.97 | 25.0 | 1.05 | 27.1 | 1.01 |
| 512x512 | 23.1 | 24.1 | 0.96 | 25.6 | 0.87 | 26.1 | 0.89 |
| 768x768 | 21.8 | 21.6 | 1.01 | 22.1 | 0.99 | 22.9 | 0.94 |
| 1000x1000 | 20.3 | 21.0 | 0.96 | 20.9 | 0.97 | 21.6 | 0.95 |
| 1001x1001 | 19.9 | 20.5 | 0.97 | 20.8 | 0.96 | 22.7 | 0.88 |
| 1024x1024 | 16.3 | 17.9 | 0.91 | 18.3 | 0.87 | 21.7 | 0.75 |
| 1536x1536 | 15.4 | 16.0 | 0.95 | 18.8 | 0.82 | 16.7 | 0.92 |
| 2048x2048 | 11.2 | 11.5 | 0.97 | 12.9 | 0.87 | 11.1 | 1.01 |
| 3072x3072 | 9.5 | 10.1 | 0.95 | 10.3 | 0.93 | 9.0 | 1.05 |
| 4096x4096 | 8.6 | 8.9 | 0.97 | 9.1 | 0.94 | 9.4 | 0.91 |
| 4097x4097 | 7.9 | 8.6 | 0.93 | 9.3 | 0.83 | 9.6 | 0.82 |
| 6144x6144 | 8.2 | 8.5 | 0.98 | 8.8 | 0.93 | 8.7 | 0.94 |
| 8192x8192 | 8.5 | 8.0 | 1.07 | 8.6 | 0.99 | 8.6 | 0.99 |
| 12288x12288 | 8.6 | 8.4 | 1.03 | 8.9 | 0.96 | 8.0 | 1.08 |
| 16384x16384 | 8.5 | 7.1 | 1.20 | 8.3 | 1.03 | 8.5 | 1.01 |
| 8x10000 | 27.0 | 19.8 | 1.36 | 15.9 | 1.69 | 12.2 | 2.27 |
| 100x10000 | 17.2 | 18.2 | 0.94 | 19.7 | 0.98 | 21.8 | 0.78 |
| 1000x10000 | 9.6 | 9.7 | 0.99 | 9.7 | 0.98 | 9.1 | 1.06 |
| 4000x10000 | 8.8 | 9.0 | 0.98 | 9.0 | 0.98 | 8.2 | 1.07 |
| 10000x8 | 29.8 | 30.2 | 0.98 | 29.8 | 1.00 | 20.6 | 1.45 |
| 10000x100 | 18.4 | 20.7 | 0.92 | 20.7 | 0.88 | 19.1 | 0.96 |
| 10000x1000 | 10.2 | 10.7 | 0.96 | 10.6 | 0.95 | 10.2 | 0.99 |
| 10000x4000 | 8.6 | 9.0 | 0.95 | 8.9 | 0.96 | 8.8 | 0.97 |
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.6 | 0.9 | 1.81 | 0.2 | 9.28 | 0.5 | 3.11 |
| 3x3x3 | 2.8 | 1.6 | 1.71 | 0.5 | 5.29 | 1.5 | 1.85 |
| 4x4x4 | 12.4 | 2.9 | 4.22 | 1.2 | 10.11 | 3.9 | 3.13 |
| 6x6x6 | 8.6 | 5.1 | 1.70 | 3.4 | 2.50 | 9.2 | 0.94 |
| 8x8x8 | 24.0 | 6.2 | 3.84 | 8.2 | 2.91 | 21.0 | 1.14 |
| 12x12x12 | 46.3 | 14.8 | 3.13 | 16.7 | 2.78 | 45.3 | 1.02 |
| 16x16x16 | 64.6 | 27.9 | 2.32 | 24.3 | 2.65 | 72.9 | 0.88 |
| 24x24x24 | 97.1 | 64.2 | 1.51 | 57.6 | 1.69 | 79.3 | 1.23 |
| 32x32x32 | 112.8 | 23.0 | 4.90 | 62.0 | 1.82 | 111.7 | 1.01 |
| 48x48x48 | 130.2 | 115.3 | 1.13 | 97.7 | 1.33 | 123.9 | 1.05 |
| 64x64x64 | 132.9 | 120.8 | 1.10 | 96.7 | 1.37 | 128.1 | 1.04 |
| 96x96x96 | 144.9 | 147.2 | 0.98 | 128.8 | 1.12 | 74.4 | 1.95 |
| 100x100x100 | 140.9 | 134.7 | 1.05 | 116.0 | 1.22 | 127.3 | 1.12 |
| 128x128x128 | 148.9 | 149.8 | 0.99 | 134.3 | 1.11 | 132.0 | 1.13 |
| 160x160x160 | 151.5 | 153.9 | 0.98 | 136.3 | 1.11 | 134.7 | 1.13 |
| 192x192x192 | 155.3 | 163.9 | 0.95 | 152.9 | 1.01 | 134.3 | 1.16 |
| 200x200x200 | 155.5 | 162.6 | 0.96 | 151.8 | 1.02 | 133.4 | 1.17 |
| 224x224x224 | 156.8 | 164.4 | 0.95 | 153.7 | 1.02 | 135.8 | 1.16 |
| 256x256x256 | 156.4 | 163.8 | 0.95 | 153.7 | 1.02 | 110.4 | 1.42 |
| 257x257x257 | 151.3 | 158.1 | 0.95 | 152.3 | 0.99 | 130.6 | 1.16 |
| 288x288x288 | 158.3 | 170.2 | 0.93 | 162.6 | 0.97 | 137.5 | 1.16 |
| 320x320x320 | 158.6 | 168.7 | 0.94 | 161.4 | 0.98 | 136.8 | 1.17 |
| 384x384x384 | 131.1 | 171.5 | 0.76 | 166.3 | 0.95 | 136.5 | 0.96 |
| 448x448x448 | 157.3 | 168.7 | 0.92 | 166.1 | 0.95 | 137.2 | 1.16 |
| 500x500x500 | 157.8 | 167.6 | 0.94 | 168.6 | 0.94 | 135.6 | 1.18 |
| 512x512x512 | 157.1 | 168.2 | 0.93 | 167.8 | 0.93 | 136.5 | 1.15 |
| 768x768x768 | 157.5 | 172.6 | 0.91 | 169.7 | 0.92 | 137.7 | 1.15 |
| 1000x1000x1000 | 158.8 | 175.2 | 0.91 | 170.9 | 0.92 | 137.9 | 1.16 |
| 1001x1001x1001 | 156.1 | 171.6 | 0.91 | 170.4 | 0.91 | 136.3 | 1.15 |
| 1024x1024x1024 | 155.3 | 171.0 | 0.91 | 169.7 | 0.92 | 137.4 | 1.13 |
| 1536x1536x1536 | 155.2 | 171.4 | 0.91 | 172.7 | 0.90 | 137.4 | 1.13 |
| 2048x2048x2048 | 154.5 | 164.2 | 0.95 | 170.7 | 0.91 | 135.9 | 1.14 |
| 3072x3072x3072 | 153.9 | 166.2 | 0.92 | 174.0 | 0.88 | 135.2 | 1.15 |
| 4096x4096x4096 | 152.9 | 165.5 | 0.92 | 170.4 | 0.90 | 132.6 | 1.17 |
| 4097x4097x4097 | 148.7 | 172.4 | 0.86 | 171.1 | 0.87 | 133.4 | 1.15 |
| 64x64x1024 | 138.2 | 127.4 | 1.08 | 123.4 | 1.12 | 125.9 | 1.11 |
| 64x1024x64 | 141.1 | 142.6 | 0.99 | 116.2 | 1.21 | 132.7 | 1.07 |
| 256x256x1024 | 154.1 | 158.4 | 0.97 | 158.7 | 0.97 | 134.8 | 1.15 |
| 1024x64x64 | 137.0 | 37.9 | 3.62 | 104.6 | 1.30 | 133.0 | 1.03 |
| 1024x256x256 | 155.7 | 158.9 | 0.98 | 155.1 | 1.00 | 137.3 | 1.13 |
| 4096x96x96 | 141.6 | 140.1 | 1.01 | 131.9 | 1.07 | 133.4 | 1.07 |
| 4096x128x128 | 146.6 | 142.8 | 1.03 | 135.3 | 1.08 | 135.9 | 1.09 |
| 4096x144x144 | 147.8 | 150.5 | 0.98 | 142.7 | 1.04 | 134.9 | 1.10 |
| 4096x160x160 | 149.4 | 146.3 | 1.02 | 140.9 | 1.06 | 135.9 | 1.10 |
| 4096x176x176 | 151.0 | 151.9 | 0.99 | 146.9 | 1.03 | 136.4 | 1.11 |
| 8192x128x128 | 146.1 | 142.5 | 1.03 | 135.0 | 1.08 | 135.3 | 1.09 |
| 10000x8x8 | 72.4 | 41.8 | 1.73 | 23.0 | 3.15 | 93.2 | 0.78 |
| 10000x100x100 | 146.9 | 147.7 | 0.99 | 129.8 | 1.13 | 135.6 | 1.09 |
| 10000x1000x1000 | 154.5 | 164.5 | 0.94 | 171.1 | 0.90 | 137.6 | 1.13 |
| 10000x4000x4000 | 156.5 | 170.2 | 0.90 | 174.9 | 0.90 | 136.1 | 1.16 |
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.4 | 0.7 | 4.96 | 0.2 | 20.33 | 0.5 | 6.44 |
| 3x3x3 | 3.8 | 2.4 | 1.56 | 0.5 | 7.09 | 1.6 | 2.41 |
| 4x4x4 | 7.2 | 2.9 | 2.48 | 1.2 | 5.92 | 3.7 | 1.86 |
| 6x6x6 | 9.5 | 5.0 | 1.91 | 3.8 | 2.48 | 8.5 | 1.12 |
| 8x8x8 | 15.8 | 6.2 | 2.54 | 5.6 | 2.85 | 17.6 | 0.89 |
| 12x12x12 | 29.8 | 11.3 | 2.63 | 11.1 | 2.70 | 33.1 | 0.90 |
| 16x16x16 | 39.2 | 21.5 | 1.82 | 18.9 | 2.07 | 14.8 | 2.65 |
| 24x24x24 | 51.8 | 41.8 | 1.24 | 33.6 | 1.54 | 54.7 | 0.95 |
| 32x32x32 | 56.3 | 47.4 | 1.19 | 36.6 | 1.53 | 13.5 | 4.21 |
| 48x48x48 | 62.6 | 66.1 | 0.95 | 52.4 | 1.20 | 45.4 | 1.38 |
| 64x64x64 | 65.0 | 70.1 | 0.93 | 56.1 | 1.16 | 35.1 | 1.86 |
| 96x96x96 | 70.0 | 76.9 | 0.91 | 66.6 | 1.05 | 47.2 | 1.48 |
| 100x100x100 | 70.2 | 73.3 | 0.95 | 64.2 | 1.09 | 66.2 | 1.06 |
| 128x128x128 | 71.1 | 77.8 | 0.91 | 69.7 | 1.02 | 46.8 | 1.53 |
| 160x160x160 | 73.8 | 81.9 | 0.90 | 74.6 | 0.99 | 68.0 | 1.09 |
| 192x192x192 | 74.1 | 83.9 | 0.88 | 78.0 | 0.95 | 68.0 | 1.09 |
| 200x200x200 | 74.4 | 83.2 | 0.89 | 77.3 | 0.96 | 68.3 | 1.09 |
| 224x224x224 | 74.4 | 83.1 | 0.90 | 77.7 | 0.96 | 68.4 | 1.09 |
| 256x256x256 | 74.3 | 84.3 | 0.88 | 73.5 | 1.01 | 56.0 | 1.33 |
| 257x257x257 | 73.0 | 82.4 | 0.88 | 71.7 | 1.02 | 67.1 | 1.09 |
| 288x288x288 | 74.5 | 84.9 | 0.88 | 75.9 | 0.98 | 68.7 | 1.09 |
| 320x320x320 | 73.8 | 84.2 | 0.87 | 75.7 | 0.98 | 68.9 | 1.08 |
| 384x384x384 | 73.2 | 84.7 | 0.86 | 79.0 | 0.92 | 68.6 | 1.07 |
| 448x448x448 | 75.4 | 84.0 | 0.90 | 79.5 | 0.93 | 68.8 | 1.11 |
| 500x500x500 | 75.4 | 84.1 | 0.90 | 77.5 | 0.97 | 68.8 | 1.10 |
| 512x512x512 | 73.1 | 83.5 | 0.88 | 77.0 | 0.95 | 69.2 | 1.06 |
| 768x768x768 | 73.2 | 84.5 | 0.87 | 79.3 | 0.92 | 68.6 | 1.07 |
| 1000x1000x1000 | 72.8 | 85.2 | 0.85 | 79.8 | 0.91 | 69.4 | 1.05 |
| 1001x1001x1001 | 71.8 | 84.4 | 0.85 | 79.4 | 0.90 | 68.7 | 1.05 |
| 1024x1024x1024 | 71.6 | 82.9 | 0.86 | 78.7 | 0.91 | 68.8 | 1.03 |
| 1536x1536x1536 | 72.9 | 83.1 | 0.88 | 80.4 | 0.91 | 68.2 | 1.07 |
| 2048x2048x2048 | 72.0 | 82.0 | 0.88 | 80.7 | 0.89 | 66.8 | 1.09 |
| 3072x3072x3072 | 72.1 | 83.0 | 0.87 | 81.4 | 0.88 | 66.4 | 1.11 |
| 4096x4096x4096 | 72.8 | 82.5 | 0.86 | 80.5 | 0.91 | 66.0 | 1.10 |
| 4097x4097x4097 | 72.1 | 82.4 | 0.85 | 80.2 | 0.90 | 65.8 | 1.10 |
| 64x64x1024 | 67.4 | 73.5 | 0.92 | 66.8 | 1.01 | 64.0 | 1.05 |
| 64x1024x64 | 69.0 | 75.1 | 0.92 | 59.8 | 1.15 | 67.4 | 1.03 |
| 256x256x1024 | 73.2 | 83.2 | 0.89 | 76.5 | 0.94 | 68.0 | 1.08 |
| 1024x64x64 | 65.7 | 73.9 | 0.89 | 60.2 | 1.09 | 67.0 | 0.98 |
| 1024x256x256 | 73.9 | 83.7 | 0.88 | 73.0 | 1.01 | 69.2 | 1.08 |
| 4096x96x96 | 67.9 | 74.8 | 0.90 | 66.7 | 1.02 | 66.4 | 1.02 |
| 4096x128x128 | 69.9 | 77.0 | 0.91 | 71.8 | 0.97 | 68.4 | 1.03 |
| 4096x144x144 | 70.5 | 77.8 | 0.91 | 73.8 | 0.96 | 67.0 | 1.05 |
| 4096x160x160 | 71.4 | 79.8 | 0.89 | 75.5 | 0.95 | 67.7 | 1.06 |
| 4096x176x176 | 71.7 | 80.7 | 0.88 | 76.3 | 0.94 | 67.3 | 1.07 |
| 8192x128x128 | 68.9 | 75.8 | 0.91 | 71.5 | 0.96 | 67.6 | 1.03 |
| 10000x8x8 | 33.9 | 43.6 | 0.77 | 18.4 | 1.84 | 47.3 | 0.72 |
| 10000x100x100 | 70.2 | 76.3 | 0.92 | 66.7 | 1.05 | 66.7 | 1.06 |
| 10000x1000x1000 | 68.3 | 84.1 | 0.81 | 79.1 | 0.86 | 68.6 | 1.03 |
| 10000x4000x4000 | 71.6 | 84.4 | 0.84 | 82.2 | 0.87 | 67.6 | 1.08 |
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.24 | 0.0 | 62.56 | 0.4 | 1.39 |
| 3x3 | 1.2 | 1.0 | 1.29 | 0.0 | 49.46 | 0.8 | 1.64 |
| 4x4 | 4.7 | 2.4 | 1.98 | 0.1 | 86.50 | 1.8 | 2.67 |
| 6x6 | 5.5 | 2.4 | 2.35 | 0.2 | 32.51 | 3.0 | 1.88 |
| 8x8 | 18.6 | 2.8 | 6.65 | 0.4 | 49.33 | 4.7 | 3.98 |
| 12x12 | 26.3 | 6.0 | 4.34 | 1.0 | 25.31 | 8.1 | 3.26 |
| 16x16 | 47.0 | 6.9 | 6.81 | 1.9 | 25.01 | 6.2 | 7.66 |
| 24x24 | 54.8 | 10.4 | 5.26 | 5.0 | 10.99 | 10.7 | 5.15 |
| 32x32 | 64.4 | 13.5 | 4.79 | 7.3 | 8.74 | 12.0 | 5.38 |
| 48x48 | 75.3 | 21.7 | 3.47 | 14.3 | 5.23 | 17.4 | 4.33 |
| 64x64 | 82.4 | 19.4 | 4.25 | 18.1 | 4.54 | 22.4 | 3.70 |
| 96x96 | 90.0 | 47.0 | 1.92 | 30.2 | 2.95 | 25.3 | 3.56 |
| 100x100 | 88.4 | 46.4 | 1.90 | 28.0 | 3.15 | 31.8 | 2.78 |
| 128x128 | 93.9 | 63.7 | 1.47 | 37.5 | 2.49 | 38.5 | 2.44 |
| 192x192 | 108.3 | 85.3 | 1.26 | 53.8 | 2.01 | 50.7 | 2.15 |
| 200x200 | 108.8 | 86.9 | 1.25 | 54.5 | 2.00 | 52.2 | 2.10 |
| 256x256 | 120.3 | 93.5 | 1.29 | 63.5 | 1.89 | 56.7 | 2.14 |
| 257x257 | 114.9 | 94.7 | 1.21 | 62.3 | 1.84 | 58.4 | 1.98 |
| 384x384 | 128.5 | 112.2 | 1.14 | 83.6 | 1.54 | 73.1 | 1.76 |
| 500x500 | 135.7 | 124.0 | 1.09 | 94.2 | 1.44 | 82.5 | 1.66 |
| 512x512 | 133.8 | 120.3 | 1.11 | 95.4 | 1.40 | 83.8 | 1.60 |
| 768x768 | 140.4 | 133.6 | 1.05 | 113.5 | 1.23 | 96.5 | 1.46 |
| 1000x1000 | 144.0 | 140.4 | 1.02 | 123.4 | 1.17 | 103.2 | 1.41 |
| 1001x1001 | 140.5 | 138.0 | 1.02 | 122.5 | 1.15 | 101.9 | 1.39 |
| 1024x1024 | 142.2 | 120.5 | 1.18 | 122.7 | 1.16 | 103.2 | 1.39 |
| 1536x1536 | 146.0 | 142.0 | 1.03 | 136.6 | 1.07 | 112.8 | 1.30 |
| 2048x2048 | 144.9 | 132.2 | 1.10 | 142.2 | 1.01 | 116.8 | 1.24 |
| 3072x3072 | 146.2 | 136.9 | 1.06 | 151.1 | 0.97 | 120.2 | 1.23 |
| 4096x4096 | 144.9 | 137.6 | 1.05 | 151.8 | 0.95 | 122.6 | 1.18 |
| 4097x4097 | 138.6 | 145.2 | 0.95 | 152.4 | 0.91 | 121.8 | 1.15 |
| 64x4096 | 80.8 | 48.2 | 1.68 | 23.1 | 3.50 | 22.9 | 3.54 |
| 256x4096 | 118.4 | 92.0 | 1.29 | 66.1 | 1.78 | 60.2 | 1.97 |
| 1024x8 | 70.5 | 39.6 | 1.78 | 40.6 | 1.72 | 61.9 | 1.15 |
| 1024x64 | 128.9 | 88.0 | 1.46 | 95.6 | 1.35 | 96.5 | 1.34 |
| 1024x256 | 140.1 | 120.8 | 1.16 | 116.9 | 1.19 | 102.9 | 1.37 |
| 1024x4096 | 139.9 | 115.1 | 1.22 | 120.7 | 1.15 | 101.2 | 1.38 |
| 4096x8 | 49.7 | 37.6 | 1.33 | 37.3 | 1.33 | 58.9 | 0.84 |
| 4096x64 | 119.8 | 103.7 | 1.16 | 107.5 | 1.11 | 112.2 | 1.07 |
| 4096x256 | 142.5 | 137.6 | 1.04 | 142.2 | 1.00 | 124.2 | 1.16 |
| 4096x1024 | 148.8 | 143.7 | 1.04 | 154.0 | 0.95 | 127.0 | 1.17 |
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.5 | 0.4 | 1.37 | 0.0 | 61.81 | 0.4 | 1.43 |
| 3x3 | 1.3 | 0.9 | 1.48 | 0.0 | 49.43 | 0.8 | 1.70 |
| 4x4 | 3.9 | 3.1 | 1.26 | 0.1 | 67.19 | 1.7 | 2.22 |
| 6x6 | 5.8 | 2.0 | 2.84 | 0.2 | 32.56 | 3.1 | 1.89 |
| 8x8 | 13.3 | 5.0 | 2.66 | 0.4 | 36.57 | 4.7 | 2.83 |
| 12x12 | 18.0 | 6.7 | 2.68 | 1.0 | 18.17 | 7.7 | 2.36 |
| 16x16 | 24.0 | 7.9 | 2.97 | 2.0 | 12.30 | 8.4 | 2.89 |
| 24x24 | 27.9 | 9.0 | 3.09 | 4.6 | 6.00 | 14.4 | 1.95 |
| 32x32 | 31.8 | 11.0 | 2.88 | 6.7 | 4.74 | 8.5 | 3.79 |
| 48x48 | 37.0 | 13.4 | 2.76 | 12.7 | 2.90 | 23.2 | 1.60 |
| 64x64 | 39.6 | 18.7 | 2.12 | 16.5 | 2.40 | 18.0 | 2.20 |
| 96x96 | 43.1 | 35.1 | 1.23 | 24.7 | 1.73 | 26.7 | 1.61 |
| 100x100 | 43.0 | 36.1 | 1.19 | 24.0 | 1.80 | 36.3 | 1.19 |
| 128x128 | 44.4 | 39.6 | 1.11 | 29.4 | 1.51 | 33.2 | 1.34 |
| 192x192 | 52.8 | 47.6 | 1.11 | 39.8 | 1.32 | 42.2 | 1.25 |
| 200x200 | 53.1 | 50.2 | 1.06 | 39.9 | 1.33 | 47.6 | 1.12 |
| 256x256 | 58.1 | 47.1 | 1.23 | 45.4 | 1.27 | 41.9 | 1.40 |
| 257x257 | 57.0 | 47.5 | 1.20 | 44.7 | 1.28 | 50.4 | 1.15 |
| 384x384 | 62.9 | 53.0 | 1.19 | 53.6 | 1.17 | 56.3 | 1.12 |
| 500x500 | 62.4 | 58.4 | 1.06 | 57.4 | 1.09 | 58.1 | 1.09 |
| 512x512 | 63.9 | 53.8 | 1.19 | 57.4 | 1.11 | 58.5 | 1.10 |
| 768x768 | 67.0 | 62.0 | 1.08 | 64.5 | 1.04 | 61.8 | 1.10 |
| 1000x1000 | 69.6 | 67.1 | 1.02 | 67.8 | 1.03 | 63.7 | 1.10 |
| 1001x1001 | 68.6 | 66.2 | 1.03 | 67.6 | 1.01 | 62.9 | 1.10 |
| 1024x1024 | 67.1 | 62.7 | 1.07 | 67.3 | 1.00 | 63.2 | 1.07 |
| 1536x1536 | 68.3 | 72.2 | 0.95 | 70.8 | 0.96 | 64.2 | 1.07 |
| 2048x2048 | 66.9 | 71.2 | 0.94 | 71.7 | 0.93 | 63.3 | 1.07 |
| 3072x3072 | 68.3 | 73.4 | 0.93 | 73.9 | 0.92 | 62.4 | 1.10 |
| 4096x4096 | 67.9 | 72.9 | 0.93 | 75.4 | 0.90 | 63.1 | 1.09 |
| 4097x4097 | 66.6 | 74.6 | 0.89 | 74.6 | 0.89 | 62.9 | 1.06 |
| 64x4096 | 39.2 | 31.2 | 1.25 | 18.6 | 2.12 | 29.4 | 1.33 |
| 256x4096 | 56.6 | 52.8 | 1.06 | 44.9 | 1.26 | 50.4 | 1.13 |
| 1024x8 | 34.9 | 29.6 | 1.18 | 31.1 | 1.10 | 42.1 | 0.83 |
| 1024x64 | 61.8 | 58.7 | 1.05 | 60.2 | 1.02 | 60.2 | 1.03 |
| 1024x256 | 67.1 | 66.0 | 1.01 | 66.7 | 1.01 | 63.2 | 1.07 |
| 1024x4096 | 65.6 | 63.4 | 1.02 | 65.6 | 1.00 | 60.1 | 1.10 |
| 4096x8 | 22.0 | 22.2 | 0.98 | 22.8 | 0.96 | 32.0 | 0.69 |
| 4096x64 | 57.0 | 61.2 | 0.93 | 60.1 | 0.95 | 60.2 | 0.96 |
| 4096x256 | 68.3 | 74.7 | 0.91 | 73.2 | 0.93 | 66.1 | 1.05 |
| 4096x1024 | 68.7 | 72.8 | 0.94 | 75.2 | 0.91 | 65.0 | 1.07 |
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 | 5.44 | 0.0 | 23.35 | 0.3 | 0.95 |
| 3x3 | 0.6 | 0.1 | 4.78 | 0.0 | 19.72 | 0.7 | 0.84 |
| 4x4 | 1.5 | 0.3 | 5.26 | 0.1 | 21.89 | 1.6 | 0.96 |
| 6x6 | 3.4 | 0.9 | 3.86 | 0.2 | 15.56 | 4.0 | 0.83 |
| 8x8 | 8.2 | 2.0 | 4.19 | 0.5 | 16.97 | 8.1 | 1.03 |
| 12x12 | 13.6 | 5.6 | 2.44 | 1.5 | 9.35 | 14.8 | 0.94 |
| 16x16 | 26.5 | 10.7 | 2.49 | 3.1 | 8.46 | 22.6 | 1.18 |
| 24x24 | 42.7 | 26.7 | 1.60 | 8.9 | 4.72 | 33.5 | 1.27 |
| 32x32 | 57.8 | 42.2 | 1.37 | 17.0 | 3.37 | 47.3 | 1.23 |
| 48x48 | 76.9 | 57.8 | 1.33 | 38.2 | 2.01 | 77.0 | 1.01 |
| 64x64 | 92.0 | 75.8 | 1.21 | 56.7 | 1.61 | 87.2 | 1.06 |
| 96x96 | 107.7 | 103.8 | 1.04 | 89.5 | 1.19 | 45.0 | 2.41 |
| 100x100 | 107.0 | 89.0 | 1.20 | 85.6 | 1.25 | 100.2 | 1.08 |
| 128x128 | 116.1 | 108.1 | 1.07 | 106.6 | 1.09 | 112.1 | 1.04 |
| 192x192 | 130.1 | 129.3 | 1.01 | 130.3 | 1.00 | 120.5 | 1.08 |
| 200x200 | 132.6 | 124.8 | 1.06 | 134.5 | 0.99 | 118.5 | 1.12 |
| 256x256 | 136.0 | 138.7 | 0.98 | 141.2 | 0.96 | 94.3 | 1.43 |
| 257x257 | 131.8 | 132.4 | 1.00 | 137.4 | 0.96 | 116.8 | 1.13 |
| 384x384 | 103.1 | 154.0 | 0.67 | 153.7 | 0.67 | 129.2 | 0.81 |
| 500x500 | 146.7 | 155.9 | 0.94 | 159.9 | 0.92 | 128.8 | 1.14 |
| 512x512 | 146.4 | 157.9 | 0.93 | 158.7 | 0.92 | 131.5 | 1.11 |
| 768x768 | 121.4 | 161.9 | 0.75 | 161.5 | 0.74 | 133.8 | 0.91 |
| 1000x1000 | 153.0 | 160.8 | 0.95 | 168.6 | 0.91 | 135.1 | 1.13 |
| 1001x1001 | 150.4 | 158.4 | 0.95 | 165.6 | 0.91 | 132.3 | 1.13 |
| 1024x1024 | 149.1 | 156.2 | 0.95 | 163.9 | 0.91 | 135.6 | 1.10 |
| 1536x1536 | 150.8 | 162.9 | 0.93 | 168.2 | 0.89 | 136.8 | 1.10 |
| 2048x2048 | 149.9 | 157.9 | 0.95 | 164.9 | 0.90 | 136.9 | 1.09 |
| 3072x3072 | 153.8 | 161.2 | 0.96 | 170.4 | 0.90 | 136.9 | 1.12 |
| 4096x4096 | 153.4 | 161.7 | 0.95 | 168.3 | 0.91 | 134.0 | 1.14 |
| 4097x4097 | 152.3 | 168.6 | 0.90 | 169.0 | 0.90 | 133.1 | 1.14 |
| 64x4096 | 91.1 | 98.7 | 0.92 | 98.6 | 0.92 | 97.4 | 0.93 |
| 256x4096 | 133.8 | 142.7 | 0.95 | 147.0 | 0.91 | 124.3 | 1.07 |
| 1024x4096 | 146.7 | 154.0 | 0.95 | 163.0 | 0.89 | 135.7 | 1.08 |
| 4096x8 | 67.6 | 29.0 | 2.39 | 28.4 | 2.38 | 63.0 | 1.07 |
| 4096x64 | 141.6 | 111.1 | 1.27 | 119.6 | 1.18 | 136.0 | 1.04 |
| 4096x256 | 153.8 | 149.8 | 1.03 | 159.9 | 0.96 | 132.3 | 1.16 |
| 4096x1024 | 153.3 | 163.0 | 0.94 | 167.1 | 0.91 | 133.5 | 1.15 |
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.41 | 0.0 | 19.40 | 0.3 | 0.79 |
| 3x3 | 0.5 | 0.1 | 4.98 | 0.0 | 17.50 | 0.7 | 0.74 |
| 4x4 | 1.2 | 0.2 | 5.07 | 0.1 | 17.84 | 1.6 | 0.78 |
| 6x6 | 3.1 | 0.7 | 4.26 | 0.2 | 14.61 | 3.7 | 0.85 |
| 8x8 | 5.3 | 1.6 | 3.43 | 0.5 | 11.56 | 6.7 | 0.80 |
| 12x12 | 9.2 | 4.3 | 2.17 | 1.4 | 6.52 | 13.7 | 0.68 |
| 16x16 | 15.9 | 8.2 | 1.94 | 2.9 | 5.47 | 7.0 | 2.27 |
| 24x24 | 22.6 | 18.2 | 1.24 | 7.8 | 2.88 | 32.3 | 0.70 |
| 32x32 | 29.2 | 20.6 | 1.42 | 13.0 | 2.23 | 7.3 | 4.01 |
| 48x48 | 37.8 | 35.8 | 1.06 | 26.9 | 1.40 | 32.5 | 1.17 |
| 64x64 | 44.4 | 42.2 | 1.05 | 35.1 | 1.25 | 21.0 | 2.12 |
| 96x96 | 51.8 | 54.9 | 0.94 | 51.0 | 1.01 | 34.1 | 1.53 |
| 100x100 | 52.5 | 50.6 | 1.04 | 50.6 | 1.03 | 57.4 | 0.92 |
| 128x128 | 56.3 | 58.5 | 0.96 | 54.8 | 1.02 | 43.2 | 1.31 |
| 192x192 | 62.4 | 68.9 | 0.91 | 67.8 | 0.91 | 63.7 | 0.98 |
| 200x200 | 63.0 | 66.8 | 0.94 | 68.3 | 0.92 | 63.4 | 1.00 |
| 256x256 | 64.4 | 72.3 | 0.89 | 65.4 | 0.98 | 49.4 | 1.30 |
| 257x257 | 64.2 | 70.0 | 0.92 | 67.3 | 0.96 | 63.7 | 0.99 |
| 384x384 | 67.7 | 77.1 | 0.88 | 73.6 | 0.92 | 66.4 | 1.03 |
| 500x500 | 69.9 | 76.4 | 0.92 | 73.4 | 0.95 | 66.3 | 1.05 |
| 512x512 | 51.6 | 74.7 | 0.70 | 71.3 | 0.72 | 67.2 | 0.77 |
| 768x768 | 71.6 | 77.3 | 0.93 | 76.9 | 0.92 | 68.1 | 1.05 |
| 1000x1000 | 71.5 | 78.2 | 0.92 | 78.6 | 0.91 | 68.0 | 1.05 |
| 1001x1001 | 70.9 | 78.1 | 0.91 | 78.2 | 0.90 | 67.7 | 1.05 |
| 1024x1024 | 68.7 | 77.0 | 0.89 | 77.1 | 0.89 | 68.1 | 1.01 |
| 1536x1536 | 69.6 | 76.9 | 0.91 | 78.1 | 0.89 | 68.6 | 1.01 |
| 2048x2048 | 70.7 | 78.2 | 0.91 | 78.6 | 0.90 | 68.1 | 1.04 |
| 3072x3072 | 71.1 | 79.4 | 0.90 | 80.2 | 0.89 | 66.8 | 1.06 |
| 4096x4096 | 69.9 | 79.9 | 0.88 | 79.8 | 0.88 | 66.5 | 1.05 |
| 4097x4097 | 69.7 | 81.0 | 0.87 | 79.7 | 0.87 | 66.5 | 1.05 |
| 64x4096 | 44.9 | 50.1 | 0.90 | 48.4 | 0.92 | 53.6 | 0.84 |
| 256x4096 | 64.5 | 70.8 | 0.91 | 70.0 | 0.91 | 64.8 | 1.00 |
| 1024x4096 | 67.9 | 74.3 | 0.91 | 76.8 | 0.88 | 67.5 | 1.01 |
| 4096x8 | 29.0 | 16.5 | 1.81 | 15.8 | 1.83 | 40.8 | 0.70 |
| 4096x64 | 66.5 | 56.1 | 1.19 | 60.5 | 1.10 | 65.9 | 1.01 |
| 4096x256 | 72.5 | 76.8 | 0.94 | 70.8 | 1.02 | 66.4 | 1.10 |
| 4096x1024 | 69.1 | 79.0 | 0.87 | 78.7 | 0.87 | 65.6 | 1.05 |
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.4 | 0.3 | 1.47 | 0.0 | 21.68 | 0.1 | 3.17 |
| 3 | 0.9 | 0.5 | 1.83 | 0.1 | 13.90 | 0.4 | 2.62 |
| 4 | 1.3 | 0.9 | 1.52 | 0.1 | 9.43 | 0.6 | 2.23 |
| 6 | 1.9 | 1.8 | 1.05 | 0.4 | 4.94 | 1.5 | 1.28 |
| 8 | 2.6 | 2.8 | 0.93 | 0.8 | 3.43 | 2.5 | 1.01 |
| 12 | 4.9 | 4.7 | 1.05 | 1.6 | 3.05 | 4.8 | 1.02 |
| 16 | 7.3 | 5.9 | 1.23 | 2.9 | 2.55 | 7.1 | 1.04 |
| 24 | 11.9 | 5.2 | 2.27 | 5.7 | 2.09 | 11.6 | 1.03 |
| 32 | 11.3 | 7.3 | 1.54 | 8.7 | 1.30 | 15.6 | 0.72 |
| 48 | 17.6 | 11.6 | 1.51 | 13.9 | 1.27 | 15.7 | 1.12 |
| 64 | 22.9 | 13.8 | 1.65 | 17.6 | 1.30 | 11.2 | 2.05 |
| 96 | 31.8 | 21.1 | 1.51 | 22.6 | 1.41 | 29.5 | 1.07 |
| 100 | 31.7 | 17.8 | 1.78 | 16.2 | 1.95 | 34.2 | 0.93 |
| 128 | 49.4 | 24.6 | 2.01 | 23.3 | 2.12 | 42.5 | 1.15 |
| 192 | 62.3 | 45.8 | 1.37 | 35.6 | 1.75 | 40.8 | 1.52 |
| 200 | 63.7 | 46.4 | 1.39 | 33.0 | 1.93 | 54.7 | 1.16 |
| 256 | 81.0 | 53.0 | 1.54 | 41.2 | 1.96 | 66.8 | 1.21 |
| 257 | 76.5 | 52.2 | 1.47 | 41.7 | 1.83 | 66.0 | 1.15 |
| 384 | 99.1 | 68.0 | 1.47 | 58.5 | 1.69 | 83.3 | 1.19 |
| 500 | 107.0 | 80.9 | 1.32 | 68.1 | 1.57 | 86.0 | 1.24 |
| 512 | 106.8 | 79.1 | 1.36 | 68.5 | 1.56 | 93.9 | 1.14 |
| 768 | 121.3 | 89.5 | 1.36 | 86.7 | 1.40 | 105.0 | 1.15 |
| 1000 | 128.8 | 99.2 | 1.30 | 96.6 | 1.33 | 107.1 | 1.20 |
| 1001 | 124.9 | 91.2 | 1.37 | 95.6 | 1.30 | 104.8 | 1.19 |
| 1024 | 116.8 | 85.5 | 1.38 | 94.4 | 1.23 | 110.9 | 1.05 |
| 1536 | 134.7 | 121.9 | 1.11 | 112.7 | 1.20 | 119.3 | 1.12 |
| 2048 | 136.2 | 111.0 | 1.23 | 118.4 | 1.14 | 123.8 | 1.10 |
| 3072 | 139.1 | 113.8 | 1.23 | 127.7 | 1.09 | 125.9 | 1.10 |
| 4096 | 137.3 | 109.9 | 1.25 | 130.2 | 1.05 | 125.7 | 1.09 |
| 4097 | 133.8 | 112.9 | 1.19 | 127.3 | 1.05 | 124.7 | 1.07 |
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.4 | 0.3 | 1.39 | 0.0 | 19.27 | 0.1 | 3.08 |
| 3 | 0.7 | 0.5 | 1.36 | 0.1 | 11.10 | 0.3 | 2.26 |
| 4 | 1.1 | 0.8 | 1.28 | 0.1 | 7.30 | 0.6 | 1.83 |
| 6 | 1.6 | 1.5 | 1.05 | 0.4 | 4.13 | 1.3 | 1.25 |
| 8 | 2.3 | 2.1 | 1.06 | 0.8 | 2.90 | 2.1 | 1.06 |
| 12 | 4.2 | 3.9 | 1.08 | 1.7 | 2.49 | 4.3 | 0.99 |
| 16 | 6.7 | 5.0 | 1.34 | 3.0 | 2.22 | 6.1 | 1.10 |
| 24 | 10.6 | 4.5 | 2.36 | 5.7 | 1.84 | 9.8 | 1.08 |
| 32 | 8.0 | 6.7 | 1.20 | 8.0 | 0.99 | 12.3 | 0.65 |
| 48 | 11.3 | 9.7 | 1.17 | 11.3 | 1.00 | 4.8 | 2.37 |
| 64 | 14.0 | 12.3 | 1.13 | 13.3 | 1.05 | 15.3 | 0.91 |
| 96 | 18.5 | 18.6 | 0.99 | 15.5 | 1.19 | 26.5 | 0.70 |
| 100 | 18.6 | 16.7 | 1.12 | 12.7 | 1.46 | 27.0 | 0.69 |
| 128 | 27.1 | 24.1 | 1.13 | 17.8 | 1.52 | 19.3 | 1.40 |
| 192 | 32.9 | 32.7 | 1.01 | 25.2 | 1.31 | 37.4 | 0.88 |
| 200 | 33.6 | 34.0 | 0.99 | 24.6 | 1.36 | 39.4 | 0.85 |
| 256 | 41.8 | 37.6 | 1.11 | 29.8 | 1.41 | 37.6 | 1.11 |
| 257 | 41.0 | 37.6 | 1.09 | 29.9 | 1.37 | 43.7 | 0.94 |
| 384 | 49.7 | 44.2 | 1.13 | 39.1 | 1.27 | 45.7 | 1.09 |
| 500 | 53.2 | 51.3 | 1.04 | 44.3 | 1.20 | 52.6 | 1.01 |
| 512 | 52.3 | 44.3 | 1.18 | 43.3 | 1.21 | 53.7 | 0.97 |
| 768 | 58.7 | 58.9 | 1.00 | 53.0 | 1.11 | 58.5 | 1.00 |
| 1000 | 62.9 | 62.2 | 1.01 | 58.0 | 1.09 | 60.9 | 1.04 |
| 1001 | 61.9 | 60.9 | 1.02 | 57.9 | 1.07 | 60.0 | 1.03 |
| 1024 | 58.0 | 58.0 | 1.00 | 56.9 | 1.03 | 60.4 | 0.96 |
| 1536 | 63.8 | 61.7 | 1.03 | 63.0 | 1.01 | 63.2 | 1.00 |
| 2048 | 62.3 | 60.8 | 1.02 | 64.4 | 0.96 | 62.4 | 1.00 |
| 3072 | 65.5 | 61.4 | 1.07 | 67.8 | 0.97 | 62.4 | 1.05 |
| 4096 | 64.6 | 57.7 | 1.12 | 67.9 | 0.95 | 61.0 | 1.06 |
| 4097 | 64.1 | 59.0 | 1.09 | 68.0 | 0.94 | 60.9 | 1.05 |
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.3 | 0.2 | 1.57 | 0.0 | 12.78 | 0.1 | 2.65 |
| 3 | 0.8 | 0.5 | 1.67 | 0.1 | 9.24 | 0.3 | 2.73 |
| 4 | 1.3 | 0.7 | 1.69 | 0.2 | 7.43 | 0.5 | 2.64 |
| 6 | 2.2 | 1.6 | 1.39 | 0.4 | 4.92 | 0.9 | 2.34 |
| 8 | 3.3 | 2.1 | 1.53 | 0.8 | 4.07 | 1.5 | 2.23 |
| 12 | 5.3 | 4.3 | 1.28 | 1.6 | 3.32 | 2.3 | 2.35 |
| 16 | 7.3 | 5.4 | 1.36 | 0.9 | 8.45 | 3.0 | 2.52 |
| 24 | 10.2 | 8.8 | 1.16 | 2.4 | 4.30 | 5.7 | 1.82 |
| 32 | 13.8 | 10.1 | 1.37 | 2.9 | 4.82 | 6.8 | 2.03 |
| 48 | 21.0 | 13.1 | 1.60 | 5.8 | 3.63 | 11.5 | 1.86 |
| 64 | 26.8 | 15.9 | 1.69 | 7.4 | 3.64 | 14.2 | 1.90 |
| 96 | 36.3 | 24.2 | 1.50 | 14.0 | 2.58 | 22.7 | 1.61 |
| 100 | 37.1 | 23.5 | 1.58 | 13.3 | 2.79 | 24.7 | 1.50 |
| 128 | 45.8 | 33.3 | 1.37 | 18.8 | 2.44 | 29.1 | 1.58 |
| 192 | 57.3 | 39.8 | 1.44 | 30.2 | 1.88 | 38.0 | 1.51 |
| 200 | 58.6 | 43.9 | 1.34 | 30.8 | 1.90 | 43.5 | 1.35 |
| 256 | 72.3 | 39.4 | 1.84 | 38.1 | 1.89 | 50.8 | 1.42 |
| 257 | 69.9 | 43.1 | 1.62 | 37.8 | 1.84 | 49.6 | 1.41 |
| 384 | 87.1 | 53.1 | 1.64 | 54.6 | 1.59 | 65.2 | 1.34 |
| 500 | 95.8 | 64.7 | 1.48 | 64.7 | 1.48 | 74.6 | 1.29 |
| 512 | 95.0 | 56.4 | 1.68 | 64.4 | 1.47 | 75.2 | 1.26 |
| 768 | 107.3 | 71.1 | 1.50 | 81.6 | 1.32 | 89.3 | 1.20 |
| 1000 | 114.5 | 88.8 | 1.29 | 94.8 | 1.21 | 97.2 | 1.18 |
| 1001 | 111.7 | 88.0 | 1.27 | 94.0 | 1.19 | 95.7 | 1.17 |
| 1024 | 114.5 | 73.1 | 1.56 | 93.2 | 1.23 | 98.1 | 1.17 |
| 1536 | 125.8 | 100.7 | 1.25 | 110.1 | 1.14 | 108.8 | 1.16 |
| 2048 | 128.9 | 96.6 | 1.33 | 110.4 | 1.17 | 114.0 | 1.13 |
| 3072 | 133.3 | 103.9 | 1.28 | 128.7 | 1.04 | 119.1 | 1.12 |
| 4096 | 133.4 | 101.8 | 1.31 | 128.4 | 1.04 | 120.9 | 1.10 |
| 4097 | 125.3 | 113.1 | 1.11 | 129.3 | 0.97 | 120.3 | 1.04 |
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.45 | 0.0 | 13.05 | 0.1 | 2.56 |
| 3 | 0.7 | 0.5 | 1.33 | 0.1 | 9.14 | 0.3 | 2.28 |
| 4 | 1.1 | 0.9 | 1.18 | 0.2 | 6.73 | 0.6 | 1.99 |
| 6 | 2.1 | 1.8 | 1.14 | 0.5 | 4.64 | 1.1 | 2.00 |
| 8 | 3.2 | 2.9 | 1.02 | 0.8 | 3.75 | 1.6 | 1.98 |
| 12 | 4.9 | 5.2 | 0.95 | 1.7 | 2.83 | 2.4 | 2.05 |
| 16 | 6.3 | 6.7 | 0.94 | 0.9 | 6.67 | 3.0 | 2.19 |
| 24 | 8.3 | 8.6 | 0.95 | 2.4 | 3.41 | 5.4 | 1.54 |
| 32 | 10.7 | 9.1 | 1.18 | 2.9 | 3.62 | 6.2 | 1.73 |
| 48 | 14.8 | 12.7 | 1.17 | 5.5 | 2.71 | 12.4 | 1.21 |
| 64 | 18.1 | 15.8 | 1.13 | 7.2 | 2.52 | 9.7 | 1.88 |
| 96 | 22.7 | 21.0 | 1.06 | 12.1 | 1.88 | 21.8 | 1.04 |
| 100 | 23.2 | 20.8 | 1.09 | 11.6 | 2.00 | 23.7 | 0.98 |
| 128 | 27.1 | 22.5 | 1.20 | 15.6 | 1.76 | 23.8 | 1.14 |
| 192 | 32.8 | 30.4 | 1.06 | 23.4 | 1.41 | 32.8 | 1.00 |
| 200 | 33.3 | 34.4 | 0.96 | 23.8 | 1.40 | 36.6 | 0.91 |
| 256 | 40.2 | 32.4 | 1.23 | 28.3 | 1.42 | 38.3 | 1.06 |
| 257 | 40.0 | 37.6 | 1.04 | 28.2 | 1.42 | 39.7 | 1.01 |
| 384 | 47.0 | 40.0 | 1.16 | 37.0 | 1.28 | 47.1 | 1.00 |
| 500 | 50.8 | 49.3 | 1.02 | 41.7 | 1.22 | 51.2 | 0.99 |
| 512 | 50.2 | 39.0 | 1.28 | 38.6 | 1.30 | 51.3 | 0.98 |
| 768 | 55.2 | 50.3 | 1.08 | 48.9 | 1.13 | 55.9 | 0.99 |
| 1000 | 58.4 | 58.0 | 0.99 | 56.3 | 1.04 | 58.0 | 1.01 |
| 1001 | 57.6 | 58.2 | 0.98 | 55.7 | 1.04 | 57.6 | 1.00 |
| 1024 | 57.5 | 47.8 | 1.19 | 51.6 | 1.12 | 58.2 | 0.99 |
| 1536 | 61.1 | 57.5 | 1.05 | 58.9 | 1.04 | 60.5 | 1.01 |
| 2048 | 60.9 | 54.9 | 1.09 | 60.5 | 1.01 | 60.5 | 1.01 |
| 3072 | 63.3 | 62.4 | 1.01 | 65.0 | 0.98 | 61.0 | 1.04 |
| 4096 | 64.4 | 60.8 | 1.05 | 66.2 | 0.98 | 61.0 | 1.05 |
| 4097 | 62.0 | 66.7 | 0.92 | 67.5 | 0.92 | 60.9 | 1.02 |
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.73 | 0.2 | 1.26 | 0.2 | 1.07 |
| 3x3 | 0.3 | 0.4 | 0.73 | 0.3 | 0.95 | 0.3 | 1.04 |
| 4x4 | 0.5 | 0.7 | 0.74 | 0.6 | 0.89 | 0.5 | 1.05 |
| 6x6 | 1.0 | 1.3 | 0.76 | 1.2 | 0.84 | 0.9 | 1.10 |
| 8x8 | 1.6 | 2.2 | 0.73 | 1.9 | 0.81 | 1.4 | 1.12 |
| 12x12 | 3.2 | 4.1 | 0.77 | 3.7 | 0.85 | 2.7 | 1.15 |
| 16x16 | 5.1 | 6.2 | 0.82 | 5.7 | 0.88 | 4.1 | 1.22 |
| 24x24 | 9.0 | 10.2 | 0.88 | 9.9 | 0.91 | 7.1 | 1.26 |
| 32x32 | 12.5 | 13.8 | 0.91 | 13.7 | 0.91 | 10.0 | 1.25 |
| 48x48 | 18.3 | 20.1 | 0.91 | 20.7 | 0.88 | 15.2 | 1.22 |
| 64x64 | 14.9 | 23.9 | 0.63 | 25.9 | 0.58 | 19.2 | 0.77 |
| 96x96 | 28.2 | 28.5 | 1.00 | 33.3 | 0.84 | 24.7 | 1.14 |
| 100x100 | 24.7 | 28.7 | 0.86 | 33.9 | 0.72 | 25.3 | 0.98 |
| 128x128 | 35.6 | 30.4 | 1.17 | 37.3 | 0.92 | 27.8 | 1.28 |
| 192x192 | 52.2 | 30.4 | 1.73 | 42.4 | 1.23 | 44.4 | 1.18 |
| 200x200 | 52.5 | 29.8 | 1.78 | 43.4 | 1.21 | 53.2 | 0.99 |
| 256x256 | 63.5 | 29.3 | 2.19 | 50.3 | 1.26 | 54.2 | 1.17 |
| 257x257 | 62.4 | 29.5 | 2.13 | 50.2 | 1.24 | 62.8 | 0.99 |
| 384x384 | 82.8 | 28.6 | 2.91 | 64.3 | 1.29 | 73.0 | 1.13 |
| 500x500 | 92.5 | 88.8 | 1.04 | 75.0 | 1.23 | 87.5 | 1.06 |
| 512x512 | 92.0 | 85.8 | 1.07 | 71.7 | 1.28 | 81.2 | 1.13 |
| 768x768 | 105.7 | 95.7 | 1.12 | 85.6 | 1.23 | 92.4 | 1.14 |
| 1000x1000 | 113.2 | 105.7 | 1.07 | 97.9 | 1.15 | 103.2 | 1.10 |
| 1001x1001 | 110.8 | 102.9 | 1.08 | 96.3 | 1.15 | 102.2 | 1.08 |
| 1024x1024 | 111.1 | 94.5 | 1.18 | 89.6 | 1.24 | 92.4 | 1.20 |
| 1536x1536 | 121.5 | 118.3 | 1.04 | 111.8 | 1.09 | 105.1 | 1.15 |
| 2048x2048 | 122.3 | 110.3 | 1.12 | 112.9 | 1.08 | 100.9 | 1.21 |
| 3072x3072 | 124.8 | 110.8 | 1.14 | 124.3 | 1.00 | 105.9 | 1.18 |
| 4096x4096 | 119.4 | 101.3 | 1.18 | 125.4 | 0.95 | 102.3 | 1.17 |
| 4097x4097 | 115.8 | 105.6 | 1.10 | 125.8 | 0.92 | 101.7 | 1.14 |
| 4096x8 | 19.5 | 16.1 | 1.22 | 18.0 | 1.08 | 14.2 | 1.36 |
| 4096x64 | 25.9 | 20.8 | 1.26 | 34.0 | 0.76 | 27.6 | 0.94 |
| 4096x256 | 61.3 | 21.2 | 2.91 | 61.3 | 1.00 | 55.4 | 1.11 |
| 4096x1024 | 104.4 | 87.5 | 1.20 | 99.3 | 1.05 | 94.9 | 1.10 |
| 10000x8 | 20.0 | 15.6 | 1.29 | 18.4 | 1.08 | 14.1 | 1.42 |
| 10000x100 | 42.0 | 20.3 | 2.10 | 41.2 | 1.02 | 29.4 | 1.42 |
| 10000x1000 | 109.4 | 94.4 | 1.17 | 103.1 | 1.06 | 99.3 | 1.10 |
| 10000x4000 | 119.3 | 111.3 | 1.08 | 135.3 | 0.88 | 107.9 | 1.11 |
| 100000x8 | 19.3 | 14.8 | 1.32 | 17.0 | 1.13 | 13.5 | 1.42 |
| 100000x64 | 28.0 | 17.9 | 1.56 | 34.6 | 0.81 | 24.7 | 1.13 |
| 100000x256 | 62.0 | 15.3 | 4.08 | 61.1 | 1.01 | 45.6 | 1.35 |
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.61 | 0.2 | 1.19 | 0.2 | 1.23 |
| 3x3 | 0.3 | 0.5 | 0.63 | 0.3 | 0.94 | 0.3 | 1.10 |
| 4x4 | 0.5 | 0.8 | 0.62 | 0.5 | 0.86 | 0.4 | 1.06 |
| 6x6 | 0.9 | 1.4 | 0.65 | 1.1 | 0.83 | 0.8 | 1.11 |
| 8x8 | 1.5 | 2.3 | 0.67 | 1.8 | 0.82 | 1.3 | 1.15 |
| 12x12 | 3.0 | 3.9 | 0.76 | 3.5 | 0.85 | 2.4 | 1.26 |
| 16x16 | 4.7 | 5.7 | 0.83 | 5.2 | 0.89 | 3.4 | 1.38 |
| 24x24 | 7.6 | 8.7 | 0.86 | 8.4 | 0.90 | 5.2 | 1.49 |
| 32x32 | 9.9 | 11.1 | 0.88 | 11.2 | 0.88 | 6.5 | 1.55 |
| 48x48 | 13.0 | 14.5 | 0.90 | 16.2 | 0.82 | 10.6 | 1.22 |
| 64x64 | 11.1 | 16.3 | 0.68 | 18.8 | 0.59 | 12.5 | 0.89 |
| 96x96 | 18.7 | 17.9 | 1.05 | 16.3 | 1.14 | 15.8 | 1.18 |
| 100x100 | 16.9 | 17.7 | 0.95 | 15.1 | 1.11 | 16.0 | 1.06 |
| 128x128 | 22.3 | 17.0 | 1.32 | 20.8 | 1.07 | 16.4 | 1.35 |
| 192x192 | 30.2 | 17.2 | 1.78 | 28.1 | 1.08 | 26.4 | 1.14 |
| 200x200 | 30.1 | 16.9 | 1.79 | 29.0 | 1.04 | 31.8 | 0.95 |
| 256x256 | 34.2 | 16.6 | 2.08 | 32.9 | 1.04 | 32.7 | 1.04 |
| 257x257 | 33.8 | 17.3 | 1.96 | 33.0 | 1.02 | 36.8 | 0.92 |
| 384x384 | 41.9 | 45.9 | 0.92 | 39.2 | 1.07 | 42.0 | 0.99 |
| 500x500 | 45.9 | 50.9 | 0.91 | 43.5 | 1.05 | 48.3 | 0.95 |
| 512x512 | 45.2 | 47.7 | 0.96 | 40.6 | 1.11 | 44.1 | 1.02 |
| 768x768 | 52.0 | 55.4 | 0.94 | 49.9 | 1.04 | 51.2 | 1.01 |
| 1000x1000 | 55.1 | 59.3 | 0.93 | 54.7 | 1.01 | 55.0 | 0.99 |
| 1001x1001 | 54.5 | 58.9 | 0.94 | 54.5 | 1.00 | 54.7 | 0.99 |
| 1024x1024 | 53.9 | 55.6 | 0.98 | 51.8 | 1.04 | 51.9 | 1.03 |
| 1536x1536 | 58.0 | 59.8 | 0.98 | 56.4 | 1.03 | 54.9 | 1.05 |
| 2048x2048 | 55.6 | 57.1 | 0.98 | 56.7 | 0.98 | 54.4 | 1.02 |
| 3072x3072 | 57.2 | 58.1 | 0.99 | 64.2 | 0.89 | 54.0 | 1.06 |
| 4096x4096 | 55.6 | 56.4 | 1.00 | 65.2 | 0.85 | 52.7 | 1.06 |
| 4097x4097 | 54.9 | 57.4 | 0.96 | 65.9 | 0.83 | 52.9 | 1.03 |
| 4096x8 | 11.6 | 10.1 | 1.18 | 12.0 | 0.97 | 9.4 | 1.24 |
| 4096x64 | 14.2 | 15.1 | 0.95 | 21.7 | 0.65 | 15.3 | 0.92 |
| 4096x256 | 32.2 | 15.3 | 2.12 | 34.1 | 0.95 | 30.3 | 1.06 |
| 4096x1024 | 50.6 | 53.4 | 0.95 | 54.5 | 0.93 | 51.2 | 0.98 |
| 10000x8 | 12.1 | 9.8 | 1.24 | 14.2 | 0.85 | 9.3 | 1.29 |
| 10000x100 | 20.7 | 13.5 | 1.53 | 28.3 | 0.73 | 14.7 | 1.40 |
| 10000x1000 | 50.7 | 53.2 | 0.96 | 54.9 | 0.92 | 49.4 | 1.02 |
| 10000x4000 | 57.4 | 58.4 | 0.99 | 68.8 | 0.83 | 54.6 | 1.05 |
| 100000x8 | 10.6 | 8.8 | 1.22 | 12.5 | 0.85 | 8.5 | 1.21 |
| 100000x64 | 11.6 | 9.2 | 1.22 | 20.8 | 0.57 | 10.0 | 1.17 |
| 100000x256 | 27.3 | 7.7 | 3.55 | 27.1 | 1.01 | 20.5 | 1.33 |
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.9 | 0.6 | 1.55 | 0.6 | 1.47 | 0.6 | 1.46 |
| 3 | 0.9 | 0.5 | 1.79 | 0.4 | 1.92 | 0.6 | 1.40 |
| 4 | 1.3 | 0.6 | 2.14 | 0.6 | 2.14 | 0.8 | 1.54 |
| 6 | 1.8 | 1.0 | 1.74 | 1.0 | 1.74 | 1.4 | 1.27 |
| 8 | 2.6 | 1.4 | 1.79 | 1.4 | 1.79 | 1.9 | 1.37 |
| 12 | 4.0 | 2.4 | 1.67 | 2.5 | 1.63 | 3.1 | 1.33 |
| 16 | 5.8 | 3.4 | 1.68 | 3.5 | 1.65 | 4.1 | 1.44 |
| 24 | 8.9 | 4.9 | 1.81 | 5.0 | 1.77 | 5.5 | 1.65 |
| 32 | 11.9 | 6.4 | 1.85 | 6.5 | 1.84 | 6.9 | 1.74 |
| 48 | 17.0 | 8.3 | 2.06 | 7.7 | 2.20 | 8.8 | 1.90 |
| 64 | 21.1 | 9.8 | 2.17 | 9.5 | 2.23 | 9.8 | 2.14 |
| 96 | 27.7 | 11.7 | 2.38 | 11.6 | 2.38 | 11.7 | 2.37 |
| 100 | 28.6 | 11.9 | 2.43 | 11.5 | 2.49 | 12.1 | 2.35 |
| 128 | 33.9 | 12.8 | 2.65 | 12.8 | 2.63 | 13.2 | 2.57 |
| 192 | 40.9 | 14.2 | 2.90 | 14.3 | 2.86 | 14.8 | 2.74 |
| 200 | 41.5 | 14.4 | 2.87 | 14.8 | 2.82 | 15.0 | 2.77 |
| 256 | 44.2 | 15.0 | 2.95 | 15.5 | 2.86 | 15.6 | 2.83 |
| 257 | 46.0 | 14.8 | 3.11 | 15.5 | 2.96 | 15.8 | 2.91 |
| 384 | 48.5 | 15.9 | 3.06 | 16.6 | 2.91 | 16.8 | 2.92 |
| 500 | 50.5 | 16.3 | 3.11 | 17.3 | 2.91 | 17.2 | 2.93 |
| 512 | 50.1 | 16.3 | 3.09 | 17.2 | 2.89 | 17.3 | 2.89 |
| 768 | 52.2 | 16.8 | 3.11 | 17.9 | 2.90 | 18.0 | 2.90 |
| 1000 | 52.8 | 17.0 | 3.09 | 18.4 | 2.87 | 18.4 | 2.88 |
| 1001 | 60.2 | 17.1 | 3.51 | 18.3 | 3.29 | 18.4 | 3.31 |
| 1024 | 52.1 | 16.8 | 3.09 | 18.3 | 2.82 | 18.2 | 2.87 |
| 1536 | 52.5 | 17.4 | 3.03 | 18.8 | 2.78 | 18.6 | 2.84 |
| 2048 | 50.4 | 17.0 | 2.96 | 18.9 | 2.62 | 18.8 | 2.70 |
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.69 | 0.6 | 1.61 | 0.6 | 1.60 |
| 3 | 0.6 | 0.4 | 1.56 | 0.4 | 1.57 | 0.5 | 1.26 |
| 4 | 0.9 | 0.5 | 1.66 | 0.5 | 1.58 | 0.7 | 1.29 |
| 6 | 1.3 | 0.8 | 1.63 | 0.8 | 1.56 | 1.0 | 1.29 |
| 8 | 1.8 | 1.2 | 1.55 | 1.2 | 1.50 | 1.5 | 1.21 |
| 12 | 3.0 | 1.9 | 1.53 | 2.0 | 1.46 | 2.3 | 1.27 |
| 16 | 4.0 | 2.8 | 1.46 | 2.8 | 1.40 | 3.0 | 1.32 |
| 24 | 6.0 | 3.9 | 1.55 | 4.1 | 1.47 | 4.2 | 1.42 |
| 32 | 7.6 | 5.0 | 1.53 | 5.2 | 1.46 | 5.1 | 1.47 |
| 48 | 10.2 | 6.6 | 1.54 | 6.2 | 1.61 | 6.6 | 1.59 |
| 64 | 12.7 | 7.8 | 1.63 | 7.6 | 1.65 | 7.6 | 1.68 |
| 96 | 15.6 | 8.9 | 1.75 | 8.8 | 1.76 | 9.0 | 1.73 |
| 100 | 15.8 | 9.2 | 1.71 | 9.1 | 1.75 | 9.4 | 1.72 |
| 128 | 17.7 | 10.0 | 1.77 | 10.0 | 1.78 | 10.0 | 1.77 |
| 192 | 20.3 | 10.9 | 1.86 | 11.3 | 1.79 | 11.5 | 1.77 |
| 200 | 20.6 | 11.0 | 1.87 | 11.5 | 1.79 | 11.7 | 1.79 |
| 256 | 20.8 | 11.4 | 1.82 | 12.1 | 1.70 | 12.3 | 1.73 |
| 257 | 23.5 | 11.5 | 2.02 | 12.2 | 1.92 | 12.4 | 1.91 |
| 384 | 22.1 | 12.0 | 1.83 | 13.1 | 1.69 | 13.3 | 1.69 |
| 500 | 22.8 | 12.5 | 1.83 | 13.5 | 1.68 | 13.8 | 1.66 |
| 512 | 22.5 | 12.5 | 1.81 | 13.6 | 1.64 | 13.7 | 1.66 |
| 768 | 23.2 | 13.0 | 1.78 | 14.4 | 1.61 | 14.3 | 1.63 |
| 1000 | 23.4 | 13.2 | 1.75 | 14.8 | 1.59 | 14.5 | 1.62 |
| 1001 | 27.7 | 13.3 | 2.09 | 14.8 | 1.85 | 14.6 | 1.90 |
| 1024 | 22.9 | 12.9 | 1.77 | 14.7 | 1.55 | 14.5 | 1.59 |
| 1536 | 22.9 | 13.1 | 1.75 | 15.1 | 1.51 | 14.8 | 1.54 |
| 2048 | 20.7 | 12.1 | 1.73 | 15.0 | 1.38 | 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.6 | 0.3 | 7.48 | 0.3 | 9.35 | 0.4 | 6.52 |
| 3x3 | 1.8 | 0.6 | 3.23 | 0.5 | 3.54 | 0.7 | 2.44 |
| 4x4 | 2.2 | 0.8 | 2.70 | 0.8 | 2.88 | 1.1 | 2.02 |
| 6x6 | 2.5 | 1.5 | 1.71 | 1.4 | 1.77 | 2.0 | 1.19 |
| 8x8 | 2.5 | 2.2 | 1.13 | 2.2 | 1.16 | 3.0 | 0.87 |
| 12x12 | 3.0 | 3.8 | 0.79 | 3.8 | 0.80 | 4.7 | 0.62 |
| 16x16 | 5.7 | 5.5 | 1.04 | 5.2 | 1.11 | 6.5 | 0.86 |
| 24x24 | 8.0 | 8.2 | 0.98 | 8.2 | 0.98 | 9.3 | 0.87 |
| 32x32 | 11.6 | 13.2 | 0.87 | 12.0 | 0.96 | 14.7 | 0.80 |
| 48x48 | 18.9 | 20.1 | 0.94 | 16.0 | 1.18 | 21.2 | 0.88 |
| 64x64 | 26.0 | 29.4 | 0.88 | 24.2 | 1.07 | 32.5 | 0.81 |
| 96x96 | 42.1 | 44.0 | 0.96 | 37.3 | 1.13 | 46.2 | 0.91 |
| 100x100 | 43.5 | 45.7 | 0.94 | 37.7 | 1.15 | 50.0 | 0.87 |
| 128x128 | 54.4 | 56.7 | 0.96 | 49.1 | 1.10 | 63.1 | 0.87 |
| 192x192 | 79.6 | 72.1 | 1.08 | 65.8 | 1.21 | 79.7 | 1.00 |
| 200x200 | 82.0 | 74.1 | 1.09 | 67.6 | 1.21 | 83.6 | 0.99 |
| 256x256 | 94.1 | 80.6 | 1.16 | 77.5 | 1.21 | 84.8 | 1.12 |
| 257x257 | 97.3 | 80.3 | 1.20 | 80.9 | 1.20 | 99.5 | 0.98 |
| 384x384 | 126.0 | 98.7 | 1.27 | 102.5 | 1.23 | 111.9 | 1.13 |
| 500x500 | 146.7 | 111.6 | 1.31 | 124.2 | 1.18 | 142.6 | 1.04 |
| 512x512 | 142.7 | 107.5 | 1.33 | 118.6 | 1.20 | 127.0 | 1.13 |
| 768x768 | 166.3 | 114.7 | 1.45 | 141.2 | 1.17 | 148.3 | 1.13 |
| 1000x1000 | 180.6 | 116.8 | 1.55 | 158.1 | 1.14 | 176.1 | 1.03 |
| 1001x1001 | 179.6 | 111.3 | 1.61 | 157.9 | 1.14 | 176.3 | 1.03 |
| 1024x1024 | 166.7 | 106.7 | 1.57 | 141.1 | 1.17 | 144.5 | 1.15 |
| 1536x1536 | 182.0 | 112.8 | 1.61 | 160.2 | 1.14 | 172.6 | 1.06 |
| 2048x2048 | 164.2 | 93.6 | 1.75 | 147.3 | 1.11 | 160.2 | 1.03 |
| 4096x64 | 96.9 | 62.8 | 1.54 | 77.4 | 1.25 | 75.9 | 1.28 |
| 4096x256 | 172.9 | 68.6 | 2.53 | 135.5 | 1.28 | 136.5 | 1.26 |
| 4096x1024 | 197.6 | 89.7 | 2.19 | 168.8 | 1.17 | 168.9 | 1.17 |
| 10000x8 | 29.4 | 33.2 | 0.88 | 30.6 | 0.97 | 32.0 | 0.91 |
| 10000x100 | 146.0 | 74.5 | 1.96 | 98.1 | 1.48 | 85.3 | 1.72 |
| 10000x1000 | 231.9 | 109.5 | 2.14 | 215.1 | 1.08 | 215.0 | 1.08 |
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.3 | 0.3 | 6.71 | 0.3 | 8.32 | 0.4 | 5.97 |
| 3x3 | 1.2 | 0.5 | 2.44 | 0.5 | 2.58 | 0.6 | 1.96 |
| 4x4 | 1.5 | 0.7 | 2.07 | 0.7 | 2.20 | 0.9 | 1.61 |
| 6x6 | 1.5 | 1.2 | 1.24 | 1.2 | 1.29 | 1.6 | 0.95 |
| 8x8 | 1.6 | 1.8 | 0.87 | 1.8 | 0.88 | 2.3 | 0.71 |
| 12x12 | 1.9 | 3.0 | 0.63 | 3.0 | 0.63 | 3.5 | 0.55 |
| 16x16 | 4.0 | 4.2 | 0.95 | 4.2 | 0.95 | 4.5 | 0.89 |
| 24x24 | 5.4 | 6.3 | 0.87 | 6.1 | 0.88 | 6.4 | 0.85 |
| 32x32 | 7.8 | 10.4 | 0.75 | 9.5 | 0.81 | 10.5 | 0.74 |
| 48x48 | 12.6 | 15.5 | 0.81 | 12.4 | 1.02 | 13.9 | 0.90 |
| 64x64 | 16.4 | 22.5 | 0.72 | 18.4 | 0.89 | 23.1 | 0.71 |
| 96x96 | 25.4 | 30.1 | 0.85 | 26.8 | 0.95 | 31.8 | 0.80 |
| 100x100 | 26.4 | 30.8 | 0.86 | 26.9 | 0.98 | 34.2 | 0.77 |
| 128x128 | 31.8 | 36.1 | 0.88 | 33.1 | 0.97 | 41.3 | 0.77 |
| 192x192 | 45.8 | 43.4 | 1.06 | 43.9 | 1.04 | 50.9 | 0.89 |
| 200x200 | 47.7 | 44.6 | 1.06 | 46.1 | 1.04 | 55.2 | 0.87 |
| 256x256 | 54.1 | 50.0 | 1.09 | 52.2 | 1.04 | 57.2 | 0.94 |
| 257x257 | 55.8 | 49.3 | 1.13 | 54.3 | 1.03 | 63.7 | 0.88 |
| 384x384 | 69.2 | 57.3 | 1.21 | 65.4 | 1.06 | 69.9 | 0.99 |
| 500x500 | 78.7 | 61.2 | 1.29 | 74.8 | 1.05 | 85.0 | 0.93 |
| 512x512 | 74.2 | 56.2 | 1.32 | 68.2 | 1.08 | 71.2 | 1.04 |
| 768x768 | 83.7 | 59.2 | 1.40 | 80.6 | 1.04 | 85.4 | 0.98 |
| 1000x1000 | 87.3 | 59.2 | 1.48 | 85.3 | 1.02 | 94.1 | 0.93 |
| 1001x1001 | 87.1 | 57.8 | 1.51 | 85.1 | 1.02 | 94.2 | 0.93 |
| 1024x1024 | 77.3 | 52.7 | 1.47 | 78.5 | 0.98 | 81.2 | 0.95 |
| 1536x1536 | 87.5 | 51.9 | 1.69 | 81.4 | 1.07 | 87.3 | 1.00 |
| 2048x2048 | 72.6 | 38.5 | 1.92 | 72.0 | 1.01 | 80.1 | 0.90 |
| 4096x64 | 52.0 | 41.0 | 1.27 | 47.5 | 1.09 | 43.5 | 1.21 |
| 4096x256 | 88.7 | 42.9 | 2.06 | 77.3 | 1.15 | 77.5 | 1.14 |
| 4096x1024 | 92.6 | 46.1 | 2.00 | 92.4 | 1.00 | 92.4 | 1.00 |
| 10000x8 | 13.3 | 24.6 | 0.54 | 24.4 | 0.54 | 23.2 | 0.59 |
| 10000x100 | 70.4 | 44.4 | 1.57 | 56.4 | 1.25 | 44.3 | 1.60 |
| 10000x1000 | 111.2 | 46.8 | 2.39 | 111.4 | 0.99 | 110.6 | 1.01 |
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 | 3.1 | 0.4 | 8.33 | 0.2 | 14.12 | 0.4 | 7.81 |
| 3 | 1.5 | 0.5 | 3.00 | 0.3 | 4.86 | 0.6 | 2.51 |
| 4 | 2.2 | 0.8 | 2.84 | 0.5 | 3.86 | 1.0 | 2.21 |
| 6 | 3.2 | 1.3 | 2.67 | 0.9 | 3.33 | 1.5 | 2.00 |
| 8 | 4.3 | 1.9 | 2.23 | 1.4 | 2.87 | 2.2 | 1.98 |
| 12 | 6.0 | 3.3 | 1.87 | 2.4 | 2.56 | 3.6 | 1.66 |
| 16 | 8.1 | 4.8 | 1.74 | 3.3 | 2.42 | 4.8 | 1.67 |
| 24 | 10.8 | 8.0 | 1.34 | 5.0 | 2.21 | 6.9 | 1.58 |
| 32 | 12.6 | 10.9 | 1.16 | 6.5 | 1.89 | 8.8 | 1.45 |
| 48 | 16.0 | 16.7 | 0.99 | 8.7 | 1.84 | 11.2 | 1.42 |
| 64 | 18.1 | 21.5 | 0.84 | 10.3 | 1.78 | 12.9 | 1.40 |
| 96 | 21.3 | 15.1 | 1.40 | 12.5 | 1.71 | 15.3 | 1.40 |
| 100 | 21.5 | 16.3 | 1.34 | 13.1 | 1.64 | 16.1 | 1.30 |
| 128 | 22.7 | 18.7 | 1.21 | 15.4 | 1.49 | 18.4 | 1.21 |
| 192 | 24.9 | 33.9 | 0.73 | 26.2 | 0.95 | 33.7 | 0.74 |
| 200 | 25.6 | 35.7 | 0.72 | 28.0 | 0.91 | 36.5 | 0.70 |
| 256 | 27.4 | 46.7 | 0.59 | 34.6 | 0.79 | 44.2 | 0.62 |
| 257 | 27.2 | 47.7 | 0.58 | 35.0 | 0.78 | 44.0 | 0.61 |
| 384 | 24.3 | 66.3 | 0.37 | 49.7 | 0.47 | 62.9 | 0.39 |
| 500 | 29.5 | 83.0 | 0.34 | 62.9 | 0.48 | 77.2 | 0.38 |
| 512 | 29.2 | 54.3 | 0.54 | 46.9 | 0.62 | 55.5 | 0.52 |
| 768 | 30.1 | 81.8 | 0.36 | 73.8 | 0.41 | 85.1 | 0.36 |
| 1000 | 29.6 | 106.1 | 0.28 | 99.4 | 0.30 | 113.8 | 0.26 |
| 1001 | 29.9 | 106.6 | 0.29 | 98.4 | 0.30 | 114.0 | 0.26 |
| 1024 | 26.1 | 90.4 | 0.29 | 86.6 | 0.30 | 99.8 | 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.9 | 0.4 | 8.11 | 0.2 | 13.65 | 0.4 | 8.30 |
| 3 | 1.2 | 0.5 | 2.50 | 0.3 | 4.02 | 0.5 | 2.35 |
| 4 | 1.9 | 0.6 | 2.73 | 0.5 | 4.17 | 0.7 | 2.60 |
| 6 | 2.6 | 1.3 | 2.05 | 0.8 | 3.02 | 1.3 | 1.99 |
| 8 | 3.2 | 1.8 | 1.82 | 1.2 | 2.61 | 1.9 | 1.95 |
| 12 | 4.7 | 2.8 | 1.65 | 2.1 | 2.23 | 3.0 | 1.61 |
| 16 | 5.7 | 4.1 | 1.40 | 2.8 | 2.04 | 3.6 | 1.51 |
| 24 | 7.1 | 6.0 | 1.16 | 4.1 | 1.74 | 5.1 | 1.39 |
| 32 | 8.1 | 7.9 | 1.02 | 5.2 | 1.54 | 6.3 | 1.29 |
| 48 | 9.4 | 11.4 | 0.84 | 6.9 | 1.38 | 8.3 | 1.13 |
| 64 | 10.5 | 13.8 | 0.76 | 8.1 | 1.32 | 9.6 | 1.09 |
| 96 | 11.7 | 10.5 | 1.14 | 8.9 | 1.32 | 10.3 | 1.13 |
| 100 | 12.1 | 11.1 | 1.11 | 9.3 | 1.31 | 10.9 | 1.09 |
| 128 | 12.6 | 11.4 | 1.10 | 9.7 | 1.27 | 11.0 | 1.17 |
| 192 | 12.3 | 20.7 | 0.59 | 16.0 | 0.77 | 19.3 | 0.64 |
| 200 | 13.5 | 21.6 | 0.62 | 16.9 | 0.81 | 20.6 | 0.66 |
| 256 | 13.8 | 25.7 | 0.54 | 20.3 | 0.67 | 23.9 | 0.58 |
| 257 | 13.9 | 26.7 | 0.51 | 21.1 | 0.66 | 25.0 | 0.56 |
| 384 | 13.6 | 36.0 | 0.38 | 29.3 | 0.46 | 33.6 | 0.40 |
| 500 | 14.0 | 43.2 | 0.33 | 36.5 | 0.38 | 41.3 | 0.34 |
| 512 | 13.2 | 27.7 | 0.48 | 26.6 | 0.49 | 28.0 | 0.47 |
| 768 | 13.5 | 42.9 | 0.31 | 40.5 | 0.33 | 44.2 | 0.31 |
| 1000 | 13.4 | 54.5 | 0.25 | 53.6 | 0.25 | 57.5 | 0.23 |
| 1001 | 13.4 | 54.8 | 0.25 | 54.3 | 0.25 | 57.8 | 0.23 |
| 1024 | 12.2 | 44.3 | 0.28 | 46.4 | 0.26 | 50.3 | 0.24 |