aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authory-jan137 <yousefjan24000@gmail.com>2026-03-13 16:26:47 +0300
committery-jan137 <yousefjan24000@gmail.com>2026-03-13 16:26:47 +0300
commit5ac9489c079f3f1a0ba1d2d8385001ada83a13b8 (patch)
treea07d57dbcca967685b05ee8b65b5be78e7818202 /README.md
parent38004f74df5b2dbcb07e6ad5ac2272f16882e018 (diff)
Implement vectorized matmul
Diffstat (limited to 'README.md')
-rw-r--r--README.md10
1 files changed, 10 insertions, 0 deletions
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