私は相互依存関係のあるサイクルでループを並列化しようとしていますが、削減とコード作業を試してみましたが、結果は間違っています。正しいサイクルで配列を更新すると、ループを並列化する正しい結果を得る方法がありますか?プライベート句がsumに使用されてきたかのように #pragma omp parallel for reduction(+: sum)
for (int i = 0; i < DATA_
radeon HD 7970 Tahiti XTでOpenCLを使用した2段階合計削減(このAMD linkから)に関するランタイムベンチマークを実行したいと考えています。 最初に、サイズの入力配列からサイズNworkItemsの出力配列への縮小を実行する最初のループを使用しないコードの最初のバージョンを使用しました。ここでカーネルのコードに、この最初のループは次のとおり int global_i
コードを並列化しようとしていますが、マップ内の挿入を並列にディスパッチするという問題を解決しました。しかし、プログラムは私に私がマップサイズの条件付きチェックに関連すると思うメモリエラーを与える。概念的なエラーがありますか、その部分も同期することは可能ですか? if (PERF_ROWS == MAX_ROWS)
{
int array_dist[PERF_ROWS];
#