diff --git a/layouts/index.html b/layouts/index.html index 1b5c2a2..ecdf8ed 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -24,7 +24,7 @@

NumPy-style n-dimensional arrays in pure Go.
{{ partial "icons/book.html" . }}Read the documentation → {{ partial "icons/github.html" . }}Browse the source -
{{ len .Site.Params.families }} API families, NumPy's names5 SIMD targetsCGO=0 no BLAS shim
+
{{ len .Site.Params.families }} API families, NumPy's names6 SIMD targetsCGO=0 no BLAS shim
{{/* Lines taken verbatim from the Example section of go-ndarray/ndarray's README at v0.2.2. */}}
@@ -110,7 +110,7 @@

{{ len .Site.Params.families }} families, NumPy's names.

3.7–5.9×
single-threaded OpenBLAS 0.3.34 on MatMul from 512² (Zen 3)
≤ 0.51
ULP for Exp/Log, ports of Arm's optimized-routines
-

Measured, wins and losses. Against NumPy 2.5.3 + OpenBLAS 0.3.34 on a 16-core AMD Zen 3: faster on whole-array Sum/Mean/Max at 4 Mi (2.3–4.5×), SumAxis(1) (2.2×), MaxAxis(1) (1.7×), Exp from 256 Ki elements (2.4–5.6×) and MatMul against single-threaded OpenBLAS (3.7–5.9× from 512²); slower against 16-thread OpenBLAS (MatMul 0.55× at 1024², Dot/mat·vec 0.16×) and on allocating elementwise forms outside a Workspace. On Apple silicon the packed GEMM reaches tuned-BLAS parity at 1024² and beats the pure-Go gonum 4–10×.

+

Measured, wins and losses. Against NumPy 2.5.3 + OpenBLAS 0.3.34 on a 16-core AMD Zen 3: faster on whole-array Sum/Mean/Max at 4 Mi (2.3–4.5×), SumAxis(1) (2.2×), MaxAxis(1) (1.7×), Exp from 256 Ki elements (2.4–5.6×) and MatMul against single-threaded OpenBLAS (3.7–5.9× from 512²); slower against 16-thread OpenBLAS (MatMul 0.42× at 512² and 0.51× at 1024², though 1.44× faster at 256²; Dot 0.69× and mat·vec 0.52×, all measured in one run with NumPy) and on allocating elementwise forms outside a Workspace. On Apple silicon the packed GEMM reaches tuned-BLAS parity at 1024² and beats the pure-Go gonum 4–10×. On the other targets, against its own scalar code on one core: on a RISC-V SpacemiT X60 the RVV kernels make Sum up to 5.8× faster and cut MatMul time by 31–45%; on an IBM z17 the s390x kernels take MatMul 1024² from 340 to 70 ms and cut Max by 92–96%.