8000 AVX512 intrinsics · Issue #50 · tinygraph/tinygraph · GitHub
[go: up one dir, main page]

Skip to content 8000

AVX512 intrinsics #50

@daniel-j-h

Description

@daniel-j-h

AVX512 can work on 64-byte chunks at a time.

With _mm512_popcnt_epi64 (and _mm256_popcnt_epi64?) we can popcount a range of bytes at a time.

We can use this in our rank-select implementation

  • rank: for a chunked popcount implementation iterating over the bitset,
  • select: for a chunked select, where we popcount and then find the ith bit set checking the cumulative counts

Before we decide to implement this, we need to do a little bit of research in terms of what hardware AVX512 requires, how we would test it, and if it's worth it and has enough reach as of today. It would also help to have benchmarks to understand the benefits of these custom implementations over what we have right now.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0