Improve argsort for 32-bit
Open
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 1k
- Forks
- 74
- PR merge metrics
- No merged PRs in 30d
Description
32-bit argsort uses ymm registers: we can switch to zmm registers (use 2x i64gather instructions) and add new bitonic networks.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the 32-bit argsort implementation and its current ymm-register path, then read the existing zmm and bitonic-network implementations. Confirm how the 2x i64gather approach fits the current design. Done means 32-bit argsort uses zmm registers with the requested gathers and includes the new bitonic networks, with relevant tests or benchmarks passing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- performance
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100