From e47e8cb6910b3322f02292fb65b5c1ece122eef0 Mon Sep 17 00:00:00 2001 From: Sylvain Corlay Date: Fri, 18 Sep 2026 01:07:24 +0200 Subject: [PATCH] Add OpenBLAS emscripten-forge post --- src/pages/blogs/_blogpostsDetails.js | 9 +++++++++ .../full-size-images/Emscripten-Forge.png | Bin 0 -> 12778 bytes 2 files changed, 9 insertions(+) create mode 100644 static/img/blogposts/full-size-images/Emscripten-Forge.png diff --git a/src/pages/blogs/_blogpostsDetails.js b/src/pages/blogs/_blogpostsDetails.js index 279b1cf2..33d6ff59 100644 --- a/src/pages/blogs/_blogpostsDetails.js +++ b/src/pages/blogs/_blogpostsDetails.js @@ -2,6 +2,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.blogpostsDetails = void 0; exports.blogpostsDetails = [ + { + url: "https://notebook.link/blog/the-last-mile-faster-numpy", + title: "The last mile of a long road: faster NumPy in the browser", + image: "/img/blogposts/resized-images/Emscripten-Forge.png", + summary: "For a long time, running NumPy in the browser meant running it without an accelerated BLAS. Matrix multiplications fell back to plain loops (portable, but blind to cache and SIMD). That just changed. The Emscripten-forge NumPy package now links OpenBLAS in WebAssembly.", + date: "2026-09-15", + authors: "Julien Jerphanion, Ian Thomas, Matthias Meschede", + imageID: "blogpost-image-161" + }, { url: "/blogs/Pablo-Winant-Scientific-Advisor", title: "Welcoming Pablo Winant as Scientific Advisor at QuantStack", diff --git a/static/img/blogposts/full-size-images/Emscripten-Forge.png b/static/img/blogposts/full-size-images/Emscripten-Forge.png new file mode 100644 index 0000000000000000000000000000000000000000..c86cc91094e6b810460ab73f4006146beb9063ba GIT binary patch literal 12778 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 HnS}lysoODl literal 0 HcmV?d00001