【发布时间】:2017-04-05 07:32:18
【问题描述】:
我想通过 AVX2 指令矢量化 a[i] = a[i-1] +c。由于依赖关系,它似乎无法矢量化。我已经矢量化了,想在这里分享答案,看看这个问题有没有更好的答案或者我的解决方案很好。
【问题讨论】:
-
请注意,llvm/clang 自动向量化此标量代码,您可能希望将您的解决方案与此进行比较(并可能为其他编译器提交错误报告,要求他们实现此类优化)。此外,写
a[i]=b;b+=c;是由 gcc 向量化的(尽管可能不是最佳的)。 -
谢谢,我会检查的。 Clang -O3 时间:
0.000037 sGCC -O3 时间:0.000107 s -
我的解决方案时间是
0.000045 s所以LLVM比我的解决方案快 -
@MarcGlisse,我无法提交错误报告!
User account creation filtered due to spam. -
当前创建用户帐户的方法是发送电子邮件至监督者@gcc.gnu.org(他们手动完成)。
标签: optimization simd avx2