【发布时间】:2021-04-01 00:37:26
【问题描述】:
OpenMP 如何在归约构造函数中使用atomic 指令?
完全不依赖原子指令吗?
例如,下面代码中的变量sum是用atomic'+'运算符累加的吗?
#include <omp.h>
#include <vector>
using namespace std;
int main()
{
int m = 1000000;
vector<int> v(m);
for (int i = 0; i < m; i++)
v[i] = i;
int sum = 0;
#pragma omp parallel for reduction(+:sum)
for (int i = 0; i < m; i++)
sum += v[i];
}
【问题讨论】:
标签: c++ c multithreading parallel-processing openmp