Я планирую использовать MPI для моего кода на С++. Я установил MPICH2 на своих компьютерах. Но я мало что знаю о MPI и надеюсь найти некоторые материалы для чтения. Надеюсь, вы, эксперты, порекомендуете мне хорошие материалы. Любые советы будут оценены.
Каков наилучший учебник по изучению MPI для С++?
Ответ 1
Я предполагаю, что вы уже знаете, как хорошо программировать С++ и иметь базовое понимание параллельного программирования (или, по крайней мере, знаете, как вы хотите распараллелить свой код).
Сначала я проверил книгу Использование MPI. Использование MPI 2 - это следующая книга, в которой обсуждается использование новых бит в MPi-2. Обе книги были написаны ребятами, которые писали библиотеку MPI и возглавляли усилия по стандартизации. Одна хорошая вещь об использовании MPI заключается в том, что он доступен в Интернете, поэтому вы можете проверить его без затрат: -)
Ответ 2
Параллельное программирование с MPI Питера С. Пачеко - хорошая вступительная книга. Обратите внимание: в книге используется C, но это должен быть легкий переход к использованию привязок MPI С++.
Ответ 3
LLNL имеет довольно хороший.
Ответ 4
Я бы посоветовал не использовать привязки MPI С++ для любой новой разработки. Сама программа может быть на С++, но приложить дополнительные усилия для использования интерфейса C в библиотеке MPI.
Форум MPI обесценивает привязки С++. Таким образом, будущие реализации MPI, вероятно, откажутся от поддержки С++. В целом, большинство реализаций скупится на функции, когда дело доходит до С++. Основы будут работать, но такие вещи, как динамические процессы (т.е. Spawn), интерфейсы PMPI и т.д., Менее хорошо поддерживаются.
Связи C и Fortran достаточно хорошо поддерживаются всеми основными реализациями и будут поддерживаться в обозримом будущем.
Ответ 5
Как отмечал @semuseless, форум MPI обесценивает привязки С++. Одной из причин этого является то, что увеличить интерфейс MPI делает гораздо лучшую работу.
Ответ 6
какое-то руководство по началу работы можно найти на LAM/MPI-сайт
Ответ 7
Mpich2 поставляется с несколькими примерами в С++/C. вероятно, самым известным является cpi, который вычисляет pi параллельно. Прочитайте программу вместе с руководствами/книгами, предложенными другими людьми. Таким образом вы сразу увидите фактический рабочий код и сможете внести свои изменения в игру.