Проблема с ошибкой сегментации/ Sigbus при включении OpenMP - Linux x86C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с ошибкой сегментации/ Sigbus при включении OpenMP - Linux x86

Сообщение Anonymous »

Я некоторое время пытался отлаживать эту проблему, которая возникала только после включения OpenMP. Этого не происходит, когда OpenMP отключен < /p>
В основном мой код имеет несколько блоков < /p>
omp_set_dynamic(0);
#pragma omp parallel for num_threads(numThreads)
for(i =0; i < n; i++)
if(A)
code
else if(B)
code
else if(C)
code
and so on
.....
< /code>
Проблема не возникает в следующих сценариях: < /p>

Когда я комментирует omp_set_dynamic (0); и #pragma omp parallel для num_threads (numthreads) < /li>
Когда я держу код только для условия B: if (b) код и удаляю все остальное < /li>
< /ul>
Я даже жесткодированный numphreads как 1, и все еще наблюдал за проблемой. О том, где возникает проблема, но удивительно после некоторых заявлений CERR, проблема просто исчезает < /p>
Я попытался, следовательно, прокомментировать другие условия, кроме одного условия, чтобы узнать, какое другое, если условие может вызвать проблему < /p>
Я прибыл в минимальный код следующим образом: < /p>

omp_set_dynamic(0);
#pragma omp parallel for num_threads(numThreads)
for(i =0; i < n; i++)
if(A)
code
else if(B)
code
< /code>
Но я здесь застрял и не могу расшифровать то, что может вызвать проблему дальше. Я не уверен в использовании здесь отладчика, учитывая, что режим отладки может вести себя по -разному, и в этом сценарии может даже не воспроизводить эту ошибку, поскольку мы видели, как операторы печати удаляют эту проблему < /p>
Любые возможные решения или предложения были бы великими! Заранее спасибо < /p>
Платформа: x86 Linux
Compiler: clang < /p>

Подробнее здесь: https://stackoverflow.com/questions/795 ... -linux-x86
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»