MPI. Все выполняется в одном потоке?

В универе задали лабораторную по распараллеливанию программы с помощью OpenMPI. Для начала, попробовал запустить "Hello World" и судя по выходным данным, все выполняется в одном процессе...

int main (int argc, char **argv) {
        int rank, size;
  	MPI_Init (&argc, &argv);	
 	MPI_Comm_rank(MPI_COMM_WORLD, &rank);
 	MPI_Comm_size(MPI_COMM_WORLD, &size);

  	printf( "Hello world from process %d of %d\n", rank, size );
  	MPI_Finalize();
  	
  	return 0;
}


В консоль выводится:
Hello world from process 0 of 1
Hello world from process 0 of 1
Hello world from process 0 of 1
Hello world from process 0 of 1

Компилю и запускаю такими командами:
mpicc lab3.c -o lab3
mpirun -np 4 ./lab3

Подскажите пожалуйста, в чем проблема?
  • Вопрос задан
  • 2538 просмотров
Решения вопроса 1
@miroshnik Автор вопроса
android/java dev
Проблема решилась. Причина была в кривых руках)
В начале поставил mpich2 и оно не работало (хотя у друга все нормально запустилось), потом поставил именно openmpi и все заработало)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы