Я планирую использовать MPI для своего кода C++. Я установил MPICH2 на своих компьютерах. Но я не знаю много о MPI и надеюсь найти, что некоторые материалы читают. Я надеюсь Вы, эксперты могут рекомендовать некоторые хорошие материалы мне. Любой совет будет цениться.
Полагаю, вы уже достаточно хорошо знаете, как программировать на C ++, и имеете базовые представления о параллельном программировании (или, по крайней мере, знаете, как вы хотите распараллелить свой код).
Сначала я бы посмотрел книгу Использование MPI . Использование MPI 2 - это следующая книга, в которой обсуждается использование новых битов в MPi-2. Обе книги написаны ребятами, которые написали библиотеку MPI и возглавили работу по стандартизации. В использовании MPI приятно то, что он доступен в Интернете, поэтому вы можете проверить его, не тратя денег: -)
Mpich2 поставляется с рядом примеров на C ++ / C. вероятно, самый известный из них - cpi, который вычисляет число Пи параллельно. Прочтите программу вместе с руководствами / книгами, предложенными другими людьми. Таким образом, вы сразу увидите реальный рабочий код и сможете вносить свои собственные изменения, чтобы поиграть с вещами.
Параллельное программирование с MPI Питера С. Пачеко - хорошая вводная книга. Обратите внимание, что в книге используется C, но это должен быть легкий переход к использованию привязок C ++ MPI.
Я бы не советовал использовать привязки MPI C ++ для любых новых разработок. Сама программа может быть на C ++, но приложите дополнительные усилия, чтобы использовать интерфейс C для библиотеки MPI.
MPI Forum не поддерживает привязки C ++. Таким образом, в будущих реализациях MPI, вероятно, не будет поддержки C ++. В общем, большинство реализаций экономят на функциях, когда дело доходит до C ++. Основы будут работать, но такие вещи, как динамические процессы (т. Е. Порождение), интерфейсы PMPI и т. Д., Поддерживаются хуже.
Привязки C и Fortran достаточно хорошо поддерживаются всеми основными реализациями и будут продолжать поддерживаться в обозримом будущем.
Как отметил @semiuseless, форум MPI не поддерживает привязки C ++. Одна из причин этого заключается в том, что интерфейс ускоренного MPI работает намного лучше.
некоторое руководство по началу работы можно найти на сайте LAM / MPI