Моя ситуация довольно проста: я хочу запустить программу с поддержкой MPI на одном многопроцессорном/ядерном компьютере, скажем, 8.
Моя реализация MPI это МПИЧ2.
Насколько я понимаю, у меня есть несколько вариантов:
$ mpiexec -n 8 my_software
$ mpiexec -n 8 -hosts {localhost:8} my_software
или я также могу указать Hydra для «форка» а не "сш";
$ mpiexec -n 8 -launcher fork my_software
Не могли бы вы сказать мне, будут ли какие-либо различия или поведение будет таким же?
Конечно, поскольку все мои узлы будут на одной машине, я не хочу, чтобы «передача сообщений» осуществлялась через сеть (даже локальную петлю), а через разделяемую память. Насколько я понял, MPI сам разберется с этим, и это будет иметь место для всех трех вариантов.