矢量化两个排序数组的合并/并集

时间:2018-03-17 12:56:35

标签: vectorization sse avx

我最近开始研究使用向量指令加速代码的机会。我的代码很大程度上依赖于集合的操作 - 为简单起见,我们假设它们表示为16位无符号整数的排序数组。我需要执行的操作是:

  1. 交集(即两个集合中包含的每个元素都将出现在输出集中)
  2. Union(即,至少其中一个集合中包含的每个元素将仅在输出集中出现一次)
  3. 合并(与merge-sort中的合并完全一样,输出是两个数组的排序“连接”)
  4. 我找到了专注于矢量化交叉的工作(例如,http://www.adms-conf.org/p1-SCHLEGEL.pdf),但我没有找到其他两个操作的任何东西。我很好奇,是否有可能通过矢量化来加速其他两个操作? (我的目标是使用AVX或AVX2指令集的CPU。)

0 个答案:

没有答案