Faster-Than-Native Alternatives for x86 VP2INTERSECT Instructions

12/12/2021
by   Guille Díez-Cañas, et al.
0

We present faster-than-native alternatives for the full AVX512-VP2INTERSECT instruction subset using basic AVX512F instructions. These alternatives compute only one of the output masks, which is sufficient for the typical case of computing the intersection of two sorted lists of integers, or computing the size of such an intersection. While the naïve implementation (compare the first input vector against all rotations of the second) is slower than the native instructions, we show that by rotating both the first and second operands at the same time there is a significant saving in the total number of vector rotations, resulting in the emulations being faster than the native instructions, for all instructions in the VP2INTERSECT subset. Additionally, the emulations can be easily extended to other types of inputs (e.g. packed vectors of 16-bit integers) for which native instructions are not available.

READ FULL TEXT

page 1

page 3

page 7

page 8

page 9

research
03/01/2018

The Effect of Instruction Padding on SFI Overhead

Software-based fault isolation (SFI) is a technique to isolate a potenti...
research
12/15/2017

Improved Ahead-of-Time Compilation of Stack-Based JVM Bytecode on Resource-Constrained Devices

Many virtual machines exist for sensor nodes with only a few KB RAM and ...
research
11/07/2019

Efficient Computation of Positional Population Counts Using SIMD Instructions

In several fields such as statistics, machine learning, and bioinformati...
research
11/08/2022

Microprocessor Design with Dynamic Clock Source and Multi-Width Instructions

This paper introduces a novel 32-bit microprocessor, based on the RISC-V...
research
05/31/2023

Minotaur: A SIMD-Oriented Synthesizing Superoptimizer

Minotaur is a superoptimizer for LLVM's intermediate representation that...
research
05/08/2011

Taking the redpill: Artificial Evolution in native x86 systems

In analogon to successful artificial evolution simulations as Tierra or ...
research
08/16/2023

Continuing WebAssembly with Effect Handlers

WebAssembly (Wasm) is a low-level portable code format offering near nat...

Please sign up or login with your details

Forgot password? Click here to reset