linebender / linebender/fearless_simd

Optimize 4-way interleaved load/store on x86

Open
#305 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
457
Forks
30
Avg merge
1d 10h
Merged PRs (30d)
25

Description

NEON has a native instruction for this, but x86 does not, so it has to be emulated.

Right now there is no dedicated AVX2 lowering, it's all just sequences of SSE unpacks. It's almost certainly possible to do better.

#298 addressed the API shortcomings but didn't change performance.

Contributor guide

No contributing guide indexed for this repository

Research direction

Locate the 4-way interleaved load/store lowering and its current SSE-unpack sequence, then compare it with the NEON implementation and the lack of a dedicated AVX2 lowering. Done means improving the x86 implementation's performance while preserving the API changes addressed by #298 and existing behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
performance
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.