Увеличение индекса массива внутри цикла for с использованием OPENMP - PullRequest
0 голосов
/ 24 сентября 2019

Я новичок в openmp.Я пытаюсь использовать openmp для распараллеливания вложенных циклов с массивом внутри них.Индекс массива отличается от индексов цикла.Я пробовал следующее, но я не смог получить правильные результаты.Запрашиваются предложения по распараллеливанию следующего кода.Большое спасибо

int iX, iY, iPart = 0;
#pragma omp parallel for private(iY) shared(iPart)      
for (iX = xStart; iX <= xEnd; iX++) {

            for (iY = yStart; iY <= yEnd; iY++) {

                    if (number[iX][iY].count > 0) {

                        int numCount = number[iX][iY].count;

                        for (int i = 0; i < numCount; i++) {

                            A[iPart] = B[number[iX][iY].list[i]];
                            #pragma omp atomic
                            iPart++;
                          }
                     }
             }
}
...