Есть ли у блокировки вызова MPI (MPI_Send / Recv) ограничение по времени? - PullRequest
0 голосов
/ 17 ноября 2011

Я отправляю задания MPI на мой университетский кластер. С более крупными программами я заметил, что во время одной из моих последних коммуникационных программ моя программа аварийно завершает работу, и сообщения об ошибках почти не появляются.

mpirun noticed that process rank 0 with PID 5466 on node red0005 exited on signal 9 (Killed).

Единственное, что может помочь во всем этом, это то, что проблема возникла из-за ранга 0. Поскольку эта последняя процедура общения работает следующим образом (где <--> означает MPI_Send/Recv)

   rank 0    rank 1    rank 2    rank 3 ...    rank n
     |        <-->      <-->      <-->          <-->
     |
     |
     |
     |
     |
     |
     |
     V
  ----------------------MPI_Barrier()------------------

Я предполагаю, что попадание 0 ранга MPI_Barrier() ждет очень длительный период (570-1200 с), а затем вызывает исключение. Кроме того, на компьютерах может не хватить памяти. Когда на моей локальной машине заканчивается память, я получаю очень подробное предупреждение о нехватке памяти, но я понятия не имею, что происходит на удаленной машине. Есть идеи, что это может значить?

1 Ответ

2 голосов
/ 17 ноября 2011

Это определенно не тайм-аут.Процедуры MPI не имеют таких исключений.Если ваш кластер имеет другую библиотеку MPI (или ту же библиотеку MPI, скомпилированную с другим компилятором) или механизм запуска, попробуйте.Вероятно, это проблема с библиотекой (или ошибка в вашей программе).

...