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