Практика кодирования MPI с большими проектами множественная MPI_Finalize (); или только один? - PullRequest
0 голосов
/ 22 февраля 2012

Привет для больших проектов MPI в C ++ с несколькими файлами .hp и .cpp, если есть MPI_Finalize (); в конце каждого заголовка или файла cpp, который использует функцию mpi? или должен быть только глобальный в основном файле cpp? Это также относится и к инициации MPI

Ответы [ 2 ]

3 голосов
/ 22 февраля 2012

Из MPI Reference :

[MPI_Init] должен вызываться перед любой другой подпрограммой MPI. Это должно быть звонил максимум один раз; последующие вызовы ошибочны (см. MPI_INITIALIZED).

Все программы MPI должны содержать вызов MPI_INIT; эта рутина должна быть вызывается перед любой другой подпрограммой MPI (кроме MPI_INITIALIZED) называется.

[...]

[MPI_Finalize] очищает все состояние MPI. Как только эта процедура называется, нет Можно вызвать процедуру MPI (даже MPI_INIT).

3 голосов
/ 22 февраля 2012

MPI_Init () отвечает за инициирование связи с другими процессами, поэтому вы можете вызывать его только один раз, если это возможно. MPI_Finalize () означает, что вы закончили с MPI и больше не будете вызывать функции MPI для остальной части программы.

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