私は現在、OpenMP の使用法を学ぼうとしていますが、質問があります。そのようなことをしても安全ですか:
std::atomic<double> result;
#pragma omp parallel for
for(...)
{
result+= //some stuff;
}
または、使用しますか:
double result;
#pragma omp parallel for
for(...)
{
double tmp=0;
//some stuff;
#pragma omp atomic
result+=tmp;
}
ありがとう !
編集:配列を使用することを処理する最も簡単な方法を知っていますが、興味があるので尋ねています