中文

x86 VP2INTERSECT 指令的超越原生替代方案

数据结构与算法 2022-04-19 v3 性能

摘要

我们使用基本的 AVX512F 指令为完整的 AVX512-VP2INTERSECT 指令子集提供了超越原生的替代方案。这些替代方案仅计算两个输出掩码之一,这对于计算两个已排序整数列表的交集或此类交集的大小这一典型情形已足够。虽然朴素实现(将第一个输入向量与第二个向量的所有旋转进行比较)比原生指令慢,但我们展示通过同时旋转第一和第二操作数,向量旋转的总数显著减少,从而使得对于 VP2INTERSECT 子集中的所有指令,仿真均快于原生指令。此外,这些仿真可轻松扩展到其他类型的输入(例如 16 位整数打包向量),而此类输入并无原生指令可用。

关键词

引用

@article{arxiv.2112.06342,
  title  = {Faster-Than-Native Alternatives for x86 VP2INTERSECT Instructions},
  author = {Guille Díez-Cañas},
  journal= {arXiv preprint arXiv:2112.06342},
  year   = {2022}
}