高斯算法求1到100累加的openmp实现c++代码
时间: 2023-08-06 16:04:15 浏览: 97
高斯滤波的c++代码实现
5星 · 资源好评率100%
以下是使用OpenMP实现高斯算法求1到100累加的C++代码:
```c++
#include <iostream>
#include <omp.h>
int main() {
int n = 100;
int sum = 0;
#pragma omp parallel for reduction(+: sum)
for(int i = 1; i <= n; i++) {
sum = sum + i;
}
std::cout << "The sum of 1 to 100 is: " << sum << std::endl;
return 0;
}
```
在这个例子中,我们使用了OpenMP的并行for循环指令`#pragma omp parallel for`,并使用`reduction`指示符来指示求和操作。在每个线程的局部求和完成后,OpenMP将自动将它们组合成一个全局求和,从而避免了竞争条件和数据竞争问题。
阅读全文