点积不能同时自动并行化和自动矢量化

时间:2019-05-02 22:06:54

标签: c++ visual-c++ parallel-processing vectorization

当编译器同时对我的代码进行标量点积的并行化和矢量化时,我想测试编译器优化的速度,但是由于某些原因,编译器只允许我对代码进行矢量化或并行化,但不能同时对两者进行编译。 / p>

下面是我目前无法并行化的代码(它给我的错误代码为1004)

float dot_product(float* a, float* b, int N) {
    float result = 0;
    #pragma loop(hint_parallel(0))
    for (int i = 0; i < N; i++) {
            result += (*(a+i) * *(b+i));
    }
    return result;
}

0 个答案:

没有答案