OpenMP pragma 的含义是:不要矢量化
我有一个行程计数非常低的循环,其中矢量化没有效果,但编译器仍然对其进行矢量化。是否有一种可移植的方法来告诉编译器不要对循环进行矢量化,与#pragma omp simd 相反
I have a loop with a really low trip count where vectorization doesn't pay off, but the compiler vectorizes it nevertheless. Is there a portable way to tell a compiler not to vectorize a loop, an opposite of #pragma omp simd
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您有一个支持 OpenMP API 版本 5.1 的编译器,那么它应该接受这一点:
然后应该禁用与
simd
构造关联的循环的矢量化。请参阅 OpenMP 规范中的 simd 构造。
If you have a compiler that supports the OpenMP API version 5.1, then it should accept this:
That should then disable vectorization for the loop associated with the
simd
construct.See simd Construct in the OpenMP specification.