Каков наилучший учебник по изучению MPI для С++?

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

7 ответов

Я предполагаю, что вы уже знаете, как хорошо программировать С++ и иметь базовое понимание параллельного программирования (или, по крайней мере, знаете, как вы хотите распараллелить свой код).

Сначала я проверил книгу Использование MPI. Использование MPI 2 - это следующая книга, в которой обсуждается использование новых бит в MPi-2. Обе книги были написаны ребятами, которые писали библиотеку MPI и возглавляли усилия по стандартизации. Одна хорошая вещь об использовании MPI заключается в том, что он доступен в Интернете, поэтому вы можете проверить его без затрат: -)


Параллельное программирование с MPI Питера С. Пачеко - хорошая вступительная книга. Обратите внимание: в книге используется C, но это должен быть легкий переход к использованию привязок MPI С++.


Я бы посоветовал не использовать привязки MPI С++ для любой новой разработки. Сама программа может быть на С++, но приложить дополнительные усилия для использования интерфейса C в библиотеке MPI.

Форум MPI обесценивает привязки С++. Таким образом, будущие реализации MPI, вероятно, откажутся от поддержки С++. В целом, большинство реализаций скупится на функции, когда дело доходит до С++. Основы будут работать, но такие вещи, как динамические процессы (т.е. Spawn), интерфейсы PMPI и т.д., Менее хорошо поддерживаются.

Связи C и Fortran достаточно хорошо поддерживаются всеми основными реализациями и будут поддерживаться в обозримом будущем.


Как отмечал @semuseless, форум MPI обесценивает привязки С++. Одной из причин этого является то, что увеличить интерфейс MPI делает гораздо лучшую работу.


какое-то руководство по началу работы можно найти на LAM/MPI-сайт


Mpich2 поставляется с несколькими примерами в С++/C. вероятно, самым известным является cpi, который вычисляет pi параллельно. Прочитайте программу вместе с руководствами/книгами, предложенными другими людьми. Таким образом вы сразу увидите фактический рабочий код и сможете внести свои изменения в игру.

licensed under cc by-sa 3.0 with attribution.