Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] Setting up Open MPI to run on multiple servers
From: Rayne (lancer6238_at_[hidden])
Date: 2008-08-12 22:52:15


Thank you for all the replies.

Here's what I have now.

I modified my .bash_profile on my server to include the path of my executables, and now mpiexec and mpicc both point to the correct ones. I tried setting the LD_LIBRARY_PATH too, but it didn't seem to work, as it kept telling me it couldn't find the sharded library libmpi.so.0, although 'which libmpi.so.0' gave me the correct location. Then I modified the /etc/ld.so.conf file to include the directory of the libraries, and now the MPI programs work correctly on the server.

Now, my problem is that I have trouble running the program using my PC and remotely on my server. I have the IP address of my server in the openmpi-default-hostfile in my PC, and I have set up a password-less ssh between them (though I have set it up such that it asks for a passphrase). All my programs and executables are in the shared folder. However, when I tried to run the program on my PC using 'mpiexec -n 2 ./a.out', I get the following error:

"Failed to find or execute the following executable:

Host: (Name of my server)
Executable: ./a.out

Cannot continue."

If I try to compile then execute the program locally, on both my PC and server, they run fine. It's only when I try to get both PC and server to run the program concurrently, (which is the purpose of using MPI) that I get the error. I have checked and the a.out file is exactly the same on the PC and server, in terms of the size and date/time modified.

One thing is that my PC is a 64-bit machine, and my server is a 32-bit machine. Could this be a factor, that a program compiled on a 64-bit machine cannot run on a 32-bit machine?

Also, I don't quite understand the mechanism of how MPI allows one machine to communicate with another. For example, after compiling a program, an executable is created and stored on that machine and also on the remote nodes, through the use of a shared system. So when I run the program, how does the machine I'm at get the remode nodes to run the program too?

Thank you, and sorry for the long email.

Regards,
Rayne

      New Email addresses available on Yahoo!
Get the Email name you've always wanted on the new @ymail and @rocketmail.
Hurry before someone else does!
http://mail.promotions.yahoo.com/newdomains/sg/