MPI Неожиданный результат

Я читал и практиковал программы MPI из учебника. Там я увидел пример поиска ранга процесса. Но тот же пример дает разные результаты на моей машине (Ubuntu 10.04). Вот программа

#include  #include  main(int argc, char **argv) { int ierr, num_procs, my_id; ierr = MPI_Init(&argc, &argv); /* find out MY process ID, and how many processes were started. */ ierr = MPI_Comm_rank(MPI_COMM_WORLD, &my_id); ierr = MPI_Comm_size(MPI_COMM_WORLD, &num_procs); printf("Hello world! I'm process %i out of %i processes\n", my_id, num_procs); ierr = MPI_Finalize(); } 

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

Ожидаемый результат:

 Hello world! I'm process 0 out of 4 processes. Hello world! I'm process 2 out of 4 processes. Hello world! I'm process 1 out of 4 processes. Hello world! I'm process 3 out of 4 processes. 

Результат, который я получаю

 Hello world! I'm process 0 out of 1 processes Hello world! I'm process 0 out of 1 processes Hello world! I'm process 0 out of 1 processes Hello world! I'm process 0 out of 1 processes 

Моя машина использует intel i3, Dell Inspiron и имеет Ubuntu 10.04 ОС. Помогите мне решить проблему.

    Я только что скомпилировал и запустил вашу программу на своем Ubuntu:

     tom@tom-ThinkPad-T500:~/MPI_projects/Start/net2/net2/bin/Debug$ mpirun -n 6 ./output Hello world! I'm process 3 out of 6 processes Hello world! I'm process 4 out of 6 processes Hello world! I'm process 0 out of 6 processes Hello world! I'm process 2 out of 6 processes Hello world! I'm process 1 out of 6 processes Hello world! I'm process 5 out of 6 processes 

    Введите папку с исполняемым файлом и запустите:

    mpirun -np 2 ./output

    или же

    mpirun -np 6 ./output

    флаг -np изменяет количество вызываемых процессов ( http://linux.die.net/man/1/mpirun ).

    Вы также можете запустить mpirun без каких-либо флагов, чтобы отобразить много полезной информации.

    Еще одна интересная команда – mpirun -info , в которой будет отображаться информация о печати MPI.

    Это первая часть моего вывода:

     tom@tom-ThinkPad-T500:~/MPI_projects/Start/net2/net2/bin/Debug$ mpirun -info HYDRA build details: Version: 1.4.1 Release Date: Wed Aug 24 14:40:04 CDT 2011 

    Последнее средство – переустановить или обновить MPI, используя, например, следующую команду: sudo apt-get install libcr-dev mpich2 mpich2-doc