You were right, it was linked to the lam compiler. I didn't find the
open mpi compiler on the system, though.
Now I downloaded and compiled the current stable version of openmpi.
That worked. I had to make symbolic links to the exectuables so that the
system won't get confused with the old mpi install that I can't access
to deinstall.
Now when I use my current host only as machine, it works:
$ mympicc mpitest.c -o mpitest && mympirun -np 3 -machinefile machines
mpitest
Hello, World. I am 2 of 3
Hello, World. I am 0 of 3
Hello, World. I am 1 of 3
To get it run on multiple machines, I had to give an absolute path to
the running binary:
/home/bude/ocs/openmpi/bin/mpirun -np 8 -machinefile machines mpitest
ocs@frost:~$ /home/bude/ocs/openmpi/bin/mpirun -np 8 -machinefile
machines mpitest
Hello, World. I am 4 of 8
Hello, World. I am 0 of 8
Hello, World. I am 7 of 8
Hello, World. I am 5 of 8
Hello, World. I am 1 of 8
Hello, World. I am 3 of 8
Hello, World. I am 2 of 8
Hello, World. I am 6 of 8
Yay! Works as it should (I think so, can I prove it somewhere that he
really executes the instances on the machines?)! Thanks everybody. This
is not the most elegant solution but it works eventually.
Best regards,
Oliver
Jeff Squyres (jsquyres) wrote:
Lam and open mpi are two different mpi implementations. Lam came before open mpi; we stopped developing lam years ago.
Lamboot is a lam-specific command. It has no analogue in open mpi.
Orterun is open mpi's mpirun.
>From a quick look at your paths and whatnot, its not immediately obvious how you are mixing lam and open mpi, but somehow you are. You need to disentangle them and entirely use open mpi.
Perhaps your mpicc is sym linked to the lam mpicc (instead of the open mpi
mpicc)...?
-jms
Sent from my PDA. No type good.
----- Original Message -----
From: users-boun...@open-mpi.org <users-boun...@open-mpi.org>
To: Open MPI Users <us...@open-mpi.org>
Sent: Thu Jul 08 06:13:43 2010
Subject: Re: [OMPI users] Processes always rank 0
I thought this is OpenMPI what I was using. I do not have permission to
install something, only in my home directory. All tutorials I found
started the environment with the lamboot command. Whats the difference
using only OpenMPI?
$ whereis openmpi
openmpi: /etc/openmpi /usr/lib/openmpi /usr/lib64/openmpi /usr/share/openmpi
$ echo $LD_LIBRARY_PATH
:/usr/lib/openmpi/lib:/usr/lib64/openmpi/lib:
$ whereis mpirun
mpirun: /usr/bin/mpirun.mpich /usr/bin/mpirun /usr/bin/mpirun.lam
/usr/bin/mpirun.openmpi
$ ll /usr/bin/mpirun
lrwxrwxrwx 1 root root 24 14. Aug 2008 /usr/bin/mpirun -> /usr/bin/orterun
$ ll /usr/bin/orterun
-rwxr-xr-x 1 root root 39280 25. Aug 2008 /usr/bin/orterun
$ ll /usr/bin/mpirun.openmpi
lrwxrwxrwx 1 root root 7 5. Sep 2008 /usr/bin/mpirun.openmpi -> orterun
When I run mpirun without starting the environment by using lamboot, it
says:
ocs@frost:~$ mpicc -o mpitest mpitest.c && mpirun -np 1 -machinefile
machines ./mpitest
-----------------------------------------------------------------------------
It seems that there is no lamd running on the host frost.
This indicates that the LAM/MPI runtime environment is not operating.
The LAM/MPI runtime environment is necessary for MPI programs to run
(the MPI program tired to invoke the "MPI_Init" function).
Please run the "lamboot" command the start the LAM/MPI runtime
environment. See the LAM/MPI documentation for how to invoke
"lamboot" across multiple machines.
-----------------------------------------------------------------------------
Thanks in advance,
Oliver
Jeff Squyres wrote:
If you're just starting with MPI, is there any chance you can upgrade to Open
MPI instead of LAM/MPI? All of the LAM/MPI developers moved to Open MPI years
ago.
ann/lib:/home/bude/ocs/fann
On Jul 8, 2010, at 6:01 AM, Oliver Stolpe wrote:
Hello there,
I have a problem setting up MPI/LAM. Here we go:
I start lam with the lamboot command successfully:
$ lamboot -v hostnames
LAM 7.1.2/MPI 2 C++/ROMIO - Indiana University
n-1<11960> ssi:boot:base:linear: booting n0 (frost)
n-1<11960> ssi:boot:base:linear: booting n1 (hurricane)
n-1<11960> ssi:boot:base:linear: booting n2 (hail)
n-1<11960> ssi:boot:base:linear: booting n3 (fog)
n-1<11960> ssi:boot:base:linear: booting n4 (rain)
n-1<11960> ssi:boot:base:linear: booting n5 (thunder)
n-1<11960> ssi:boot:base:linear: finished
Ok, all is fine. I test a command (hostname in this case):
$ mpirun -v --hostfile hostnames hostname
thunder
rain
frost
fog
hurricane
hail
Works. I write a hello world program for testing:
#include <mpi.h>
#include <stdio.h>
int main(int argc, char** argv) {
unsigned int rank;
unsigned int size;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Comm_size(MPI_COMM_WORLD, &size);
printf("Hello, World. I am %u of %u\n", rank, size);
MPI_Finalize();
return 0;
}
I compile and run it:
$ mpicc -o mpitest mpitest.c && mpirun -v --hostfile hostnames ./mpitest
Hello, World. I am 0 of 1
Hello, World. I am 0 of 1
Hello, World. I am 0 of 1
Hello, World. I am 0 of 1
Hello, World. I am 0 of 1
Hello, World. I am 0 of 1
And I don't get it why everyone has the rank 0 and the size is only 1. I
followed many tutorials and i proved it right many times. Does anyone
has an idea?
Thanks in advance!
Oliver
Some infos:
$ lamboot -v
LAM 7.1.2/MPI 2 C++/ROMIO - Indiana University
n-1<12088> ssi:boot:base:linear: booting n0 (localhost)
n-1<12088> ssi:boot:base:linear: finished
ocs@frost:~$ lamboot -V
LAM 7.1.2/MPI 2 C++/ROMIO - Indiana University
Arch: x86_64-pc-linux-gnu
Prefix: /usr/lib/lam
Configured by: buildd
Configured on: Sun Apr 6 01:43:15 UTC 2008
Configure host: excelsior
SSI rpi: crtcp lamd sysv tcp usysv
$ mpirun -V
mpirun (Open MPI) 1.2.7rc2
Report bugs to http://www.open-mpi.org/community/help/
$ mpicc -v
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian
4.3.2-1.1' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
--enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enable-nls
--with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3
--enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc
--enable-mpfr --enable-cld --enable-checking=release
--build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.3.2 (Debian 4.3.2-1.1)
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users