Eigen vs. BLAS/LAPACK libraries, Apple M4 with NEON (October 2026)
The cells of the Apple M4 SME page measured again on the same machine with Eigen compiled for NEON alone, the default for this platform, against OpenBLAS: what the comparison looks like without the SME unit.
Apple Accelerate and Arm Performance Libraries are not on this page: neither can be held to NEON through documented means. For the comparison with them, see the SME page.
This page was first published with a measurement of 2026-09-20 at Eigen master 46a2d0c56 on
macOS 27.0, and updated on 2026-10-03 to a re-measurement at master 3cf994918 on macOS 27.0.1. It
now shows Eigen and OpenBLAS measured again at master 674e4a4e5, in one session, and adds five
operations: TRMM, SYMM, PSTRF, SYTRF and GELS. Against the 2026-10-03 measurement, on the cells both
share, Eigen’s NEON rates repeat within 6 % (geometric mean per operation and scalar) except GEQRF,
11 to 12 % faster, and GEEV, 53 % (float) and 73 % (double) faster. The earlier versions of the page
and their result files are in the history of the
website repository.
Conditions
| CPU | Apple M4 (Mac mini, Mac16,10), 4 performance and 6 efficiency cores; performance cores: L1d 128 KiB, L2 16 MiB shared by the four; efficiency cores: L1d 64 KiB, L2 4 MiB shared by the six; 24 GiB unified memory; SME2 with a 512-bit streaming vector length and FEAT_SME_F64F64, no non-streaming SVE |
| OS | macOS 27.0.1 (build 26A434), Darwin 27.0.0 |
| Compiler | Apple clang 21.0.0 (clang-2100.3.34.2), -O3 -DNDEBUG for the default arm64 target, no -mcpu, C++17 |
| Eigen | master 674e4a4e5 (5.0.1-dev), default configuration, no external BLAS. The measured tree, 0e7c9e40a, is that master plus the comparison harness; the library code under Eigen/ is master’s. Without -mcpu=apple-m4 the compiler does not define __ARM_FEATURE_SME2, so every Eigen kernel is the NEON code |
| OpenBLAS | 0.3.34 (Homebrew bottle, DYNAMIC_ARCH, OpenMP build), kernel target vortexm4; its LAPACK is the reference LAPACK it bundles |
| Interface | the library is called through the Fortran BLAS and LAPACK symbols (dgemm_, dpotrf_, …) with column-major operands |
| Threads | 1 for every arm: OPENBLAS_NUM_THREADS and OMP_NUM_THREADS 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. macOS has no interface for binding a thread to a core, so the process is not pinned |
| Date | 2026-10-26 00:55 to 08:54 (UTC−7): 51 runs, about 5.7 hours of measurement |
| Harness | benchmarks/comparison/run.py --isa aarch64-neon from Eigen merge request !2903 and the commits that add the five new operations, machine profile apple-m4-mac-mini |
GEMM at n = 1024 ran at 61 GFLOP/s in double and 124 in float in Eigen, against 57 and 114 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. Eigen was measured three times, in three binaries of the same build: the one linked against OpenBLAS, which also measured OpenBLAS, and two linked against Accelerate and Arm Performance Libraries, where only the Eigen cells ran. 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: within 3 % for 92 % of the cells and above 10 % for 1 %. A ratio divides that median by OpenBLAS’s rate from its run.
Each run covered one operation in one binary. A run started only once the machine had been idle
(other processes using less than 0.35 of a core over two 5 s windows, no keyboard or mouse input for
10 minutes) with no thermal or performance warning from pmset, and was discarded and repeated if the
whole machine averaged 1.45 busy cores or more during it, or reached 3.0 in any 5 s window; 5 attempts
were discarded this way. The CI virtual machine on the host was paused for the whole session. These
are the limits of the second half of the SME page’s session,
which describes how they were reached.
The dotted vertical lines on the charts mark the sizes at which the operands of the call, inputs and outputs together, fill a performance core’s L1 data cache (128 KiB) and the L2 cache that the four performance cores share (16 MiB); the M4 has no L3.
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.
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.48 ns per call for Eigen against 12.4 ns for OpenBLAS. Eigen still computes the whole operation on every call; nothing is hoisted out of the timed loop.

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.

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.

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.

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.

TRMM
X.noalias() = A.triangularView<Lower>() * B against ?trmm with the m-by-m lower triangle on the left
and n columns in B, no transposition, non-unit diagonal; (m(m+1)n) flops, TRSM’s count. ?trmm
overwrites B, so the reference arm copies B into the destination and multiplies in place; the Eigen arm
writes the product to the destination, which noalias() zero-fills before accumulating. Each arm makes
the one pass over the destination its interface requires, and neither allocates inside the timed region.
The same shapes as TRSM: square, then the sweeps with a fixed triangle of order 1024 or 4096 and a growing number of columns, then the remaining shapes with 4096 columns against a small triangle.

SYMM
C.noalias() += A.selfadjointView<Lower>() * B against ?symm (?hemm for a complex scalar) with the
m-by-m symmetric matrix stored in its lower triangle, on the left, and n columns in B; (2m^2n) flops,
the count of the general product of the same shape. C accumulates across iterations and is never reset,
as in GEMM.
The same shapes as TRSM.

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.

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.

PSTRF
LDLT<Ref<MatrixXd>> in place against ?pstrf, lower triangle, symmetric positive definite operand;
(n(n-1)(n-2)/3 + 2n(n-1)) flops for both, (n^3/3) to leading order. The two compute different factors of the same pivoted matrix, (P^T A P = L L^T)
for LAPACK and (L D L^T) for Eigen, and pivot on the same entry, the largest diagonal element of the
remaining Schur complement. Both arms copy the operand into a destination allocated once and factorize
the copy, as GETRF does. LDLT::compute also evaluates the operand’s L1 norm for rcond(), which
?pstrf does not. Each result is checked by applying the stored factors to a random vector and
comparing with (Ax).

SYTRF
BunchKaufman<Ref<MatrixXd>> in place against ?sytrf (?hetrf for a complex scalar), lower
triangle, symmetric indefinite operand; (n(n-1)(n-2)/3 + 2n(n-1)) flops for both, (n^3/3) to leading order.
Both arms copy the operand into a destination allocated once and factorize the copy, as GETRF does;
pivot and workspace arrays are set up once per shape. Each result is checked by applying the stored
factors, with the pivot blocks of D, to a random vector and comparing with (Ax).

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.

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.

GELS
Full-rank least squares (\min \lVert AX - B \rVert) through Householder QR with A m-by-n, m ≥ n, and B
m-by-nrhs: HouseholderQR<Ref<MatrixXd>> followed by qr.solve(B) against ?gels (trans = 'N');
(2mn^2 - 2n^3/3) flops for the factorization plus (\text{nrhs},(4mn - n^2)) for applying
(Q^T) and solving with R. ?gels overwrites A and B, so the reference arm copies both into
destinations allocated once. The Eigen arm factorizes a copy of A through the in-place HouseholderQR
and writes qr.solve(B) to a preallocated X; solve() copies B into a temporary it allocates, which is
the cost of the expression a user writes, so it is timed. The solution is checked through the normal
equations on a well-conditioned operand.
Square shapes with one right-hand side, then the tall-skinny sweeps with m fixed at 4096, 10000 and 100000, then right-hand-side sweeps: 16 to 256 columns of B at m = n = 1024 and 16 to 1024 at 4096 by 256.

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.0 s in double.

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.

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.1 s in double.

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 | OpenBLAS | 4.19 | 1.84 | 1.09 | 1.03 | 1.15 |
| AXPY | double | OpenBLAS | 4.16 | 1.37 | 0.73 | 0.93 | 1.04 |
| DOT | float | OpenBLAS | 17.24 | 7.50 | 1.68 | 1.35 | 1.09 |
| DOT | double | OpenBLAS | 17.04 | 3.23 | 1.35 | 1.32 | 1.06 |
| GEMV | float | OpenBLAS | 2.76 | 1.21 | 1.08 | 0.93 | – |
| GEMV | double | OpenBLAS | 4.01 | 2.37 | 1.41 | 0.86 | – |
| GEMM | float | OpenBLAS | 1.78 | 1.00 | 1.09 | 1.09 | – |
| GEMM | double | OpenBLAS | 1.76 | 1.09 | 1.08 | 1.08 | – |
| TRSM | float | OpenBLAS | 3.59 | 4.58 | 1.65 | 1.17 | – |
| TRSM | double | OpenBLAS | 2.28 | 2.20 | 1.21 | 1.08 | – |
| TRMM | float | OpenBLAS | 0.53 | 0.90 | 1.02 | 1.04 | – |
| TRMM | double | OpenBLAS | 0.53 | 0.95 | 0.94 | 1.01 | – |
| SYMM | float | OpenBLAS | 0.85 | 1.11 | 1.11 | 1.09 | – |
| SYMM | double | OpenBLAS | 0.74 | 1.10 | 1.08 | 1.07 | – |
| SYRK | float | OpenBLAS | 0.66 | 1.02 | 1.12 | 1.09 | – |
| SYRK | double | OpenBLAS | 0.53 | 0.95 | 1.07 | 1.06 | – |
| POTRF | float | OpenBLAS | 1.99 | 1.70 | 1.14 | 1.07 | – |
| POTRF | double | OpenBLAS | 2.29 | 1.38 | 1.01 | 1.04 | – |
| PSTRF | float | OpenBLAS | 1.49 | 2.56 | 2.63 | 1.53 | – |
| PSTRF | double | OpenBLAS | 1.59 | 1.79 | 1.41 | 1.18 | – |
| SYTRF | float | OpenBLAS | 1.49 | 2.48 | 3.72 | 1.59 | – |
| SYTRF | double | OpenBLAS | 1.48 | 1.69 | 1.49 | 1.12 | – |
| GETRF | float | OpenBLAS | 1.74 | 2.24 | 1.32 | 1.08 | – |
| GETRF | double | OpenBLAS | 2.21 | 1.69 | 1.05 | 1.02 | – |
| GEQRF | float | OpenBLAS | 1.40 | 1.66 | 1.21 | 1.18 | – |
| GEQRF | double | OpenBLAS | 1.51 | 1.66 | 1.13 | 1.12 | – |
| GELS | float | OpenBLAS | 1.73 | 2.27 | 1.44 | 1.22 | – |
| GELS | double | OpenBLAS | 1.77 | 2.10 | 1.28 | 1.15 | – |
| SYEV | float | OpenBLAS | 1.19 | 1.61 | 2.19 | 2.28 | – |
| SYEV | double | OpenBLAS | 1.17 | 1.37 | 1.39 | 1.36 | – |
| GESDD | float | OpenBLAS | 1.56 | 1.01 | 1.71 | 1.79 | – |
| GESDD | double | OpenBLAS | 1.47 | 0.85 | 1.18 | 1.10 | – |
| GEEV | float | OpenBLAS | 2.69 | 1.73 | 0.52 | – | – |
| GEEV | double | OpenBLAS | 2.61 | 1.57 | 0.59 | – | – |
Observations
- Level with OpenBLAS’s NEON kernels on the large products. GEMM, SYMM, SYRK, TRMM and TRSM are 0.9 to 1.2 times OpenBLAS in double from n = 192, and POTRF and GETRF 1.0 to 1.05 above n = 192. The vector operations lead at the small end (DOT 17 times at n ≤ 16, where OpenBLAS’s call cost dominates) and trail slightly in the middle: AXPY 0.73 for n = 192 to 1024, GEMV 0.86 above n = 1536.
- The new factorizations are ahead of OpenBLAS’s reference-LAPACK code at every band above n = 24: PSTRF 1.2 to 1.8, SYTRF 1.1 to 1.7 and GELS 1.15 to 2.1 in double.
- Small triangles. TRMM, SYMM and SYRK are 0.5 to 0.7 times OpenBLAS at n ≤ 16.
- GEEV trails OpenBLAS at n = 192 to 1024 (0.59 in double); it leads at the small end.
Caveats
- macOS cannot bind a thread to a core, so a single-threaded rate is that of whichever core the scheduler chose; a busy foreground thread normally stays on a performance core.
- The machine is a desktop with logged-in sessions and their background services. Runs that they disturbed beyond the limits above were repeated; smaller disturbances remain in the numbers.
- Eigen is built here without SME, the default for this platform, so every kernel is NEON. OpenBLAS’s
vortexm4kernels are NEON as well. - PSTRF compares two algorithms that pivot on the same entry but produce different factors, (L L^T) and (L D L^T), and charges both the same flop count.
Full tables
GFLOP/s per shape and library, with the Eigen ÷ library ratio. The Eigen column is the median over its three passes; each ratio is formed within the library’s own binary and run.
AXPY float
| n | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2 | 4.9 | 1.3 | 3.63 |
| 3 | 5.6 | 1.9 | 2.96 |
| 4 | 12.1 | 1.9 | 6.46 |
| 6 | 11.3 | 2.4 | 4.80 |
| 8 | 20.9 | 4.7 | 4.44 |
| 12 | 24.2 | 4.9 | 4.91 |
| 16 | 25.9 | 8.2 | 3.14 |
| 24 | 27.7 | 10.8 | 2.55 |
| 32 | 18.4 | 13.2 | 1.39 |
| 48 | 19.5 | 13.0 | 1.51 |
| 64 | 22.6 | 9.2 | 2.90 |
| 96 | 27.2 | 15.9 | 1.70 |
| 100 | 27.2 | 15.6 | 1.75 |
| 128 | 28.0 | 18.1 | 1.54 |
| 192 | 29.3 | 21.2 | 1.38 |
| 256 | 30.0 | 23.1 | 1.26 |
| 384 | 26.6 | 25.2 | 1.05 |
| 512 | 27.6 | 26.5 | 1.04 |
| 768 | 28.1 | 28.0 | 1.00 |
| 1000 | 28.8 | 28.1 | 1.02 |
| 1001 | 28.7 | 28.4 | 1.01 |
| 1024 | 28.9 | 28.3 | 1.02 |
| 1536 | 30.0 | 29.3 | 1.02 |
| 2048 | 30.5 | 29.8 | 1.02 |
| 3072 | 31.1 | 30.3 | 1.03 |
| 4096 | 31.4 | 30.6 | 1.03 |
| 6144 | 31.7 | 30.9 | 1.03 |
| 8192 | 31.9 | 31.0 | 1.03 |
| 10000 | 31.9 | 31.0 | 1.03 |
| 12288 | 32.0 | 30.9 | 1.03 |
| 16384 | 32.0 | 29.3 | 1.09 |
| 32768 | 23.6 | 19.6 | 1.21 |
| 65536 | 23.8 | 19.1 | 1.25 |
| 100000 | 23.8 | 19.8 | 1.20 |
| 131072 | 23.8 | 19.6 | 1.21 |
| 262144 | 23.8 | 19.7 | 1.21 |
| 524288 | 23.7 | 19.8 | 1.20 |
| 1000000 | 20.8 | 16.9 | 1.23 |
| 1048576 | 23.6 | 19.2 | 1.23 |
| 2097152 | 23.5 | 19.8 | 1.18 |
| 4194304 | 18.4 | 19.9 | 0.96 |
| 8388608 | 18.3 | 18.2 | 1.01 |
| 16777216 | 16.6 | 16.8 | 0.99 |
AXPY double
| n | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2 | 6.1 | 1.3 | 4.54 |
| 3 | 7.8 | 1.9 | 4.21 |
| 4 | 10.8 | 1.9 | 5.77 |
| 6 | 12.1 | 2.2 | 5.41 |
| 8 | 12.9 | 2.8 | 4.61 |
| 12 | 13.9 | 3.7 | 3.78 |
| 16 | 9.2 | 4.4 | 2.07 |
| 24 | 9.9 | 4.6 | 2.16 |
| 32 | 11.5 | 8.7 | 1.52 |
| 48 | 13.6 | 9.4 | 1.44 |
| 64 | 14.0 | 9.0 | 1.56 |
| 96 | 14.6 | 13.3 | 1.10 |
| 100 | 14.7 | 13.1 | 1.13 |
| 128 | 15.0 | 14.8 | 1.01 |
| 192 | 15.4 | 16.6 | 0.80 |
| 256 | 13.8 | 17.7 | 0.78 |
| 384 | 14.0 | 19.1 | 0.73 |
| 512 | 14.4 | 20.0 | 0.72 |
| 768 | 14.9 | 21.0 | 0.71 |
| 1000 | 15.2 | 21.4 | 0.71 |
| 1001 | 15.2 | 21.5 | 0.71 |
| 1024 | 15.2 | 21.5 | 0.71 |
| 1536 | 15.5 | 22.1 | 0.70 |
| 2048 | 15.7 | 22.4 | 0.70 |
| 3072 | 15.8 | 18.6 | 0.85 |
| 4096 | 15.9 | 12.9 | 1.23 |
| 6144 | 16.0 | 18.8 | 0.85 |
| 8192 | 16.0 | 18.1 | 0.89 |
| 10000 | 13.1 | 11.3 | 1.16 |
| 12288 | 12.1 | 11.1 | 1.09 |
| 16384 | 11.8 | 11.1 | 1.06 |
| 32768 | 11.9 | 11.1 | 1.07 |
| 65536 | 11.9 | 11.2 | 1.07 |
| 100000 | 11.9 | 11.1 | 1.07 |
| 131072 | 11.9 | 11.2 | 1.07 |
| 262144 | 11.9 | 11.2 | 1.06 |
| 524288 | 11.8 | 10.8 | 1.09 |
| 1000000 | 11.8 | 11.1 | 1.06 |
| 1048576 | 11.7 | 11.1 | 1.06 |
| 2097152 | 9.2 | 9.4 | 0.99 |
| 4194304 | 9.2 | 9.0 | 1.02 |
| 8388608 | 8.3 | 8.4 | 0.98 |
| 16777216 | 7.9 | 8.0 | 1.00 |
DOT float
| n | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2 | 6.4 | 0.3 | 20.38 |
| 3 | 8.1 | 0.5 | 17.09 |
| 4 | 11.2 | 0.6 | 18.17 |
| 6 | 12.2 | 0.9 | 13.69 |
| 8 | 21.8 | 1.1 | 19.18 |
| 12 | 32.3 | 1.6 | 20.17 |
| 16 | 26.1 | 1.9 | 13.53 |
| 24 | 38.8 | 2.6 | 15.07 |
| 32 | 45.3 | 3.1 | 14.60 |
| 48 | 46.5 | 3.4 | 13.56 |
| 64 | 46.8 | 9.3 | 5.03 |
| 96 | 45.9 | 8.5 | 5.37 |
| 100 | 45.8 | 8.1 | 5.67 |
| 128 | 46.6 | 15.9 | 2.93 |
| 192 | 46.7 | 19.5 | 2.40 |
| 256 | 46.7 | 23.4 | 1.99 |
| 384 | 46.7 | 27.5 | 1.70 |
| 512 | 46.6 | 29.9 | 1.56 |
| 768 | 46.1 | 32.3 | 1.43 |
| 1000 | 44.8 | 28.0 | 1.60 |
| 1001 | 44.4 | 27.7 | 1.60 |
| 1024 | 45.0 | 33.6 | 1.34 |
| 1536 | 43.2 | 35.1 | 1.23 |
| 2048 | 41.7 | 14.7 | 2.85 |
| 3072 | 39.8 | 36.5 | 1.09 |
| 4096 | 38.8 | 21.0 | 1.85 |
| 6144 | 37.8 | 24.5 | 1.55 |
| 8192 | 37.4 | 26.4 | 1.42 |
| 10000 | 36.9 | 36.9 | 1.00 |
| 12288 | 36.9 | 37.6 | 0.98 |
| 16384 | 36.5 | 36.5 | 0.99 |
| 32768 | 30.4 | 25.6 | 1.18 |
| 65536 | 30.5 | 26.4 | 1.15 |
| 100000 | 30.4 | 27.3 | 1.11 |
| 131072 | 30.5 | 27.0 | 1.13 |
| 262144 | 30.5 | 27.2 | 1.10 |
| 524288 | 29.5 | 27.2 | 1.09 |
| 1000000 | 26.5 | 23.9 | 1.11 |
| 1048576 | 29.7 | 27.2 | 1.09 |
| 2097152 | 29.0 | 26.7 | 1.04 |
| 4194304 | 19.2 | 24.1 | 0.98 |
| 8388608 | 19.1 | 18.5 | 1.03 |
| 16777216 | 18.7 | 18.3 | 1.02 |
DOT double
| n | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2 | 8.2 | 0.3 | 25.91 |
| 3 | 9.7 | 0.5 | 20.65 |
| 4 | 13.0 | 0.6 | 20.73 |
| 6 | 16.2 | 0.9 | 18.02 |
| 8 | 16.2 | 1.1 | 14.28 |
| 12 | 19.4 | 1.5 | 12.51 |
| 16 | 23.6 | 2.0 | 11.68 |
| 24 | 23.2 | 2.6 | 5.48 |
| 32 | 23.4 | 4.7 | 4.98 |
| 48 | 22.9 | 5.4 | 4.23 |
| 64 | 23.3 | 7.7 | 3.01 |
| 96 | 23.4 | 10.1 | 2.32 |
| 100 | 23.2 | 10.2 | 2.28 |
| 128 | 23.4 | 11.7 | 1.99 |
| 192 | 23.4 | 13.9 | 1.68 |
| 256 | 23.3 | 14.8 | 1.57 |
| 384 | 23.1 | 16.0 | 1.44 |
| 512 | 22.7 | 16.7 | 1.36 |
| 768 | 21.7 | 17.4 | 1.25 |
| 1000 | 20.9 | 17.5 | 1.19 |
| 1001 | 20.9 | 17.5 | 1.20 |
| 1024 | 20.9 | 17.8 | 1.18 |
| 1536 | 19.9 | 18.1 | 1.10 |
| 2048 | 19.4 | 7.1 | 2.75 |
| 3072 | 18.9 | 18.6 | 1.02 |
| 4096 | 18.7 | 10.3 | 1.82 |
| 6144 | 18.4 | 15.2 | 1.22 |
| 8192 | 18.3 | 15.6 | 1.18 |
| 10000 | 16.2 | 15.2 | 1.06 |
| 12288 | 15.3 | 12.8 | 1.18 |
| 16384 | 15.2 | 12.8 | 1.18 |
| 32768 | 15.3 | 13.2 | 1.15 |
| 65536 | 15.2 | 13.5 | 1.13 |
| 100000 | 15.2 | 13.7 | 1.11 |
| 131072 | 15.2 | 13.6 | 1.10 |
| 262144 | 14.8 | 13.6 | 1.09 |
| 524288 | 14.9 | 13.6 | 1.10 |
| 1000000 | 14.5 | 13.3 | 1.08 |
| 1048576 | 14.5 | 13.2 | 1.10 |
| 2097152 | 9.4 | 11.3 | 0.86 |
| 4194304 | 9.5 | 9.2 | 1.02 |
| 8388608 | 9.2 | 9.1 | 1.01 |
| 16777216 | 9.1 | 9.1 | 1.00 |
GEMV float
| m×n | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2x2 | 1.5 | 0.4 | 3.30 |
| 3x3 | 2.7 | 1.0 | 2.67 |
| 4x4 | 5.5 | 1.8 | 3.13 |
| 6x6 | 10.0 | 3.7 | 2.76 |
| 8x8 | 17.7 | 6.1 | 2.96 |
| 12x12 | 29.8 | 11.7 | 2.57 |
| 16x16 | 40.4 | 19.0 | 2.13 |
| 24x24 | 49.5 | 28.4 | 1.74 |
| 32x32 | 66.2 | 37.7 | 1.76 |
| 48x48 | 58.0 | 50.6 | 1.15 |
| 64x64 | 74.3 | 58.7 | 1.26 |
| 96x96 | 73.6 | 69.1 | 1.04 |
| 100x100 | 58.2 | 69.2 | 0.82 |
| 128x128 | 71.5 | 69.3 | 1.03 |
| 192x192 | 59.6 | 46.3 | 1.30 |
| 200x200 | 57.4 | 47.7 | 1.20 |
| 256x256 | 47.3 | 46.0 | 1.03 |
| 257x257 | 41.1 | 40.9 | 1.01 |
| 384x384 | 44.4 | 46.1 | 0.97 |
| 500x500 | 51.1 | 45.9 | 1.11 |
| 512x512 | 48.3 | 46.4 | 1.04 |
| 768x768 | 47.8 | 47.0 | 1.02 |
| 1000x1000 | 50.1 | 47.4 | 1.05 |
| 1001x1001 | 46.5 | 43.9 | 1.06 |
| 1024x1024 | 48.8 | 44.0 | 1.11 |
| 1536x1536 | 48.4 | 44.7 | 1.08 |
| 2048x2048 | 42.3 | 41.8 | 1.01 |
| 3072x3072 | 28.1 | 25.3 | 1.10 |
| 4096x4096 | 24.8 | 28.4 | 0.89 |
| 4097x4097 | 17.4 | 26.0 | 0.67 |
| 8x10000 | 37.6 | 10.8 | 3.48 |
| 100x10000 | 43.6 | 50.3 | 0.87 |
| 1000x10000 | 21.6 | 27.4 | 0.79 |
| 4000x10000 | 25.5 | 23.4 | 1.09 |
| 10000x8 | 48.5 | 42.4 | 1.12 |
| 10000x100 | 43.8 | 41.8 | 1.05 |
| 10000x1000 | 34.9 | 32.7 | 1.06 |
| 10000x4000 | 30.8 | 28.1 | 1.10 |
GEMV double
| m×n | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2x2 | 1.9 | 0.4 | 4.44 |
| 3x3 | 3.0 | 0.9 | 3.48 |
| 4x4 | 5.6 | 1.5 | 3.74 |
| 6x6 | 11.6 | 2.2 | 5.19 |
| 8x8 | 17.5 | 4.2 | 4.18 |
| 12x12 | 21.3 | 6.0 | 3.56 |
| 16x16 | 28.7 | 7.6 | 3.77 |
| 24x24 | 31.1 | 9.7 | 3.19 |
| 32x32 | 35.6 | 12.5 | 2.85 |
| 48x48 | 37.5 | 17.1 | 2.20 |
| 64x64 | 36.6 | 12.8 | 2.85 |
| 96x96 | 35.3 | 18.0 | 1.97 |
| 100x100 | 31.5 | 18.1 | 1.77 |
| 128x128 | 35.5 | 16.5 | 2.14 |
| 192x192 | 21.8 | 16.6 | 1.31 |
| 200x200 | 22.7 | 17.1 | 1.31 |
| 256x256 | 23.9 | 16.5 | 1.45 |
| 257x257 | 23.0 | 16.0 | 1.44 |
| 384x384 | 23.3 | 16.7 | 1.38 |
| 500x500 | 24.7 | 16.9 | 1.46 |
| 512x512 | 24.1 | 17.1 | 1.41 |
| 768x768 | 24.0 | 16.7 | 1.44 |
| 1000x1000 | 25.1 | 16.9 | 1.47 |
| 1001x1001 | 24.3 | 16.1 | 1.50 |
| 1024x1024 | 22.5 | 16.8 | 1.35 |
| 1536x1536 | 21.6 | 16.6 | 1.30 |
| 2048x2048 | 13.6 | 16.5 | 0.82 |
| 3072x3072 | 14.7 | 16.3 | 0.90 |
| 4096x4096 | 11.9 | 16.2 | 0.74 |
| 4097x4097 | 10.1 | 15.7 | 0.64 |
| 8x10000 | 23.0 | 4.3 | 5.29 |
| 100x10000 | 20.5 | 16.5 | 1.24 |
| 1000x10000 | 10.8 | 16.3 | 0.67 |
| 4000x10000 | 14.3 | 16.1 | 0.89 |
| 10000x8 | 24.4 | 11.4 | 2.14 |
| 10000x100 | 20.7 | 11.3 | 1.81 |
| 10000x1000 | 17.0 | 11.0 | 1.54 |
| 10000x4000 | 16.0 | 11.0 | 1.45 |
GEMM float
| m×n×k | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2x2x2 | 2.4 | 0.5 | 4.59 |
| 3x3x3 | 4.2 | 1.5 | 2.54 |
| 4x4x4 | 14.5 | 4.0 | 3.68 |
| 6x6x6 | 11.8 | 9.0 | 1.27 |
| 8x8x8 | 23.7 | 21.3 | 1.11 |
| 12x12x12 | 47.4 | 43.6 | 1.09 |
| 16x16x16 | 58.4 | 68.2 | 0.86 |
| 24x24x24 | 80.9 | 79.7 | 1.02 |
| 32x32x32 | 92.6 | 96.9 | 0.96 |
| 48x48x48 | 102.7 | 104.8 | 0.98 |
| 64x64x64 | 105.1 | 106.6 | 0.99 |
| 96x96x96 | 109.9 | 109.1 | 1.01 |
| 100x100x100 | 106.4 | 101.5 | 1.05 |
| 128x128x128 | 111.2 | 109.7 | 1.01 |
| 160x160x160 | 111.9 | 109.8 | 1.02 |
| 192x192x192 | 117.1 | 92.6 | 1.26 |
| 200x200x200 | 116.6 | 108.0 | 1.08 |
| 224x224x224 | 117.5 | 111.1 | 1.06 |
| 256x256x256 | 116.8 | 110.9 | 1.05 |
| 257x257x257 | 112.8 | 104.5 | 1.08 |
| 288x288x288 | 119.9 | 112.0 | 1.07 |
| 320x320x320 | 120.3 | 112.1 | 1.07 |
| 384x384x384 | 121.1 | 107.4 | 1.13 |
| 448x448x448 | 121.1 | 113.0 | 1.07 |
| 500x500x500 | 122.0 | 111.4 | 1.09 |
| 512x512x512 | 122.3 | 113.2 | 1.08 |
| 768x768x768 | 123.6 | 113.6 | 1.09 |
| 1000x1000x1000 | 123.8 | 113.1 | 1.09 |
| 1001x1001x1001 | 122.4 | 111.4 | 1.10 |
| 1024x1024x1024 | 123.8 | 113.7 | 1.09 |
| 1536x1536x1536 | 124.2 | 113.9 | 1.09 |
| 2048x2048x2048 | 123.9 | 113.5 | 1.09 |
| 3072x3072x3072 | 124.6 | 113.5 | 1.10 |
| 4096x4096x4096 | 124.4 | 113.9 | 1.09 |
| 4097x4097x4097 | 124.0 | 113.1 | 1.10 |
| 64x64x1024 | 101.6 | 100.5 | 1.01 |
| 64x1024x64 | 102.4 | 109.6 | 0.93 |
| 256x256x1024 | 118.6 | 110.4 | 1.07 |
| 1024x64x64 | 102.7 | 107.2 | 0.96 |
| 1024x256x256 | 118.9 | 112.5 | 1.06 |
| 4096x96x96 | 109.2 | 109.5 | 1.00 |
| 4096x128x128 | 113.2 | 110.4 | 1.02 |
| 4096x144x144 | 114.7 | 111.3 | 1.03 |
| 4096x160x160 | 115.8 | 111.7 | 1.04 |
| 4096x176x176 | 116.6 | 112.0 | 1.04 |
| 8192x128x128 | 113.4 | 110.6 | 1.02 |
| 10000x8x8 | 70.0 | 73.6 | 0.95 |
| 10000x100x100 | 112.8 | 111.1 | 1.01 |
| 10000x1000x1000 | 124.1 | 113.3 | 1.09 |
| 10000x4000x4000 | 124.9 | 113.8 | 1.10 |
GEMM double
| m×n×k | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2x2x2 | 5.0 | 0.6 | 8.20 |
| 3x3x3 | 5.1 | 1.8 | 2.93 |
| 4x4x4 | 9.9 | 4.3 | 2.31 |
| 6x6x6 | 12.0 | 9.4 | 1.28 |
| 8x8x8 | 16.8 | 18.0 | 0.93 |
| 12x12x12 | 27.2 | 31.4 | 0.87 |
| 16x16x16 | 35.0 | 38.9 | 0.90 |
| 24x24x24 | 42.2 | 46.6 | 0.91 |
| 32x32x32 | 45.6 | 49.8 | 0.92 |
| 48x48x48 | 51.4 | 52.1 | 0.99 |
| 64x64x64 | 52.4 | 29.7 | 1.77 |
| 96x96x96 | 53.1 | 53.2 | 0.99 |
| 100x100x100 | 52.8 | 52.6 | 1.00 |
| 128x128x128 | 55.0 | 44.1 | 1.25 |
| 160x160x160 | 56.9 | 54.6 | 1.04 |
| 192x192x192 | 58.3 | 49.9 | 1.17 |
| 200x200x200 | 58.0 | 55.2 | 1.05 |
| 224x224x224 | 58.5 | 55.4 | 1.05 |
| 256x256x256 | 58.9 | 52.6 | 1.12 |
| 257x257x257 | 57.9 | 53.7 | 1.08 |
| 288x288x288 | 59.8 | 55.9 | 1.07 |
| 320x320x320 | 59.5 | 56.1 | 1.06 |
| 384x384x384 | 60.3 | 53.5 | 1.13 |
| 448x448x448 | 60.6 | 56.5 | 1.07 |
| 500x500x500 | 60.7 | 56.4 | 1.08 |
| 512x512x512 | 60.5 | 56.4 | 1.07 |
| 768x768x768 | 61.6 | 56.9 | 1.08 |
| 1000x1000x1000 | 61.5 | 56.9 | 1.08 |
| 1001x1001x1001 | 61.2 | 56.3 | 1.09 |
| 1024x1024x1024 | 61.3 | 56.9 | 1.08 |
| 1536x1536x1536 | 61.5 | 56.8 | 1.08 |
| 2048x2048x2048 | 61.4 | 56.9 | 1.08 |
| 3072x3072x3072 | 61.7 | 56.7 | 1.09 |
| 4096x4096x4096 | 61.8 | 57.1 | 1.08 |
| 4097x4097x4097 | 61.8 | 56.7 | 1.09 |
| 64x64x1024 | 53.1 | 49.8 | 1.07 |
| 64x1024x64 | 52.5 | 54.5 | 0.96 |
| 256x256x1024 | 59.9 | 55.5 | 1.08 |
| 1024x64x64 | 51.1 | 53.3 | 0.96 |
| 1024x256x256 | 59.4 | 56.2 | 1.06 |
| 4096x96x96 | 54.6 | 54.5 | 1.00 |
| 4096x128x128 | 56.4 | 55.0 | 1.02 |
| 4096x144x144 | 57.0 | 55.5 | 1.03 |
| 4096x160x160 | 57.5 | 55.7 | 1.03 |
| 4096x176x176 | 58.0 | 55.8 | 1.04 |
| 8192x128x128 | 56.4 | 55.0 | 1.02 |
| 10000x8x8 | 34.6 | 36.0 | 0.96 |
| 10000x100x100 | 56.2 | 55.4 | 1.01 |
| 10000x1000x1000 | 61.5 | 56.5 | 1.09 |
| 10000x4000x4000 | 62.1 | 56.8 | 1.09 |
TRSM float
| m×n | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2x2 | 0.5 | 0.4 | 1.11 |
| 3x3 | 1.1 | 0.7 | 1.57 |
| 4x4 | 6.2 | 1.1 | 5.90 |
| 6x6 | 6.9 | 2.2 | 3.21 |
| 8x8 | 20.4 | 3.6 | 5.63 |
| 12x12 | 28.5 | 5.7 | 5.03 |
| 16x16 | 46.5 | 5.6 | 8.30 |
| 24x24 | 56.7 | 9.1 | 6.27 |
| 32x32 | 67.5 | 10.7 | 6.29 |
| 48x48 | 77.9 | 15.7 | 4.98 |
| 64x64 | 84.9 | 12.6 | 6.71 |
| 96x96 | 93.3 | 27.5 | 3.38 |
| 100x100 | 91.1 | 27.2 | 3.35 |
| 128x128 | 95.8 | 33.6 | 2.85 |
| 192x192 | 94.8 | 40.3 | 2.35 |
| 200x200 | 93.5 | 44.5 | 2.10 |
| 256x256 | 99.7 | 51.6 | 1.93 |
| 257x257 | 94.6 | 49.4 | 1.91 |
| 384x384 | 104.9 | 60.6 | 1.73 |
| 500x500 | 108.7 | 68.8 | 1.58 |
| 512x512 | 109.3 | 71.0 | 1.54 |
| 768x768 | 113.0 | 80.9 | 1.40 |
| 1000x1000 | 115.5 | 86.3 | 1.34 |
| 1001x1001 | 113.4 | 84.3 | 1.34 |
| 1024x1024 | 115.0 | 87.2 | 1.32 |
| 1536x1536 | 117.1 | 94.5 | 1.24 |
| 2048x2048 | 117.4 | 98.2 | 1.19 |
| 3072x3072 | 119.7 | 102.3 | 1.17 |
| 4096x4096 | 119.8 | 105.4 | 1.14 |
| 4097x4097 | 118.8 | 104.3 | 1.14 |
| 64x4096 | 82.3 | 20.2 | 4.06 |
| 256x4096 | 100.4 | 52.6 | 1.90 |
| 1024x8 | 65.2 | 38.2 | 1.70 |
| 1024x64 | 105.8 | 76.1 | 1.39 |
| 1024x256 | 113.1 | 85.0 | 1.33 |
| 1024x4096 | 114.6 | 87.2 | 1.31 |
| 4096x8 | 42.1 | 41.7 | 1.01 |
| 4096x64 | 98.9 | 88.0 | 1.12 |
| 4096x256 | 114.4 | 100.9 | 1.13 |
| 4096x1024 | 119.0 | 104.6 | 1.14 |
TRSM double
| m×n | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2x2 | 0.5 | 0.5 | 0.99 |
| 3x3 | 1.2 | 0.9 | 1.24 |
| 4x4 | 4.8 | 1.7 | 2.91 |
| 6x6 | 6.8 | 2.8 | 2.41 |
| 8x8 | 14.8 | 3.9 | 3.79 |
| 12x12 | 20.6 | 6.3 | 3.26 |
| 16x16 | 24.9 | 7.9 | 3.07 |
| 24x24 | 30.4 | 10.9 | 2.80 |
| 32x32 | 34.2 | 13.3 | 2.57 |
| 48x48 | 39.3 | 18.0 | 2.18 |
| 64x64 | 42.7 | 14.0 | 3.02 |
| 96x96 | 45.0 | 26.8 | 1.67 |
| 100x100 | 45.2 | 26.3 | 1.71 |
| 128x128 | 47.5 | 25.8 | 1.83 |
| 192x192 | 47.8 | 32.7 | 1.46 |
| 200x200 | 48.0 | 36.7 | 1.31 |
| 256x256 | 49.9 | 37.2 | 1.34 |
| 257x257 | 47.5 | 38.5 | 1.24 |
| 384x384 | 53.4 | 44.2 | 1.21 |
| 500x500 | 54.7 | 46.1 | 1.18 |
| 512x512 | 53.9 | 46.8 | 1.15 |
| 768x768 | 56.2 | 49.8 | 1.13 |
| 1000x1000 | 57.7 | 51.4 | 1.12 |
| 1001x1001 | 57.0 | 50.7 | 1.13 |
| 1024x1024 | 56.8 | 51.4 | 1.11 |
| 1536x1536 | 58.3 | 52.6 | 1.11 |
| 2048x2048 | 58.2 | 53.6 | 1.08 |
| 3072x3072 | 58.7 | 54.4 | 1.08 |
| 4096x4096 | 59.6 | 55.3 | 1.08 |
| 4097x4097 | 58.9 | 54.9 | 1.07 |
| 64x4096 | 41.2 | 21.4 | 1.92 |
| 256x4096 | 50.3 | 40.1 | 1.25 |
| 1024x8 | 31.9 | 31.6 | 1.00 |
| 1024x64 | 52.2 | 47.8 | 1.09 |
| 1024x256 | 56.1 | 50.8 | 1.11 |
| 1024x4096 | 56.5 | 50.9 | 1.11 |
| 4096x8 | 25.2 | 25.3 | 1.00 |
| 4096x64 | 51.0 | 48.3 | 1.06 |
| 4096x256 | 57.6 | 53.4 | 1.08 |
| 4096x1024 | 59.2 | 54.9 | 1.08 |
TRMM float
| m×n | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2x2 | 0.3 | 0.5 | 0.46 |
| 3x3 | 0.6 | 1.4 | 0.42 |
| 4x4 | 1.5 | 3.1 | 0.48 |
| 6x6 | 3.1 | 5.8 | 0.54 |
| 8x8 | 7.0 | 11.3 | 0.62 |
| 12x12 | 14.6 | 25.2 | 0.58 |
| 16x16 | 19.8 | 29.4 | 0.67 |
| 24x24 | 33.0 | 41.7 | 0.78 |
| 32x32 | 44.3 | 50.1 | 0.88 |
| 48x48 | 56.2 | 63.1 | 0.88 |
| 64x64 | 64.8 | 69.1 | 0.93 |
| 96x96 | 73.8 | 78.2 | 0.94 |
| 100x100 | 74.1 | 73.3 | 1.01 |
| 128x128 | 77.4 | 83.1 | 0.93 |
| 192x192 | 85.0 | 70.2 | 1.21 |
| 200x200 | 85.7 | 88.9 | 0.96 |
| 256x256 | 88.7 | 96.4 | 0.92 |
| 257x257 | 84.9 | 90.8 | 0.93 |
| 384x384 | 94.0 | 93.3 | 1.01 |
| 500x500 | 102.9 | 100.7 | 1.02 |
| 512x512 | 103.8 | 96.1 | 1.08 |
| 768x768 | 106.7 | 107.1 | 1.00 |
| 1000x1000 | 111.1 | 107.7 | 1.03 |
| 1001x1001 | 110.3 | 104.8 | 1.05 |
| 1024x1024 | 111.0 | 109.3 | 1.01 |
| 1536x1536 | 113.5 | 110.7 | 1.02 |
| 2048x2048 | 114.9 | 110.7 | 1.04 |
| 3072x3072 | 117.1 | 111.4 | 1.05 |
| 4096x4096 | 116.8 | 112.3 | 1.04 |
| 4097x4097 | 116.5 | 111.0 | 1.05 |
| 64x4096 | 66.5 | 70.1 | 0.94 |
| 256x4096 | 90.7 | 99.4 | 0.91 |
| 1024x8 | 62.3 | 49.2 | 1.27 |
| 1024x64 | 101.1 | 95.8 | 1.05 |
| 1024x256 | 108.6 | 106.3 | 1.02 |
| 1024x4096 | 108.4 | 109.1 | 0.99 |
| 4096x8 | 46.1 | 45.5 | 1.02 |
| 4096x64 | 98.4 | 94.1 | 1.04 |
| 4096x256 | 112.0 | 107.5 | 1.04 |
| 4096x1024 | 116.1 | 111.4 | 1.04 |
TRMM double
| m×n | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2x2 | 0.3 | 0.6 | 0.45 |
| 3x3 | 0.6 | 1.4 | 0.45 |
| 4x4 | 1.5 | 3.1 | 0.47 |
| 6x6 | 3.3 | 6.1 | 0.54 |
| 8x8 | 5.7 | 10.2 | 0.56 |
| 12x12 | 10.4 | 16.9 | 0.62 |
| 16x16 | 14.5 | 21.7 | 0.67 |
| 24x24 | 21.1 | 27.9 | 0.76 |
| 32x32 | 25.4 | 32.4 | 0.78 |
| 48x48 | 31.1 | 37.7 | 0.82 |
| 64x64 | 33.8 | 18.1 | 1.86 |
| 96x96 | 35.5 | 42.7 | 0.83 |
| 100x100 | 36.1 | 42.1 | 0.86 |
| 128x128 | 37.7 | 33.8 | 1.11 |
| 192x192 | 41.1 | 41.2 | 1.00 |
| 200x200 | 41.7 | 48.4 | 0.86 |
| 256x256 | 42.5 | 45.5 | 0.93 |
| 257x257 | 41.2 | 48.1 | 0.86 |
| 384x384 | 49.1 | 52.2 | 0.94 |
| 500x500 | 50.2 | 52.7 | 0.95 |
| 512x512 | 50.1 | 53.4 | 0.94 |
| 768x768 | 53.5 | 54.8 | 0.98 |
| 1000x1000 | 54.8 | 55.2 | 0.99 |
| 1001x1001 | 54.4 | 54.8 | 0.99 |
| 1024x1024 | 53.0 | 55.3 | 0.96 |
| 1536x1536 | 56.0 | 55.4 | 1.01 |
| 2048x2048 | 54.7 | 55.8 | 0.98 |
| 3072x3072 | 56.2 | 56.0 | 1.00 |
| 4096x4096 | 57.2 | 56.5 | 1.01 |
| 4097x4097 | 57.6 | 55.8 | 1.03 |
| 64x4096 | 35.3 | 41.4 | 0.85 |
| 256x4096 | 40.7 | 50.9 | 0.80 |
| 1024x8 | 30.7 | 31.2 | 0.98 |
| 1024x64 | 49.7 | 50.7 | 0.98 |
| 1024x256 | 52.6 | 54.4 | 0.97 |
| 1024x4096 | 51.2 | 54.7 | 0.93 |
| 4096x8 | 25.0 | 24.6 | 1.02 |
| 4096x64 | 49.6 | 48.7 | 1.02 |
| 4096x256 | 55.8 | 54.5 | 1.02 |
| 4096x1024 | 57.3 | 56.0 | 1.02 |
SYMM float
| m×n | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2x2 | 0.6 | 0.8 | 0.70 |
| 3x3 | 1.2 | 2.2 | 0.53 |
| 4x4 | 3.7 | 1.7 | 2.19 |
| 6x6 | 6.3 | 10.5 | 0.61 |
| 8x8 | 18.2 | 21.7 | 0.84 |
| 12x12 | 34.1 | 37.9 | 0.89 |
| 16x16 | 44.8 | 54.0 | 0.82 |
| 24x24 | 65.6 | 64.5 | 1.01 |
| 32x32 | 79.2 | 78.5 | 1.01 |
| 48x48 | 93.9 | 89.2 | 1.05 |
| 64x64 | 93.0 | 58.7 | 1.58 |
| 96x96 | 107.8 | 100.7 | 1.07 |
| 100x100 | 102.0 | 94.4 | 1.08 |
| 128x128 | 110.0 | 103.5 | 1.06 |
| 192x192 | 116.2 | 89.5 | 1.30 |
| 200x200 | 112.6 | 104.6 | 1.08 |
| 256x256 | 114.5 | 108.8 | 1.05 |
| 257x257 | 110.7 | 103.0 | 1.08 |
| 384x384 | 120.9 | 105.2 | 1.15 |
| 500x500 | 120.1 | 110.0 | 1.09 |
| 512x512 | 120.5 | 111.9 | 1.08 |
| 768x768 | 122.5 | 112.6 | 1.09 |
| 1000x1000 | 123.8 | 112.4 | 1.10 |
| 1001x1001 | 122.5 | 110.7 | 1.11 |
| 1024x1024 | 123.8 | 113.1 | 1.10 |
| 1536x1536 | 124.0 | 113.6 | 1.09 |
| 2048x2048 | 123.9 | 113.2 | 1.09 |
| 3072x3072 | 122.7 | 113.1 | 1.09 |
| 4096x4096 | 122.0 | 113.4 | 1.08 |
| 4097x4097 | 122.8 | 112.7 | 1.09 |
| 64x4096 | 104.0 | 110.0 | 0.95 |
| 256x4096 | 119.5 | 113.1 | 1.06 |
| 1024x8 | 67.5 | 45.9 | 1.47 |
| 1024x64 | 111.6 | 96.9 | 1.15 |
| 1024x256 | 119.9 | 109.4 | 1.10 |
| 1024x4096 | 122.1 | 113.4 | 1.08 |
| 4096x8 | 46.9 | 28.0 | 1.67 |
| 4096x64 | 102.7 | 82.1 | 1.25 |
| 4096x256 | 118.5 | 104.2 | 1.14 |
| 4096x1024 | 123.1 | 111.6 | 1.10 |
SYMM double
| m×n | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2x2 | 0.6 | 0.8 | 0.72 |
| 3x3 | 1.3 | 2.1 | 0.60 |
| 4x4 | 3.6 | 4.9 | 0.74 |
| 6x6 | 8.0 | 9.8 | 0.80 |
| 8x8 | 13.0 | 18.9 | 0.67 |
| 12x12 | 23.6 | 28.2 | 0.83 |
| 16x16 | 30.6 | 34.5 | 0.88 |
| 24x24 | 38.7 | 41.7 | 0.93 |
| 32x32 | 42.5 | 44.3 | 0.96 |
| 48x48 | 49.3 | 48.8 | 1.01 |
| 64x64 | 48.5 | 28.8 | 1.68 |
| 96x96 | 53.6 | 52.1 | 1.03 |
| 100x100 | 53.1 | 51.7 | 1.02 |
| 128x128 | 52.7 | 43.7 | 1.21 |
| 192x192 | 57.9 | 49.7 | 1.16 |
| 200x200 | 56.2 | 54.9 | 1.02 |
| 256x256 | 57.4 | 52.4 | 1.10 |
| 257x257 | 56.5 | 53.9 | 1.05 |
| 384x384 | 60.3 | 53.3 | 1.13 |
| 500x500 | 59.9 | 56.4 | 1.06 |
| 512x512 | 60.0 | 56.5 | 1.06 |
| 768x768 | 61.5 | 56.9 | 1.08 |
| 1000x1000 | 61.5 | 56.8 | 1.08 |
| 1001x1001 | 61.0 | 56.5 | 1.08 |
| 1024x1024 | 61.2 | 56.9 | 1.08 |
| 1536x1536 | 61.3 | 56.8 | 1.08 |
| 2048x2048 | 60.9 | 56.8 | 1.07 |
| 3072x3072 | 60.2 | 56.6 | 1.06 |
| 4096x4096 | 60.1 | 57.0 | 1.05 |
| 4097x4097 | 61.0 | 56.7 | 1.07 |
| 64x4096 | 55.4 | 54.7 | 1.01 |
| 256x4096 | 60.2 | 56.6 | 1.06 |
| 1024x8 | 32.8 | 32.7 | 1.00 |
| 1024x64 | 55.0 | 52.4 | 1.05 |
| 1024x256 | 59.3 | 56.0 | 1.06 |
| 1024x4096 | 61.1 | 56.8 | 1.07 |
| 4096x8 | 22.3 | 19.4 | 1.15 |
| 4096x64 | 50.2 | 45.8 | 1.10 |
| 4096x256 | 58.6 | 53.9 | 1.08 |
| 4096x1024 | 61.1 | 56.4 | 1.08 |
SYRK float
| n×k | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2x2 | 0.2 | 0.4 | 0.49 |
| 3x3 | 0.5 | 1.0 | 0.44 |
| 4x4 | 1.2 | 2.2 | 0.54 |
| 6x6 | 2.8 | 4.7 | 0.59 |
| 8x8 | 7.0 | 8.4 | 0.83 |
| 12x12 | 10.9 | 13.3 | 0.82 |
| 16x16 | 20.3 | 18.6 | 1.10 |
| 24x24 | 33.6 | 34.3 | 0.98 |
| 32x32 | 46.7 | 44.5 | 1.05 |
| 48x48 | 61.8 | 62.8 | 0.98 |
| 64x64 | 74.3 | 71.3 | 1.04 |
| 96x96 | 85.2 | 85.5 | 1.00 |
| 100x100 | 86.7 | 77.9 | 1.12 |
| 128x128 | 89.1 | 88.9 | 1.00 |
| 192x192 | 100.4 | 72.3 | 1.39 |
| 200x200 | 100.1 | 93.4 | 1.07 |
| 256x256 | 102.9 | 97.8 | 1.05 |
| 257x257 | 101.3 | 92.0 | 1.10 |
| 384x384 | 110.2 | 96.0 | 1.15 |
| 500x500 | 113.3 | 104.2 | 1.09 |
| 512x512 | 113.5 | 99.4 | 1.14 |
| 768x768 | 117.7 | 108.3 | 1.09 |
| 1000x1000 | 118.9 | 109.8 | 1.08 |
| 1001x1001 | 117.7 | 107.0 | 1.10 |
| 1024x1024 | 118.6 | 105.8 | 1.12 |
| 1536x1536 | 121.2 | 111.7 | 1.08 |
| 2048x2048 | 121.1 | 109.7 | 1.10 |
| 3072x3072 | 121.8 | 111.0 | 1.10 |
| 4096x4096 | 121.0 | 111.7 | 1.08 |
| 4097x4097 | 121.1 | 111.2 | 1.09 |
| 64x4096 | 67.9 | 51.3 | 1.32 |
| 256x4096 | 102.9 | 85.1 | 1.21 |
| 1024x4096 | 117.8 | 105.6 | 1.12 |
| 4096x8 | 58.9 | 58.5 | 1.00 |
| 4096x64 | 112.7 | 113.3 | 0.99 |
| 4096x256 | 121.2 | 113.7 | 1.07 |
| 4096x1024 | 121.0 | 111.9 | 1.08 |
SYRK double
| n×k | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2x2 | 0.1 | 0.3 | 0.44 |
| 3x3 | 0.4 | 0.9 | 0.42 |
| 4x4 | 0.9 | 2.0 | 0.47 |
| 6x6 | 2.5 | 4.3 | 0.57 |
| 8x8 | 4.6 | 7.2 | 0.64 |
| 12x12 | 7.6 | 14.6 | 0.52 |
| 16x16 | 13.1 | 18.1 | 0.72 |
| 24x24 | 18.2 | 26.8 | 0.68 |
| 32x32 | 23.8 | 33.1 | 0.72 |
| 48x48 | 31.0 | 41.1 | 0.75 |
| 64x64 | 36.0 | 20.0 | 1.79 |
| 96x96 | 40.0 | 45.6 | 0.88 |
| 100x100 | 41.3 | 44.7 | 0.92 |
| 128x128 | 43.8 | 34.4 | 1.27 |
| 192x192 | 48.9 | 42.5 | 1.15 |
| 200x200 | 48.8 | 51.0 | 0.96 |
| 256x256 | 50.6 | 45.3 | 1.12 |
| 257x257 | 50.5 | 49.4 | 1.02 |
| 384x384 | 54.7 | 50.0 | 1.09 |
| 500x500 | 56.3 | 54.4 | 1.04 |
| 512x512 | 56.4 | 50.6 | 1.11 |
| 768x768 | 58.3 | 55.5 | 1.05 |
| 1000x1000 | 59.2 | 56.1 | 1.05 |
| 1001x1001 | 58.9 | 55.5 | 1.06 |
| 1024x1024 | 58.8 | 53.9 | 1.09 |
| 1536x1536 | 59.4 | 54.9 | 1.08 |
| 2048x2048 | 58.5 | 55.4 | 1.06 |
| 3072x3072 | 58.8 | 55.7 | 1.06 |
| 4096x4096 | 59.2 | 56.3 | 1.05 |
| 4097x4097 | 59.8 | 56.0 | 1.07 |
| 64x4096 | 35.2 | 27.6 | 1.28 |
| 256x4096 | 52.3 | 45.1 | 1.16 |
| 1024x4096 | 57.2 | 53.5 | 1.07 |
| 4096x8 | 37.6 | 24.1 | 1.56 |
| 4096x64 | 56.0 | 55.8 | 1.00 |
| 4096x256 | 60.3 | 56.6 | 1.06 |
| 4096x1024 | 59.1 | 56.3 | 1.05 |
POTRF float
| n | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2 | 0.4 | 0.1 | 3.83 |
| 3 | 0.6 | 0.3 | 2.33 |
| 4 | 1.0 | 0.5 | 2.21 |
| 6 | 1.5 | 0.9 | 1.60 |
| 8 | 2.1 | 1.5 | 1.45 |
| 12 | 3.7 | 2.3 | 1.54 |
| 16 | 5.4 | 3.0 | 1.77 |
| 24 | 9.0 | 3.8 | 2.38 |
| 32 | 12.7 | 4.1 | 3.08 |
| 48 | 19.8 | 12.1 | 1.62 |
| 64 | 21.5 | 16.4 | 1.31 |
| 96 | 30.9 | 22.9 | 1.34 |
| 100 | 31.1 | 22.2 | 1.40 |
| 128 | 38.6 | 27.1 | 1.42 |
| 192 | 49.6 | 46.7 | 1.06 |
| 200 | 50.6 | 45.0 | 1.12 |
| 256 | 65.0 | 55.8 | 1.16 |
| 257 | 61.3 | 53.4 | 1.15 |
| 384 | 78.1 | 68.7 | 1.14 |
| 500 | 83.9 | 68.6 | 1.22 |
| 512 | 85.1 | 68.6 | 1.24 |
| 768 | 95.5 | 84.4 | 1.13 |
| 1000 | 100.5 | 89.0 | 1.13 |
| 1001 | 98.8 | 86.9 | 1.14 |
| 1024 | 95.3 | 89.2 | 1.07 |
| 1536 | 105.9 | 97.2 | 1.09 |
| 2048 | 107.0 | 100.4 | 1.07 |
| 3072 | 112.1 | 105.4 | 1.06 |
| 4096 | 112.2 | 105.8 | 1.06 |
| 4097 | 110.8 | 105.1 | 1.05 |
POTRF double
| n | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2 | 0.5 | 0.1 | 4.10 |
| 3 | 0.8 | 0.3 | 3.03 |
| 4 | 1.1 | 0.5 | 2.29 |
| 6 | 1.6 | 0.9 | 1.79 |
| 8 | 2.3 | 1.3 | 1.75 |
| 12 | 3.9 | 2.1 | 1.85 |
| 16 | 5.7 | 2.8 | 2.00 |
| 24 | 9.0 | 4.0 | 2.22 |
| 32 | 11.9 | 4.3 | 2.76 |
| 48 | 14.9 | 10.7 | 1.38 |
| 64 | 14.9 | 14.1 | 1.05 |
| 96 | 19.3 | 18.6 | 1.03 |
| 100 | 19.1 | 18.7 | 1.02 |
| 128 | 22.7 | 21.7 | 1.04 |
| 192 | 28.0 | 32.0 | 0.87 |
| 200 | 28.3 | 31.4 | 0.90 |
| 256 | 34.2 | 29.8 | 1.14 |
| 257 | 33.2 | 34.7 | 0.95 |
| 384 | 40.0 | 38.2 | 1.05 |
| 500 | 42.7 | 42.1 | 1.01 |
| 512 | 42.4 | 40.1 | 1.05 |
| 768 | 48.0 | 45.8 | 1.05 |
| 1000 | 51.1 | 49.4 | 1.03 |
| 1001 | 50.7 | 48.6 | 1.04 |
| 1024 | 48.1 | 46.8 | 1.03 |
| 1536 | 52.6 | 50.7 | 1.04 |
| 2048 | 52.8 | 51.4 | 1.03 |
| 3072 | 55.9 | 53.1 | 1.05 |
| 4096 | 56.5 | 54.1 | 1.04 |
| 4097 | 56.3 | 53.8 | 1.04 |
PSTRF float
| n | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2 | 0.2 | 0.1 | 1.95 |
| 3 | 0.4 | 0.2 | 1.72 |
| 4 | 0.4 | 0.3 | 1.36 |
| 6 | 0.7 | 0.5 | 1.22 |
| 8 | 1.0 | 0.7 | 1.36 |
| 12 | 1.8 | 1.2 | 1.41 |
| 16 | 2.5 | 1.6 | 1.53 |
| 24 | 4.2 | 2.4 | 1.77 |
| 32 | 6.2 | 3.0 | 2.06 |
| 48 | 10.1 | 4.2 | 2.30 |
| 64 | 12.8 | 4.8 | 2.62 |
| 96 | 19.7 | 6.9 | 2.86 |
| 100 | 23.0 | 7.2 | 3.17 |
| 128 | 28.8 | 7.8 | 3.66 |
| 192 | 39.6 | 10.9 | 3.53 |
| 200 | 40.9 | 12.2 | 3.27 |
| 256 | 43.3 | 13.7 | 3.14 |
| 257 | 45.0 | 15.0 | 2.93 |
| 384 | 55.2 | 19.5 | 2.80 |
| 500 | 63.1 | 25.5 | 2.47 |
| 512 | 53.7 | 19.2 | 2.79 |
| 768 | 72.1 | 29.7 | 2.42 |
| 1000 | 80.4 | 41.1 | 1.95 |
| 1001 | 79.2 | 40.8 | 1.94 |
| 1024 | 65.8 | 29.8 | 2.19 |
| 1536 | 81.0 | 41.3 | 1.96 |
| 2048 | 73.8 | 43.6 | 1.69 |
| 3072 | 86.8 | 56.0 | 1.55 |
| 4096 | 69.8 | 54.9 | 1.28 |
| 4097 | 75.7 | 59.7 | 1.27 |
PSTRF double
| n | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2 | 0.2 | 0.1 | 1.58 |
| 3 | 0.4 | 0.2 | 1.57 |
| 4 | 0.5 | 0.3 | 1.55 |
| 6 | 0.8 | 0.5 | 1.49 |
| 8 | 1.1 | 0.7 | 1.53 |
| 12 | 1.8 | 1.1 | 1.70 |
| 16 | 2.6 | 1.4 | 1.76 |
| 24 | 4.3 | 2.2 | 1.92 |
| 32 | 5.7 | 3.0 | 1.93 |
| 48 | 9.0 | 4.5 | 2.02 |
| 64 | 11.0 | 5.9 | 1.88 |
| 96 | 14.7 | 8.9 | 1.65 |
| 100 | 16.4 | 10.7 | 1.53 |
| 128 | 18.6 | 11.0 | 1.69 |
| 192 | 22.8 | 15.0 | 1.53 |
| 200 | 23.8 | 17.8 | 1.34 |
| 256 | 23.3 | 13.2 | 1.77 |
| 257 | 25.7 | 19.1 | 1.34 |
| 384 | 30.2 | 20.4 | 1.49 |
| 500 | 34.1 | 27.3 | 1.25 |
| 512 | 29.6 | 18.2 | 1.63 |
| 768 | 36.3 | 24.7 | 1.47 |
| 1000 | 41.5 | 34.0 | 1.22 |
| 1001 | 41.2 | 33.1 | 1.25 |
| 1024 | 33.7 | 24.7 | 1.37 |
| 1536 | 40.8 | 31.1 | 1.31 |
| 2048 | 33.7 | 29.9 | 1.13 |
| 3072 | 42.1 | 35.2 | 1.19 |
| 4096 | 39.8 | 35.5 | 1.12 |
| 4097 | 43.5 | 38.1 | 1.14 |
SYTRF float
| n | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2 | 0.2 | 0.1 | 1.98 |
| 3 | 0.5 | 0.3 | 1.35 |
| 4 | 0.8 | 0.6 | 1.38 |
| 6 | 1.2 | 0.8 | 1.59 |
| 8 | 1.7 | 1.2 | 1.45 |
| 12 | 3.0 | 2.2 | 1.32 |
| 16 | 4.2 | 3.1 | 1.43 |
| 24 | 6.8 | 5.0 | 1.39 |
| 32 | 8.7 | 6.2 | 1.42 |
| 48 | 12.8 | 8.2 | 1.57 |
| 64 | 16.0 | 9.7 | 1.65 |
| 96 | 22.7 | 4.9 | 4.60 |
| 100 | 23.9 | 5.2 | 4.66 |
| 128 | 28.2 | 5.4 | 5.23 |
| 192 | 37.6 | 6.8 | 5.57 |
| 200 | 41.1 | 7.4 | 5.57 |
| 256 | 36.9 | 8.6 | 4.27 |
| 257 | 46.0 | 9.0 | 5.11 |
| 384 | 53.0 | 12.3 | 4.27 |
| 500 | 65.6 | 15.6 | 4.20 |
| 512 | 43.7 | 15.2 | 2.88 |
| 768 | 64.7 | 21.3 | 3.03 |
| 1000 | 78.5 | 26.6 | 2.95 |
| 1001 | 78.3 | 26.7 | 2.93 |
| 1024 | 52.4 | 25.7 | 2.04 |
| 1536 | 72.2 | 35.2 | 2.05 |
| 2048 | 66.3 | 40.3 | 1.64 |
| 3072 | 82.2 | 50.1 | 1.64 |
| 4096 | 71.8 | 55.2 | 1.30 |
| 4097 | 79.0 | 56.4 | 1.40 |
SYTRF double
| n | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2 | 0.2 | 0.1 | 1.77 |
| 3 | 0.5 | 0.3 | 1.66 |
| 4 | 0.8 | 0.5 | 1.52 |
| 6 | 1.2 | 0.9 | 1.14 |
| 8 | 1.8 | 1.2 | 1.48 |
| 12 | 2.8 | 2.1 | 1.37 |
| 16 | 4.1 | 2.8 | 1.51 |
| 24 | 6.2 | 4.2 | 1.55 |
| 32 | 7.9 | 4.9 | 1.62 |
| 48 | 10.1 | 6.8 | 1.49 |
| 64 | 11.5 | 8.3 | 1.40 |
| 96 | 15.2 | 7.9 | 1.92 |
| 100 | 15.9 | 7.9 | 2.00 |
| 128 | 17.5 | 9.1 | 1.95 |
| 192 | 22.2 | 11.3 | 1.96 |
| 200 | 23.9 | 12.3 | 1.94 |
| 256 | 18.9 | 13.0 | 1.43 |
| 257 | 25.5 | 14.3 | 1.78 |
| 384 | 27.6 | 17.8 | 1.55 |
| 500 | 33.5 | 20.8 | 1.61 |
| 512 | 21.2 | 17.6 | 1.20 |
| 768 | 31.8 | 25.0 | 1.27 |
| 1000 | 40.3 | 29.0 | 1.40 |
| 1001 | 40.4 | 29.1 | 1.39 |
| 1024 | 27.9 | 24.6 | 1.13 |
| 1536 | 37.0 | 31.1 | 1.19 |
| 2048 | 31.9 | 31.2 | 1.03 |
| 3072 | 41.8 | 36.5 | 1.14 |
| 4096 | 40.7 | 36.9 | 1.10 |
| 4097 | 44.3 | 38.6 | 1.15 |
GETRF float
| n | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2 | 0.2 | 0.3 | 0.68 |
| 3 | 0.5 | 0.4 | 1.11 |
| 4 | 0.7 | 0.6 | 1.23 |
| 6 | 1.3 | 0.7 | 1.75 |
| 8 | 2.1 | 0.9 | 2.39 |
| 12 | 3.9 | 1.2 | 3.28 |
| 16 | 5.7 | 1.5 | 3.81 |
| 24 | 8.4 | 3.5 | 2.50 |
| 32 | 11.9 | 4.2 | 2.82 |
| 48 | 18.9 | 8.5 | 2.25 |
| 64 | 25.2 | 9.6 | 2.60 |
| 96 | 36.8 | 19.0 | 1.94 |
| 100 | 38.1 | 19.3 | 1.93 |
| 128 | 43.0 | 23.4 | 1.83 |
| 192 | 51.9 | 35.2 | 1.47 |
| 200 | 52.6 | 35.8 | 1.47 |
| 256 | 63.8 | 43.5 | 1.47 |
| 257 | 61.4 | 41.8 | 1.47 |
| 384 | 76.5 | 55.3 | 1.38 |
| 500 | 81.4 | 63.4 | 1.28 |
| 512 | 83.1 | 65.3 | 1.27 |
| 768 | 93.2 | 76.3 | 1.22 |
| 1000 | 98.0 | 82.2 | 1.19 |
| 1001 | 96.5 | 80.5 | 1.20 |
| 1024 | 96.7 | 84.1 | 1.15 |
| 1536 | 104.2 | 92.6 | 1.12 |
| 2048 | 106.9 | 96.3 | 1.11 |
| 3072 | 109.2 | 100.8 | 1.08 |
| 4096 | 107.9 | 103.4 | 1.04 |
| 4097 | 107.4 | 102.6 | 1.05 |
GETRF double
| n | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2 | 0.3 | 0.2 | 1.40 |
| 3 | 0.5 | 0.4 | 1.45 |
| 4 | 0.7 | 0.4 | 1.48 |
| 6 | 1.3 | 0.6 | 2.06 |
| 8 | 2.0 | 0.7 | 2.68 |
| 12 | 3.8 | 1.0 | 3.81 |
| 16 | 5.3 | 1.3 | 4.11 |
| 24 | 6.9 | 2.9 | 2.36 |
| 32 | 9.1 | 3.8 | 2.42 |
| 48 | 13.6 | 8.0 | 1.70 |
| 64 | 17.4 | 10.1 | 1.70 |
| 96 | 23.3 | 17.1 | 1.34 |
| 100 | 23.8 | 17.1 | 1.35 |
| 128 | 24.6 | 18.3 | 1.32 |
| 192 | 28.6 | 28.7 | 0.99 |
| 200 | 29.0 | 28.6 | 1.00 |
| 256 | 35.1 | 30.8 | 1.13 |
| 257 | 34.2 | 31.3 | 1.08 |
| 384 | 40.9 | 38.0 | 1.07 |
| 500 | 43.2 | 41.3 | 1.04 |
| 512 | 43.7 | 41.2 | 1.05 |
| 768 | 48.4 | 46.1 | 1.05 |
| 1000 | 50.8 | 48.0 | 1.06 |
| 1001 | 50.3 | 47.4 | 1.06 |
| 1024 | 49.8 | 48.1 | 1.03 |
| 1536 | 52.6 | 50.6 | 1.04 |
| 2048 | 51.6 | 51.3 | 1.00 |
| 3072 | 54.1 | 52.7 | 1.02 |
| 4096 | 54.7 | 53.7 | 1.02 |
| 4097 | 54.1 | 53.4 | 1.01 |
GEQRF float
| m×n | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2x2 | 0.2 | 0.2 | 1.25 |
| 3x3 | 0.4 | 0.3 | 1.29 |
| 4x4 | 0.6 | 0.5 | 1.31 |
| 6x6 | 1.2 | 0.9 | 1.43 |
| 8x8 | 1.9 | 1.3 | 1.47 |
| 12x12 | 4.0 | 2.6 | 1.52 |
| 16x16 | 6.1 | 3.9 | 1.58 |
| 24x24 | 10.4 | 6.7 | 1.55 |
| 32x32 | 14.0 | 9.2 | 1.53 |
| 48x48 | 20.0 | 13.5 | 1.48 |
| 64x64 | 23.0 | 12.4 | 1.86 |
| 96x96 | 34.8 | 20.3 | 1.71 |
| 100x100 | 34.7 | 20.5 | 1.70 |
| 128x128 | 43.7 | 23.7 | 1.85 |
| 192x192 | 55.9 | 36.6 | 1.53 |
| 200x200 | 55.9 | 43.3 | 1.29 |
| 256x256 | 63.2 | 46.2 | 1.37 |
| 257x257 | 59.7 | 52.1 | 1.15 |
| 384x384 | 74.0 | 61.9 | 1.19 |
| 500x500 | 78.5 | 72.2 | 1.09 |
| 512x512 | 79.5 | 64.1 | 1.24 |
| 768x768 | 88.6 | 75.3 | 1.18 |
| 1000x1000 | 92.5 | 87.5 | 1.06 |
| 1001x1001 | 90.9 | 86.0 | 1.06 |
| 1024x1024 | 92.1 | 77.3 | 1.19 |
| 1536x1536 | 99.0 | 87.3 | 1.13 |
| 2048x2048 | 101.1 | 84.8 | 1.19 |
| 3072x3072 | 103.0 | 91.0 | 1.13 |
| 4096x4096 | 103.0 | 84.0 | 1.23 |
| 4097x4097 | 101.9 | 84.7 | 1.20 |
| 4096x8 | 21.8 | 10.3 | 2.09 |
| 4096x64 | 47.5 | 21.2 | 2.25 |
| 4096x256 | 69.1 | 44.4 | 1.56 |
| 4096x1024 | 89.9 | 78.1 | 1.15 |
| 10000x8 | 21.7 | 10.1 | 2.15 |
| 10000x100 | 54.4 | 23.0 | 2.36 |
| 10000x1000 | 92.2 | 83.3 | 1.11 |
| 10000x4000 | 103.3 | 88.1 | 1.17 |
| 100000x8 | 20.3 | 9.4 | 2.15 |
| 100000x64 | 49.9 | 19.1 | 2.61 |
| 100000x256 | 67.5 | 41.6 | 1.62 |
GEQRF double
| m×n | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2x2 | 0.2 | 0.2 | 1.31 |
| 3x3 | 0.4 | 0.3 | 1.38 |
| 4x4 | 0.7 | 0.5 | 1.42 |
| 6x6 | 1.3 | 0.8 | 1.53 |
| 8x8 | 2.0 | 1.3 | 1.55 |
| 12x12 | 3.8 | 2.3 | 1.67 |
| 16x16 | 5.6 | 3.2 | 1.76 |
| 24x24 | 8.4 | 4.7 | 1.78 |
| 32x32 | 10.3 | 5.9 | 1.75 |
| 48x48 | 13.2 | 9.1 | 1.44 |
| 64x64 | 14.7 | 9.9 | 1.48 |
| 96x96 | 21.8 | 12.9 | 1.68 |
| 100x100 | 21.9 | 13.0 | 1.68 |
| 128x128 | 25.8 | 13.8 | 1.86 |
| 192x192 | 30.8 | 21.4 | 1.44 |
| 200x200 | 30.4 | 25.7 | 1.18 |
| 256x256 | 33.5 | 25.4 | 1.32 |
| 257x257 | 32.5 | 30.0 | 1.08 |
| 384x384 | 38.0 | 33.5 | 1.14 |
| 500x500 | 39.9 | 39.5 | 1.01 |
| 512x512 | 40.2 | 35.5 | 1.13 |
| 768x768 | 43.9 | 41.3 | 1.06 |
| 1000x1000 | 46.0 | 45.7 | 1.01 |
| 1001x1001 | 45.6 | 45.1 | 1.01 |
| 1024x1024 | 45.1 | 41.3 | 1.09 |
| 1536x1536 | 48.7 | 46.0 | 1.06 |
| 2048x2048 | 48.3 | 44.0 | 1.10 |
| 3072x3072 | 50.8 | 44.7 | 1.14 |
| 4096x4096 | 51.0 | 45.1 | 1.13 |
| 4097x4097 | 50.7 | 43.7 | 1.16 |
| 4096x8 | 10.9 | 7.4 | 1.47 |
| 4096x64 | 23.1 | 12.4 | 1.86 |
| 4096x256 | 35.0 | 24.9 | 1.40 |
| 4096x1024 | 44.8 | 41.6 | 1.07 |
| 10000x8 | 10.6 | 7.1 | 1.51 |
| 10000x100 | 27.7 | 12.4 | 2.24 |
| 10000x1000 | 44.8 | 41.7 | 1.07 |
| 10000x4000 | 51.7 | 44.0 | 1.18 |
| 100000x8 | 10.2 | 6.7 | 1.51 |
| 100000x64 | 22.9 | 10.6 | 2.16 |
| 100000x256 | 33.2 | 22.3 | 1.49 |
GELS float
| m×n×nrhs | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2x2x1 | 0.2 | 0.1 | 1.53 |
| 3x3x1 | 0.3 | 0.2 | 1.52 |
| 4x4x1 | 0.5 | 0.3 | 1.60 |
| 6x6x1 | 1.0 | 0.6 | 1.73 |
| 8x8x1 | 1.6 | 0.9 | 1.81 |
| 12x12x1 | 3.2 | 1.7 | 1.88 |
| 16x16x1 | 4.8 | 2.3 | 2.12 |
| 24x24x1 | 8.6 | 4.4 | 1.95 |
| 32x32x1 | 12.0 | 6.2 | 1.93 |
| 48x48x1 | 17.8 | 7.4 | 2.42 |
| 64x64x1 | 21.3 | 8.2 | 2.59 |
| 96x96x1 | 32.9 | 13.9 | 2.37 |
| 100x100x1 | 33.1 | 14.2 | 2.33 |
| 128x128x1 | 41.7 | 17.5 | 2.40 |
| 192x192x1 | 53.4 | 27.6 | 1.95 |
| 200x200x1 | 54.1 | 31.6 | 1.71 |
| 256x256x1 | 61.3 | 36.0 | 1.71 |
| 257x257x1 | 57.9 | 39.3 | 1.48 |
| 384x384x1 | 72.3 | 50.1 | 1.45 |
| 500x500x1 | 77.3 | 60.0 | 1.29 |
| 512x512x1 | 78.3 | 54.5 | 1.44 |
| 768x768x1 | 87.7 | 66.3 | 1.33 |
| 1000x1000x1 | 91.7 | 78.3 | 1.17 |
| 1001x1001x1 | 90.1 | 77.1 | 1.17 |
| 1024x1024x1 | 91.1 | 70.2 | 1.30 |
| 1536x1536x1 | 98.2 | 81.2 | 1.21 |
| 2048x2048x1 | 100.7 | 80.6 | 1.25 |
| 3072x3072x1 | 102.5 | 87.1 | 1.18 |
| 4096x4096x1 | 102.5 | 81.8 | 1.25 |
| 4097x4097x1 | 101.4 | 82.5 | 1.23 |
| 1024x1024x16 | 87.0 | 69.5 | 1.25 |
| 1024x1024x64 | 88.5 | 70.7 | 1.25 |
| 1024x1024x256 | 92.8 | 72.6 | 1.28 |
| 4096x8x1 | 22.8 | 6.6 | 3.47 |
| 4096x64x1 | 46.3 | 16.2 | 2.87 |
| 4096x256x1 | 68.6 | 37.3 | 1.84 |
| 4096x256x16 | 59.6 | 39.2 | 1.52 |
| 4096x256x64 | 67.2 | 45.1 | 1.49 |
| 4096x256x256 | 83.0 | 55.4 | 1.50 |
| 4096x256x1024 | 97.4 | 70.5 | 1.38 |
| 4096x1024x1 | 89.6 | 71.8 | 1.25 |
| 10000x8x1 | 22.8 | 6.4 | 3.54 |
| 10000x100x1 | 53.7 | 18.8 | 2.86 |
| 10000x1000x1 | 91.7 | 76.3 | 1.20 |
| 10000x4000x1 | 103.2 | 85.9 | 1.20 |
| 100000x8x1 | 21.0 | 6.1 | 3.41 |
| 100000x64x1 | 48.2 | 14.5 | 3.33 |
| 100000x256x1 | 66.7 | 34.9 | 1.91 |
GELS double
| m×n×nrhs | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2x2x1 | 0.2 | 0.1 | 1.51 |
| 3x3x1 | 0.4 | 0.2 | 1.61 |
| 4x4x1 | 0.6 | 0.3 | 1.67 |
| 6x6x1 | 1.1 | 0.6 | 1.78 |
| 8x8x1 | 1.6 | 0.9 | 1.88 |
| 12x12x1 | 3.0 | 1.6 | 1.96 |
| 16x16x1 | 4.6 | 2.2 | 2.07 |
| 24x24x1 | 7.2 | 3.5 | 2.09 |
| 32x32x1 | 9.2 | 4.5 | 2.06 |
| 48x48x1 | 12.1 | 5.9 | 2.08 |
| 64x64x1 | 13.8 | 7.1 | 1.94 |
| 96x96x1 | 20.7 | 9.7 | 2.15 |
| 100x100x1 | 21.0 | 9.8 | 2.16 |
| 128x128x1 | 24.6 | 10.9 | 2.26 |
| 192x192x1 | 29.8 | 17.5 | 1.71 |
| 200x200x1 | 29.6 | 20.2 | 1.47 |
| 256x256x1 | 32.6 | 21.2 | 1.55 |
| 257x257x1 | 31.6 | 24.3 | 1.31 |
| 384x384x1 | 37.2 | 28.8 | 1.30 |
| 500x500x1 | 39.3 | 34.5 | 1.14 |
| 512x512x1 | 39.5 | 31.5 | 1.26 |
| 768x768x1 | 43.3 | 37.6 | 1.15 |
| 1000x1000x1 | 45.6 | 42.2 | 1.08 |
| 1001x1001x1 | 45.1 | 41.8 | 1.08 |
| 1024x1024x1 | 44.6 | 38.5 | 1.16 |
| 1536x1536x1 | 48.3 | 43.7 | 1.11 |
| 2048x2048x1 | 48.0 | 42.3 | 1.14 |
| 3072x3072x1 | 50.6 | 43.6 | 1.16 |
| 4096x4096x1 | 50.8 | 44.2 | 1.15 |
| 4097x4097x1 | 50.4 | 42.9 | 1.18 |
| 1024x1024x16 | 42.8 | 38.4 | 1.11 |
| 1024x1024x64 | 43.5 | 39.0 | 1.12 |
| 1024x1024x256 | 45.7 | 40.4 | 1.13 |
| 4096x8x1 | 11.4 | 5.2 | 2.18 |
| 4096x64x1 | 22.7 | 9.7 | 2.33 |
| 4096x256x1 | 34.6 | 21.6 | 1.60 |
| 4096x256x16 | 30.2 | 22.7 | 1.33 |
| 4096x256x64 | 34.1 | 26.2 | 1.30 |
| 4096x256x256 | 41.6 | 32.9 | 1.26 |
| 4096x256x1024 | 47.9 | 38.3 | 1.25 |
| 4096x1024x1 | 44.5 | 39.2 | 1.14 |
| 10000x8x1 | 10.8 | 5.0 | 2.16 |
| 10000x100x1 | 27.0 | 10.4 | 2.61 |
| 10000x1000x1 | 44.5 | 38.9 | 1.14 |
| 10000x4000x1 | 51.6 | 43.2 | 1.19 |
| 100000x8x1 | 10.5 | 4.9 | 2.17 |
| 100000x64x1 | 22.4 | 8.3 | 2.69 |
| 100000x256x1 | 32.8 | 19.1 | 1.71 |
SYEV float
| n | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2 | 0.9 | 0.7 | 1.32 |
| 3 | 0.9 | 0.7 | 1.30 |
| 4 | 1.1 | 0.9 | 1.21 |
| 6 | 1.7 | 1.4 | 1.16 |
| 8 | 2.2 | 2.1 | 1.09 |
| 12 | 3.6 | 3.2 | 1.12 |
| 16 | 5.1 | 4.4 | 1.16 |
| 24 | 7.7 | 6.6 | 1.16 |
| 32 | 10.4 | 8.5 | 1.23 |
| 48 | 15.6 | 9.9 | 1.57 |
| 64 | 20.3 | 11.8 | 1.72 |
| 96 | 27.8 | 15.0 | 1.86 |
| 100 | 28.0 | 14.2 | 1.97 |
| 128 | 33.8 | 16.7 | 2.01 |
| 192 | 42.0 | 19.2 | 2.18 |
| 200 | 42.8 | 20.0 | 2.15 |
| 256 | 44.8 | 20.4 | 2.19 |
| 257 | 43.5 | 21.2 | 2.05 |
| 384 | 50.7 | 23.4 | 2.17 |
| 500 | 52.3 | 21.4 | 2.45 |
| 512 | 51.6 | 24.4 | 2.11 |
| 768 | 56.1 | 26.0 | 2.16 |
| 1000 | 59.9 | 27.3 | 2.20 |
| 1001 | 52.7 | 25.3 | 2.08 |
| 1024 | 58.4 | 24.6 | 2.38 |
| 1536 | 60.9 | 25.7 | 2.37 |
| 2048 | 61.3 | 28.1 | 2.19 |
SYEV double
| n | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2 | 0.9 | 0.7 | 1.27 |
| 3 | 0.8 | 0.6 | 1.35 |
| 4 | 0.9 | 0.8 | 1.09 |
| 6 | 1.3 | 1.2 | 1.11 |
| 8 | 1.8 | 1.7 | 1.11 |
| 12 | 2.9 | 2.5 | 1.15 |
| 16 | 4.0 | 3.3 | 1.14 |
| 24 | 6.0 | 4.9 | 1.18 |
| 32 | 7.7 | 6.2 | 1.22 |
| 48 | 11.2 | 7.9 | 1.37 |
| 64 | 13.7 | 9.5 | 1.44 |
| 96 | 16.7 | 11.1 | 1.50 |
| 100 | 17.1 | 12.0 | 1.43 |
| 128 | 19.2 | 12.9 | 1.49 |
| 192 | 21.6 | 13.0 | 1.66 |
| 200 | 22.0 | 14.3 | 1.54 |
| 256 | 21.9 | 15.9 | 1.38 |
| 257 | 21.4 | 16.0 | 1.33 |
| 384 | 24.3 | 17.6 | 1.37 |
| 500 | 26.0 | 19.2 | 1.35 |
| 512 | 25.4 | 18.6 | 1.37 |
| 768 | 26.6 | 19.7 | 1.35 |
| 1000 | 28.1 | 20.8 | 1.35 |
| 1001 | 23.7 | 19.5 | 1.22 |
| 1024 | 27.3 | 18.5 | 1.47 |
| 1536 | 28.1 | 20.1 | 1.40 |
| 2048 | 26.2 | 19.7 | 1.33 |
GESDD float
| m×n | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2x2 | 2.5 | 0.4 | 6.88 |
| 3x3 | 1.7 | 0.7 | 2.25 |
| 4x4 | 2.2 | 1.1 | 1.98 |
| 6x6 | 2.2 | 1.9 | 1.19 |
| 8x8 | 2.6 | 2.7 | 0.96 |
| 12x12 | 3.0 | 4.3 | 0.67 |
| 16x16 | 5.4 | 5.6 | 0.95 |
| 24x24 | 8.1 | 7.9 | 0.99 |
| 32x32 | 11.2 | 12.6 | 0.89 |
| 48x48 | 17.7 | 18.6 | 0.94 |
| 64x64 | 25.5 | 26.9 | 0.94 |
| 96x96 | 40.3 | 36.3 | 1.09 |
| 100x100 | 41.5 | 36.8 | 1.12 |
| 128x128 | 52.5 | 46.5 | 1.13 |
| 192x192 | 76.7 | 50.0 | 1.53 |
| 200x200 | 78.5 | 50.9 | 1.54 |
| 256x256 | 86.5 | 49.6 | 1.73 |
| 257x257 | 90.3 | 57.5 | 1.57 |
| 384x384 | 114.2 | 64.0 | 1.78 |
| 500x500 | 132.3 | 78.1 | 1.69 |
| 512x512 | 123.6 | 65.5 | 1.87 |
| 768x768 | 147.0 | 78.5 | 1.87 |
| 1000x1000 | 166.0 | 96.6 | 1.72 |
| 1001x1001 | 165.0 | 96.8 | 1.70 |
| 1024x1024 | 154.4 | 82.1 | 1.87 |
| 1536x1536 | 173.7 | 96.1 | 1.80 |
| 2048x2048 | 169.6 | 94.8 | 1.78 |
| 4096x64 | 121.0 | 63.3 | 1.90 |
| 4096x256 | 166.1 | 106.4 | 1.56 |
| 4096x1024 | 177.1 | 119.9 | 1.48 |
| 10000x8 | 33.2 | 30.1 | 1.10 |
| 10000x100 | 150.1 | 70.7 | 2.12 |
| 10000x1000 | 209.3 | 169.9 | 1.23 |
GESDD double
| m×n | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2x2 | 2.7 | 0.4 | 7.13 |
| 3x3 | 1.3 | 0.6 | 1.99 |
| 4x4 | 1.7 | 1.0 | 1.76 |
| 6x6 | 1.9 | 1.6 | 1.11 |
| 8x8 | 1.9 | 2.2 | 0.87 |
| 12x12 | 2.2 | 3.3 | 0.65 |
| 16x16 | 4.4 | 4.3 | 0.95 |
| 24x24 | 5.8 | 6.1 | 0.94 |
| 32x32 | 7.8 | 9.7 | 0.83 |
| 48x48 | 12.1 | 14.3 | 0.84 |
| 64x64 | 15.9 | 20.8 | 0.77 |
| 96x96 | 23.8 | 28.3 | 0.86 |
| 100x100 | 25.4 | 29.3 | 0.86 |
| 128x128 | 30.9 | 35.7 | 0.86 |
| 192x192 | 42.7 | 38.9 | 1.09 |
| 200x200 | 44.1 | 38.7 | 1.13 |
| 256x256 | 48.5 | 39.6 | 1.22 |
| 257x257 | 50.3 | 44.2 | 1.13 |
| 384x384 | 62.0 | 51.6 | 1.19 |
| 500x500 | 71.4 | 60.3 | 1.18 |
| 512x512 | 67.8 | 51.9 | 1.30 |
| 768x768 | 78.8 | 64.4 | 1.22 |
| 1000x1000 | 87.3 | 75.2 | 1.15 |
| 1001x1001 | 86.5 | 76.1 | 1.14 |
| 1024x1024 | 79.6 | 64.1 | 1.24 |
| 1536x1536 | 88.6 | 75.9 | 1.16 |
| 2048x2048 | 73.1 | 70.0 | 1.04 |
| 4096x64 | 62.2 | 37.2 | 1.68 |
| 4096x256 | 83.5 | 62.8 | 1.35 |
| 4096x1024 | 84.9 | 75.6 | 1.18 |
| 10000x8 | 14.0 | 21.1 | 0.66 |
| 10000x100 | 76.7 | 38.2 | 2.02 |
| 10000x1000 | 102.3 | 93.4 | 1.12 |
GEEV float
| n | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2 | 2.7 | 0.4 | 6.46 |
| 3 | 1.6 | 0.6 | 2.92 |
| 4 | 2.6 | 0.9 | 2.57 |
| 6 | 3.4 | 1.6 | 2.03 |
| 8 | 5.0 | 2.3 | 2.22 |
| 12 | 7.7 | 3.6 | 2.15 |
| 16 | 10.2 | 4.8 | 2.16 |
| 24 | 14.4 | 6.8 | 2.12 |
| 32 | 18.0 | 8.9 | 2.03 |
| 48 | 21.6 | 11.9 | 1.81 |
| 64 | 23.9 | 13.6 | 1.72 |
| 96 | 27.1 | 16.8 | 1.60 |
| 100 | 26.3 | 17.1 | 1.54 |
| 128 | 28.5 | 19.9 | 1.42 |
| 192 | 29.8 | 33.9 | 0.88 |
| 200 | 30.3 | 35.2 | 0.86 |
| 256 | 29.4 | 41.7 | 0.70 |
| 257 | 28.1 | 42.3 | 0.66 |
| 384 | 31.0 | 59.3 | 0.54 |
| 500 | 32.3 | 71.8 | 0.45 |
| 512 | 30.9 | 50.6 | 0.61 |
| 768 | 34.0 | 84.0 | 0.39 |
| 1000 | 35.3 | 108.1 | 0.33 |
| 1001 | 32.7 | 109.6 | 0.30 |
| 1024 | 31.6 | 77.6 | 0.40 |
GEEV double
| n | Eigen GFLOP/s | OpenBLAS GFLOP/s | Eigen ÷ OpenBLAS |
|---|---|---|---|
| 2 | 2.7 | 0.4 | 6.30 |
| 3 | 1.4 | 0.6 | 2.44 |
| 4 | 2.0 | 0.8 | 2.57 |
| 6 | 2.8 | 1.4 | 2.28 |
| 8 | 4.2 | 2.0 | 2.09 |
| 12 | 5.9 | 2.9 | 2.09 |
| 16 | 7.8 | 3.8 | 2.08 |
| 24 | 10.2 | 5.4 | 1.93 |
| 32 | 12.0 | 6.9 | 1.70 |
| 48 | 14.6 | 8.8 | 1.62 |
| 64 | 16.0 | 10.4 | 1.54 |
| 96 | 17.0 | 11.1 | 1.53 |
| 100 | 17.1 | 11.8 | 1.47 |
| 128 | 17.4 | 13.3 | 1.30 |
| 192 | 17.8 | 18.4 | 0.95 |
| 200 | 17.8 | 19.6 | 0.90 |
| 256 | 17.6 | 22.4 | 0.79 |
| 257 | 16.5 | 22.9 | 0.72 |
| 384 | 18.1 | 30.8 | 0.59 |
| 500 | 18.7 | 36.5 | 0.51 |
| 512 | 17.7 | 22.0 | 0.80 |
| 768 | 18.8 | 37.2 | 0.50 |
| 1000 | 19.4 | 51.6 | 0.38 |
| 1001 | 18.1 | 51.8 | 0.35 |
| 1024 | 12.9 | 36.5 | 0.35 |