gpt4 book ai didi

c++ - 我是否需要在我的 for 循环中使用小于 (<) 运算符来进行自动矢量化?

转载 作者:太空狗 更新时间:2023-10-29 21:22:51 28 4
gpt4 key购买 nike

我刚刚通读了 auto-vectorization page on MSDN并且仍然不真正理解哪些循环将被矢量化。

关于 the MSDN blogs我们得到了一个可以自动矢量化的循环示例:

const int N = 1000;
float a[N], b[N];
// Initialize a[i] = i; b[i] = 100 + i
int main()
{
for (int n = 0; n < N; ++n) a[n] += b[n];
}

我通常使用 n != N成语而不是n < N ;这和在 OpenMP 中一样重要吗?还是无论如何自动矢量化都有效?

最佳答案

除非您了解所有自动矢量化工作原理的每一个细节,否则您将很难预测每个循环将要做什么。如果这对您很重要,我觉得更好的方法是使用 /Qvec-report:2 定义的 here它应该告诉您给定循环是否自动矢量化以及原因。

关于c++ - 我是否需要在我的 for 循环中使用小于 (<) 运算符来进行自动矢量化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19800913/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com