Как смешать код Coarray и MPI в Фортране - PullRequest
1 голос
/ 04 апреля 2020

Я хотел бы объединить Фортран Coarray с MPI внутри моего кода. Я планирую использовать стороннюю программную волну (HYPRE), которая использовала MPI, для линейных решателей системы. Для остальной части моей работы я хочу использовать Фортран Coarray (OpenCoarrays). Я уже искал решение по Inte rnet. Но нет никаких подсказок о том, как заставить это работать. Интересно, можно ли смешивать фортранский кокс и MPI? Если да, следует ли мне использовать компиляторы оболочки OpenCoarrays или MPI

1 Ответ

2 голосов
/ 04 апреля 2020

OpenCoarrays находится поверх MPI-3 RMA (по крайней мере, по умолчанию; я не помню последнее состояние порта GA SNet), так что это должно работать, даже если ни один из стандартов не гарантирует этого. Вы будете использовать параллельное выполнение процессов, и они должны нормально взаимодействовать.

Intel Fortran также использует MPI для Coarrays. Coarrays Cray Fortran используют DMAPP, который совместим с MPI. Таким образом, требуемая совместимость должна охватывать все широко доступные реализации.

Во всех случаях могут быть некоторые особенности реализации, особенно в отношении инициализации и завершения. Например, вы можете обнаружить, что не можете завершить MPI, пока не будут освобождены все ваши массивы.

Я уверен, что разработчики OpenCoarrays будут благодарны за большие отчеты по этой теме c, если у вас возникнут проблемы.

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