Skip to content

Develop - #11

Merged
ldaidone merged 3 commits into
mainfrom
develop
Nov 3, 2025
Merged

Develop#11
ldaidone merged 3 commits into
mainfrom
develop

Conversation

@ldaidone

@ldaidone ldaidone commented Nov 3, 2025

Copy link
Copy Markdown
Owner

No description provided.

- Introduce dispatch layer for Dot() with AVX2 / NEON detection
- Add pure Go fallback path (no CGO)
- Implement blocked dot kernel for large vectors
- Add loop-unrolled dot kernel for fast SIMD fallback
- Integrate CPU feature detection via golang.org/x/sys/cpu
- Wire Norm() and Cosine() to new Dot() pipeline
- Ensure all code paths run without assembly present
- Foundation for AVX2/NEON assembly drop-in
…er, parallel threshold heuristic

- Added blocked dot product kernel with auto-tuned block size
- DotBatch now selects serial vs parallel dynamically based on vector dim and batch size
- CPU auto-detect dispatcher implemented (AVX2/NEON placeholders)
- Removed broken ASM/CGO SIMD code to ensure cross-platform build
- Updated benchmarks, README, and CHANGELOG for v0.3.0
- Future features postponed: SIMD backends, Faiss comparison, full auto-tune validation
@ldaidone ldaidone self-assigned this Nov 3, 2025
@codecov

codecov Bot commented Nov 3, 2025

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 60.16260% with 49 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
vector/dot_batch.go 0.00% 31 Missing ⚠️
vector/dot.go 47.36% 10 Missing ⚠️
vector/tune.go 89.28% 2 Missing and 1 partial ⚠️
vector/cpu_detect.go 50.00% 2 Missing ⚠️
vector/cpu_x86.go 0.00% 2 Missing ⚠️
vector/impl_stub.go 66.66% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

@ldaidone
ldaidone merged commit 78f87ea into main Nov 3, 2025
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant