tags:

views:

222

answers:

3

Hello everybody,

I am new to parallel computing world. Can you tell me is it possible to run a c++ code uses MPI routines in my laptop with dual core or is there any simulator/emulator for doing that?

Thank you.

SRec

+1  A: 

MPI messages are transported via TCP networking (there are other high-performance possibilities like shared performance, but networking is the default). So it doesn't matter at all where the application runs as long as the nodes can connect to each other. I guess that you want to test the application on your laptop, so the nodes are all running locally and can easily connect to each other via the loopback network.

AndiDog
thank you. How can I create local nodes? my laptop is dual core that means I can distribute the work into two processing units right?Simply what I would like to do is to test my application in my machine and after that submit it to the university supercomputer. What should I do as a Windows XP user?
SRec0
-1 All the major MPI implementations default to using shared memory for message passing between ranks on the same node.
semiuseless
+1  A: 

Hey SRec,

I am not quite sure if I do understand your question, but a laptop is a computer just like any other. Providing you have set up your MPI libs correctly and set your paths, you can, of course, use MPI routines on your laptop.

As far as I am concerned, I use Debian Linux (http://www.debian.org) for all my parallel stuff. I have written a little article dealing with HowTo get MPI run on debian machines. You may want to refer to it.

S.Tayefeh
thank you S.Tayefeh, I will use your experience when I submit the work to Linux-Unix machines, the real ones. However, now I am just testing my application in my laptop without getting connected to any other machine. any suggestion?
SRec0
+3  A: 

Most MPI implementations use shared memory for communication between ranks that are located on the same host. Nothing special is required in terms of setting up the laptop.

Using a dual core laptop, you can run two ranks and the OS scheduler will tend to place them on separate cores. The WinXP scheduler tends to enforce some degree of "cpu binding" because by default jobs tend to be scheduled on the core where they last ran. However, most MPI implementations also allow for an explicit "cpu binding" that will force a rank to be scheduled on one specific core. The syntax for this is non-standard and must be gotten from the specific implementations documentation.

You should try to use "the same" version and implementation of MPI on your laptop that the university computers are running. That will help to ensure that the MPI runtime flags are the same.

Most MPI implementations ship with some kind of "compiler wrapper" or at least a set of instructions for building an application that will include the MPI library. Either use those wrappers, or follow those instructions.

semiuseless