Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Ubuntu 9.04 x64 MPI [РЕШЕНО]  (Прочитано 4632 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн s.r

  • Автор темы
  • Участник
  • *
  • Сообщений: 162
  • Во какой!!!!
    • Просмотр профиля
Ubuntu 9.04 x64 MPI [РЕШЕНО]
« : 25 Мая 2009, 16:34:35 »
Доброго времени суток. Передо мной встала задача разобраться с MPI. На мой установленный 64-битный Ubuntu 9.04 я скачал какую-то кучу пакетов, которые как мне показалось будут необходимы для этого (а именно: lam-runtime, mpich-bin, mpi-doc, libmpich1.0-dev, liblam4, libmpich1.0gf). У меня не было цели построить кластер, а просто надо было написать и отладить программу для существующего кластера.
Чтобы разобраться попытался написать простую программу на Си и назвал ее test:
#include <stdio.h>
#include "mpi.h"
main(int argc, char **argv) {
  int numtasks, taskid;
  MPI_Init(&argc, &argv);
  MPI_Comm_rank(MPI_COMM_WORLD, &taskid);
  MPI_Comm_size(MPI_COMM_WORLD, &numtasks);
  printf("%d\n", taskid);
  MPI_Finalize();
}
Скомпилировал ее:
#mpicc test.c -o ./test
Попытался запустить:
#mpiexec -np 2 ./test
, на что получил ошибку:
Цитировать
Lamnodes Failed!
Check if you had booted lam before calling mpiexec else use -machinefile to pass host file to mpiexec
Попытался исправиться и запустил lamboot, а потом снова запустил свой test:
#lamboot
#mpiexec -np 2 ./test
Теперь получился следующий вывод:
Цитировать
0
0
-----------------------------------------------------------------------------
It seems that [at least] one of the processes that was started with
mpirun did not invoke MPI_INIT before quitting (it is possible that
more than one process did not invoke MPI_INIT -- mpirun was only
notified of the first one, which was on node n0).

mpirun can *only* be used with MPI programs (i.e., programs that
invoke MPI_INIT and MPI_FINALIZE).  You can use the "lamexec" program
to run non-MPI programs over the lambooted nodes.
-----------------------------------------------------------------------------
mpirun failed with exit status 252
Т.е. два созданных процесса написали свои taskid, которые почему-то оба равны 0. А потом уже была ошибка запуска, что нет MPI_INIT и MPI_FINALIZE (а они  вроде как имеются). Помимо mpiexec я также пытался использовать mpirun, результат был таким же. lamexec я пробовал, ошибки не было, но taskid так же был 0 в обоих процессах.
P.S. Заранее благодарен за помощь или хотя бы за то, что Вы прочитали столь длинный пост.
« Последнее редактирование: 25 Мая 2009, 17:18:54 от s.r »

Оффлайн Kwah

  • Старожил
  • *
  • Сообщений: 1442
  • Ubuntu 17.10
    • Просмотр профиля

Оффлайн s.r

  • Автор темы
  • Участник
  • *
  • Сообщений: 162
  • Во какой!!!!
    • Просмотр профиля
Re: Ubuntu 9.04 x64 MPI
« Ответ #2 : 25 Мая 2009, 17:17:57 »
Спасибо, действительно помогло:). Оказывается, вся проблема была в том, что я использовал не те пакеты. Надо было пользоватья Open-MPI, а я использовал mpich и lamboot. А этот пакет целиком и полностью их заменяет и работает на ура!

 

Страница сгенерирована за 0.016 секунд. Запросов: 22.