diff --git a/hugo.toml b/hugo.toml index 6110625..c633050 100644 --- a/hugo.toml +++ b/hugo.toml @@ -6,7 +6,7 @@ title = 'go-ndarray' disableKinds = ['taxonomy', 'term', 'rss', 'sitemap'] [params] - description = "go-ndarray is a pure-Go (CGO=0) NumPy-style n-dimensional array library for float64 — slicing/views, broadcasting, ufuncs, reductions and linear algebra, multicore + SIMD, faster than NumPy on the parallelizable core." + description = "go-ndarray is a pure-Go (CGO=0) NumPy-style n-dimensional array library for float64 — slicing/views, broadcasting, ufuncs, reductions and linear algebra, multicore + SIMD on amd64 and arm64, with a Workspace arena for loops." brand = "go-ndarray" github = "go-ndarray" heroAccent = "go-ndarray" @@ -14,7 +14,7 @@ disableKinds = ['taxonomy', 'term', 'rss', 'sitemap'] heroIntro = [ "go-ndarray is the numpy equivalent for Go: a float64 n-dimensional array with creation routines, strided views that share data, broadcasting elementwise ops and ufuncs, reductions (incl. arg / cumulative / clip / where), manipulation, and linear algebra (a panel-packed, cache-blocked GEMM) — all in pure Go, with cgo disabled.", - "Ruby has no cgo-free ndarray (Numo::NArray and NMatrix are C extensions) and gonum's optimized assembly is amd64-only. go-ndarray pairs a portable scalar core with multicore fan-out and go-asmgen SIMD kernels, beating single-threaded NumPy on the parallelizable core. 100% test coverage is the bar, differentially checked against numpy 2.2." + "Ruby has no cgo-free ndarray (Numo::NArray and NMatrix are C extensions) and gonum's optimized assembly is amd64-only. go-ndarray pairs a portable pure-Go core with multicore fan-out and, on amd64 and arm64, go-asmgen SIMD kernels; a Workspace arena takes the garbage collector out of loops. Measured against NumPy 2.5.3 on a 16-core Zen 3 it is faster on whole-array and row reductions, on Exp from 256 Ki elements and on MatMul against single-threaded OpenBLAS, and slower against 16-thread BLAS. 100% test coverage is the bar, differentially checked against NumPy." ] [menu] diff --git a/layouts/index.html b/layouts/index.html index cd842de..9dccc8f 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -18,8 +18,10 @@

Why go-ndarray

brings the n-dimensional array vocabulary — shapes, strided views, broadcasting, ufuncs, reductions and linear algebra — to Go with no cgo, cross-compiling to a static binary everywhere. The hot paths - are multicore + SIMD, so it beats single-threaded NumPy on the - parallelizable core. It is the cgo-free ndarray the Go and Ruby ecosystems lacked. + are multicore, and SIMD on amd64 and arm64, so it beats NumPy on + whole-array and row reductions, large Exp and MatMul against + single-threaded BLAS; a Workspace arena removes the garbage-collector cost + of temporaries in loops. It is the cgo-free ndarray the Go and Ruby ecosystems lacked.

@@ -28,11 +30,11 @@

Repositories

ndarray

-

The library. Creation (Zeros/Arange/Linspace/…), strided views, broadcasting elementwise + ufuncs, reductions (Sum/Max/ArgMax/CumSum/Clip/Where), manipulation (Reshape/Concatenate/Stack), and linalg (MatMul/Dot) via a panel-packed cache-blocked GEMM with a go-asmgen SIMD-FMA micro-kernel.

+

The library. Creation (Zeros/Arange/Linspace/…), strided views, broadcasting elementwise + ufuncs, reductions (Sum/Max/ArgMax/CumSum/Clip/Where), manipulation (Reshape/Concatenate/Stack), linalg (MatMul/Dot) via a panel-packed cache-blocked GEMM with a go-asmgen SIMD-FMA micro-kernel (NEON 4×8 on arm64, AVX2/FMA 6×8 on amd64), and a Workspace arena for loops (Use/Reset/Detach).

docs

-

Versioned documentation site (MkDocs Material): API reference, the roadmap, and honest benchmark pages versus NumPy 2.2 / OpenBLAS. Source →

+

Versioned documentation site (MkDocs Material): API reference, the roadmap, and honest benchmark pages versus NumPy 2.5.3 / OpenBLAS 0.3.34. Source →

brand

@@ -45,10 +47,11 @@

brand

Quality bar

{{ end }}