在哪里可以找到有关常见SIMD技巧的信息?我有一个指令集,知道如何编写非棘手的SIMD代码,但我知道,SIMD现在功能更强大。它可以保存复杂的条件无分支代码
例如(ARMv6
),以下指令序列将Rd的每个字节设置为Ra和Rb的相应字节的无符号最小值:
USUB8 Rd, Ra, Rb
SEL Rd, Rb, Ra
教程链接/不常见的SIMD技术也很好:) ARMv6 对我来说最有趣,但 x86 (SSE,...)/ Neon (在ARMv7中)/其他人也很好。
答案 0 :(得分:12)
有史以来最好的SIMD资源之一是旧的AltiVec邮件列表。虽然PowerPC / AltiVec特定的,我怀疑这个列表中的很多材料对于使用其他SIMD架构的任何人来说都是普遍感兴趣的。遗憾的是,这个列表在转移到power.org上的论坛后现在似乎已经不复存在了,但您可以找到它的存档版本。 (如果不是那么让我知道 - 我几乎有2000 - 2007年的所有帖子。)
在http://developer.apple.com/hardwaredrivers/ve/index.html,AltiVec,SSE,SIMD矢量化和性能方面也有很多潜在的有用信息,其中大部分可以转移到其他SIMD架构。
答案 1 :(得分:6)
在sourceforge上尝试AMD的SSEPlus项目