#pragma omp parallel for c++代码示例
时间: 2024-06-17 10:04:22 浏览: 286
#pragma omp parallel for 是OpenMP并行编程中的一个指令,可以用于并行化for循环中的迭代计算。该指令会将迭代空间分配给多个线程,每个线程负责执行一部分迭代,从而加速程序的运行。
以下是一个简单的 #pragma omp parallel for 的C++示例代码:
```
#include <iostream>
#include <omp.h>
int main() {
const int N = 1000000;
int a[N], b[N], c[N];
// 初始化数组
for (int i = 0; i < N; ++i) {
a[i] = i;
b[i] = N - i;
}
// 计算 c[i] = a[i] + b[i]
#pragma omp parallel for
for (int i = 0; i < N; ++i) {
c[i] = a[i] + b[i];
}
// 输出结果
for (int i = 0; i < 10; ++i) {
std::cout << c[i] << " ";
}
std::cout << std::endl;
return 0;
}
```
在上述示例代码中,我们首先初始化了两个大小为N的数组a和b,并声明了一个与之同样大小的数组c。然后使用 #pragma omp parallel for 将for循环并行化,每个线程负责执行一部分迭代计算,最后将结果存储在数组c中。最后输出前10个元素的值。
阅读全文