次の構造を持つコードがあります。
#pragma omp parallel for
for( i = 0; i < N; i++ )
{
.....
index = get_index(...);
array[index] = ...;
.....
}
現在、 の値はindexスレッドごとに一意です (異なるスレッドで重複することはありません) が、もちろん OpenMP はこれを推測できず、同期オブジェクトを使用して にアクセスしていると思いますarray。
同期オブジェクトを使用しないようにopenmpに依頼し、値が異なるスレッドで一意でarrayあることに頼るにはどうすればよいですか。indexプライベート リストに入れようとしましarrayたが、セグメンテーション エラーが発生しました。