Выполнение параллельной программы MPI на одном компьютере - PullRequest
3 голосов
/ 12 октября 2011

Я хочу запускать параллельные коды на одном компьютере с процессором Core i7. Я могу скомпилировать свой код, но у меня проблемы с его запуском.np 8 ./a.out "только один процесс.Моя операционная система Linux Ubuntu 11.04.

Работает, что я должен делать?

Например, я хочу запустить этот код:

#include <iostream>
#include <mpi.h>
using namespace std;

int main(int argc, char **argv)
{
    int mynode, totalnodes;
    MPI_Init(&argc,&argv);
    MPI_Comm_size(MPI_COMM_WORLD, &totalnodes);
    MPI_Comm_rank(MPI_COMM_WORLD, &mynode);
    cout << "Hello world from process " << mynode;
    cout << " of " << totalnodes << endl;
    MPI_Finalize();
}

Я использую mpich2 с mpirun --версия: 1.3.1

Ответы [ 2 ]

2 голосов
/ 12 октября 2011

В вашей версии mpich2 рекомендуется использовать mpiexec вместо mpirun.

Чтобы запустить приложение, вы должны написать машинный файл со следующим синтаксисом:

machine1[:number of cores]
...
machinen[:number of cores]

Одна строкадля каждой машины с необязательным числом ядер, которому предшествует двоеточие, например:

node0:2
node1:3

Затем вы вызываете свое приложение так:

mpiexec -f machinefile -n <number of processes> yourapplication

Попробуйте и скажите нам, что выполучить.

Помните, что в конфигурации по умолчанию mpich2 требует конфигурации ssh без входа в систему для запуска процессов.

0 голосов
/ 23 марта 2012

Если вы используете операционную систему Ubuntu, вы также можете выполнять свои коды с помощью mpiexec -n 8 / path / to / application, и никакой машинный файл не требуется, просто убедитесь, что вы правильно установили библиотеку mpich, для этого вы можете использовать менеджер пакетов synapticдля установки библиотеки.

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