портирование существующего кода с помощью mpi на гибридный mpi openmp - PullRequest
0 голосов
/ 23 июня 2011

У меня есть код Fortran, который скомпилирован с использованием mpif90. Он компилируется и работает успешно. Но когда я представляю опцию -fopenmp, компилятор mpif90 успешно компилирует код, но программа не запускается до конца. Он внезапно завершает работу перед входом в подпрограмму. Похоже, стек заполнен, поэтому программа неожиданно завершает работу. Руководства говорят, что -fopenmp будет размещать массивы в стеке, и это похоже на использование флага -frecursive. Как мне поступить с этой проблемой и с каким -рекурсивным флагом?

1 Ответ

0 голосов
/ 23 июня 2011

Вам нужно увеличить стек как для основного потока (в linux, который будет с командой limit или ulimit), так и для подчиненных потоков (если вы используете OpenMP V3.0, это будет через переменную окружения OMP_STACKSIZE).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...