NVIDIA / NVIDIA/cuvs

Bitwise Hamming distance efficient use of __popc

Open
#1,613 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature request
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.