Ошибка Фортрана: не Может выделить память

Я испытываю некоторые затруднения из-за кода, который я параллелизировал. Код написан в Fortran90, и я параллелизировал его с помощью mpi. Я не буду отправлять код потому что его больше чем 10 тысяч строк долго.

Однако пытаясь работать над более прекрасной сеткой, я начал иметь эту ошибку:

Operating system error: Cannot allocate memory
Allocation would exceed memory limit
-------------------------------------------------------
Primary job  terminated normally, but 1 process returned
a non-zero exit code.. Per user-direction, the job has been aborted.
-------------------------------------------------------
--------------------------------------------------------------------------
mpiexec detected that one or more processes exited with non-zero status, thus causing
the job to be terminated. The first process to do so was:
  Process name: [[28926,1],0]
  Exit code:    1*

У меня есть 16 ГБ RAM, и я думаю, что превышаю 4 ГБ, не очень, но было бы похоже, будет ли предел вокруг этого. Должно быть много пространства. Я раньше имел подобную проблему в FORTRAN77 (я первоначально написал код в F77 и затем передал его Fortran90). Я раньше решал его с помощью флага -mcmodel=large. Однако это не работает теперь.

Кроме того, что-то странно, потому что, если я выполняю только один процесс для данной сетки, он даст эту ошибку на выделении памяти. Но если я выполняю его в, позволяет, говорят, 8 процессов, ошибки не происходит. Это походит на предел "перемещения" с количеством процессов. Когда я выполняю больше процессов, массивы меньше в каждом процессе, но общий объем выделенной памяти должен быть больше, чем только с одним процессом.

Здесь Вы видите мой терминал, ошибку и вершину, в то время как код работает

Какая-либо идея того, что могло бы продолжаться?

0
задан 16 October 2019 в 17:15

1 ответ

Спасибо вам обоим. Я нашел причину, почему я выделял огромный объем памяти. Все было правильно, я просто забыл, что выделял огромный массив, который я должен сделать что-то еще в другой версии кода.

Спасибо.

0
ответ дан 22 December 2019 в 00:18

Другие вопросы по тегам:

Похожие вопросы: