Почему этот код дает SIGABRT с openMP? - PullRequest
1 голос
/ 19 февраля 2012
for (int i = 0; i < x_res; i++){ 
    #pragma omp parallel for
    for (int j = 0; j < y_res; j++) {
        Ray hit = s.kd_tree->intersect(rays[i][j]);
    }
}

Почему этот код не работает параллельно? Я не могу найти причину.

Обратный вывод выводит это:

#0  0x00007fff8ce03bf2 in __psynch_mutexwait ()
#1  0x00007fff8cd331a1 in pthread_mutex_lock ()
#2  0x00000001000027e4 in gomp_barrier_destroy ()
#3  0x000000010000247b in gomp_team_end ()

1 Ответ

1 голос
/ 12 июня 2012

Загрузите последний gcc (сейчас 4.8) из http://hpc.sourceforge.net/.

Исправлена ​​ошибка с OpenMP

...