RoaringBitmap / RoaringBitmap/CRoaring

Implement the AVX-512 versions of the following functions

Open
#454 13 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

help wanted
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

  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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.