Bitwise Hamming distance efficient use of __popc
Nobody has claimed this yet.
- Dominant language
- Cuda
- Stars
- 854
- Forks
- 236
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 62
Description
#1099 implements bitwise Hamming distance computation that can be used in pairwise distances and k-means distance computation. The __popc operation is used to calculate the distance. Popc works with 32 bit input, but the current implementation only only feeds 8 bit at a time, which could potentially limit the throughput of these distance ops.
Todo: change the distance comptation routines to work on 32bit data types so that we can efficiently use __popc.
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 reviewing the implementation referenced in PR #1099 and trace the pairwise-distance and k-means distance computation routines it introduced. The work is complete when these routines operate on 32-bit data so the existing __popc operation can process wider inputs efficiently.
Written by the indexing model from the issue text.
Assessment
- Domain
- performance
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100