【发布时间】:2017-04-06 10:51:10
【问题描述】:
我正在寻找一种方法来优化我正在研究的算法。它是最重复的,因此计算密集的部分是比较任何大小的两个排序数组,包含唯一的无符号整数 (uint32_t) 值,以获得它们的对称差异的大小(仅存在于其中之一中的元素数量)向量)。将部署算法的目标机器使用支持 AVX2 的英特尔处理器,因此我正在寻找一种使用 SIMD 就地执行它的方法。
有没有办法利用 AVX2 指令来获得两个无符号整数的排序数组的对称差的大小?
【问题讨论】:
-
一般问题不被接受的原因是答案太模糊而无用:“当然,可能有一种方法可以使用 AVX 来加速这样的操作,但听起来很有挑战性。 "在不知道集合的一般大小、数据类型(整数?浮点数?字符串?)、值的范围、数据结构等的情况下,无话可说。
-
@Peter 谢谢你的评论。我编辑了这个问题,我希望现在更准确。这些集合基本上是具有任意大小的唯一无符号整数数组。
-
@PaulR 谢谢,我是
AVX2,我会编辑帖子。
标签: c++ algorithm sse simd avx