1

在实现图像处理应用程序时,在英特尔机器上使用 SSSE3 的预期加速是多少?

4

2 回答 2

3

SSSE3 并没有提供比 SSE3 更多的功能;但听起来您对图像处理任务很感兴趣,SSSE3 确实为此提供了一些好处;如果您碰巧正在执行一个可以很好地映射到 PMULHRSW 指令的操作(颜色空间转换,一些 alpha 操作),那么它可能会非常有益(如果您可以大量使用它,则可以提高 2 倍的速度;但这通常需要将您的代码重写为使用它——编译器为你生成一个非常困难的指令)。

PSHUFB 是另一个有用的指令;您可以使用它来进行微小的表查找,而无需收集负载,这在图像处理中非常有用。如果您有自然映射到 PSHUFB 的序列,它可以为您带来巨大的加速,但同样,有效地使用指令可能需要对算法进行重大更改。

对于其他 SSSE3 操作,我从未见过真正引人注目的用例(当它被引入时,PALIGNR偶尔会很有用,但从那时起,未对齐的内存访问变得更加高效,这使得它的用处大大降低)。

于 2012-11-05T13:40:22.013 回答
0

如果应用程序主要由pshufb或类似的指令组成,您的应用程序可能会加速数倍。

如果有一些库函数正在使用,它们有一个SSSE3优化的版本,你可能会看到一个最小的、几乎无法测量的增益。

如果应用程序不包含此类指令,并且所使用的算法不容易转化为SSSE3指令,则根本不会有任何收获。

前一种情况极为罕见,后一种情况极有可能。

于 2012-11-05T15:58:54.657 回答