From 5ac9489c079f3f1a0ba1d2d8385001ada83a13b8 Mon Sep 17 00:00:00 2001 From: y-jan137 Date: Fri, 13 Mar 2026 16:26:47 +0300 Subject: Implement vectorized matmul --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'README.md') diff --git a/README.md b/README.md index 6f49640..1cd42ec 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ This repo contains a small C++ dense numerical linear algebra library for `double`, with a companion experiments directory for evaluating performance. +The current matmul uses a vectorized dot-product kernel. The implementation supports compile-time SIMD backends for AVX, AVX2, AVX512, NEON (AArch64/ARM64). + ## Build ```bash @@ -9,6 +11,14 @@ cmake -S . -B build cmake --build build ``` +On x86, you can explicitly choose a matmul SIMD target at configure time: + +```bash +cmake -S . -B build -DLINEAR_ALGEBRA_SIMD=AVX2 +``` + +Valid values are `AUTO`, `NONE`, `AVX`, `AVX2`, and `AVX512`. `AUTO` uses the compiler's current target. `NONE` forces the scalar fallback. + ## Run tests ```bash -- cgit v1.2.3