Являются ли указатели частными в параллельных секциях OpenMP?

Я добавил OpenMP к существующей базе кода, чтобы распараллелить цикл for. В области parallel for области создается несколько переменных, включая указатель:

#pragma omp parallel for
for (int i = 0; i < n; i++){
    [....]
    Model *lm;
    lm->myfunc();
    lm->anotherfunc();
    [....]
}

В результирующих выходных файлах я заметил несоответствия, предположительно вызванные состоянием гонки. В конечном итоге я решил проблему гонки, используя omp critical . Однако у меня остается вопрос: является ли lm частным для каждого потока или он используется совместно?

9
задан argoneus 12 October 2011 в 19:49
поделиться