Efficient computation of positional population counts using SIMD instructions. (3rd May 2021)
- Record Type:
- Journal Article
- Title:
- Efficient computation of positional population counts using SIMD instructions. (3rd May 2021)
- Main Title:
- Efficient computation of positional population counts using SIMD instructions
- Authors:
- Klarqvist, Marcus D. R.
Muła, Wojciech
Lemire, Daniel - Abstract:
- Summary: In several fields such as statistics, machine learning, and bioinformatics, categorical variables are frequently represented as one‐hot encoded vectors. For example, given eight distinct values, we map each value to a byte where only a single bit has been set. We are motivated to quickly compute statistics over such encodings. Given a stream of k ‐bit words, we seek to compute k distinct sums corresponding to bit values at indexes 0, 1, 2, …, k − 1. If the k ‐bit words are one‐hot encoded then the sums correspond to a frequency histogram. This multiple‐sum problem is a generalization of the population‐count problem where we seek the sum of all bit values. Accordingly, we refer to the multiple‐sum problem as a positional population‐count . Using SIMD (Single Instruction, Multiple Data) instructions from recent Intel processors, we describe algorithms for computing the 16‐bit position population count using less than half of a CPU cycle per 16‐bit word. Our best approach uses up to 400 times fewer instructions and is up to 50 times faster than baseline code using only regular (non‐SIMD) instructions, for sufficiently large inputs.
- Is Part Of:
- Concurrency and computation. Volume 33:Number 17(2021)
- Journal:
- Concurrency and computation
- Issue:
- Volume 33:Number 17(2021)
- Issue Display:
- Volume 33, Issue 17 (2021)
- Year:
- 2021
- Volume:
- 33
- Issue:
- 17
- Issue Sort Value:
- 2021-0033-0017-0000
- Page Start:
- n/a
- Page End:
- n/a
- Publication Date:
- 2021-05-03
- Subjects:
- bioinformatics -- genomics -- population counts -- sequencing -- SIMD instructions -- software performance -- vectorization
Parallel processing (Electronic computers) -- Periodicals
Parallel computers -- Periodicals
004.35 - Journal URLs:
- http://onlinelibrary.wiley.com/ ↗
- DOI:
- 10.1002/cpe.6304 ↗
- Languages:
- English
- ISSNs:
- 1532-0626
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - 3405.622000
British Library DSC - BLDSS-3PM
British Library STI - ELD Digital store - Ingest File:
- 18550.xml