RoaringBitmap / RoaringBitmap/CRoaring
Implement the AVX-512 versions of the following functions
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 1.9k
- Forks
- 334
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 17
Description
Starting with version 1.0.0 of the library we have AVX-512 routines, but we are still missing many optimizations.
The following functions related to array containers may be upgraded to versions using AVX-512 instructions:
- xor_vector16
- union_vector16
- difference_vector16
- int32_t intersect_vector16
- intersect_vector16_inplace
- intersect_vector16_cardinality
- bitset_set_list (also need AVX)
- array_container_to_uint32_array
- run_container_to_uint32_array (also need AVX)
This is an open issue and we are inviting pull requests.
cc @huihan365
Contributor guide
No contributing guide indexed for this repository
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
Begin by locating the existing AVX-512 routines and the listed array-container functions, using the completed array_container_to_uint32_array item as a reference. Review each remaining unchecked function, including the AVX work noted for bitset_set_list and run_container_to_uint32_array. Done means the remaining listed functions have corresponding AVX-512 optimizations.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100