【发布时间】:2015-08-27 12:29:45
【问题描述】:
如果发生某种情况,是否可以在 SIMD 指令中进行比较并交换值。换句话说,我有 4 个整数:
(100 5) (1 42)
我想收到:
(5 100) (1 42)
即我想成对比较(第一个值与第二个值,第三个与第四个值),如果左操作数更大 - 交换值。是否可以只使用 1 个 SIMD?
P.S.:这是我第一次尝试 SIMD,可能我使用了错误的术语 - 如果我错了,请纠正我。
【问题讨论】:
-
您正在研究 SIMD(或其他 wtv)的“明显方法”有什么问题?
-
是的,对不起,我忘了说我在做什么是为了学习。我正在尝试实现不同的排序算法并尽可能加快速度。
-
在不知道要谈论哪一组 SIMD(例如 SSE/AVX 或其他东西)的情况下,他们很难谈论 SIMD?
-
我不知道 - 有没有办法用 Visual Studio 进行检查?我知道我有 Intel Core i7 4930K - 它似乎支持 AVX,但我不知道是哪个版本。
-
@nikitablack AVX(1)(所以,不是 2)因为它是常春藤