Posts

Showing posts with the label MPI

Parallel Computing on Windows

Image
There are many ways to use MPI. In this post I show how to install and use the DeinoMPI implementation which looks very cool and is free. The screen captures in this post were taken using the nice SnapIt tool. Part 1: Installing DeinoMPI After downloading and starting the msi file: Part 2: Configuring DeinoMPI 2.1 Start the deinoMPI daemon: 2.2 Credentials Part 3: Testing In this part I show how to compile a MPI program with the free Bloodshed DevC++ IDE . I use the famous cpi.c code This installation is "Local Only" (perhaps in one of my future posts I will show how to use this tool with more than one node): The Windows Firewall is noticing the new player: Here is the execution and output window: It is nice to see the Task Manager showing the 10 parallel running processes: Part 4: A little-bit Mathematics The integration in cpi.c is done for f(x)=1/(1+x**2) between 0 to 1. It is nice to replace this function by f(x)=sqrt(1-x**2) also between 0 to 1 (the unit circle). St...

MPI.NET Tutorial

Image
In this post I will show step by step how to install and execute MPI (Message Passing Interface) parallel programs in the .NET environment. A much more detailed tutorial is available here . 1) Installation: My computer is running Windows Vista and Visual Studio 2008 is already installed. Download and install the HPC Pack 2008 (next 5 figures): Then install the MPI.NET SDK.msi (see next 4 figures): 2) Test the installation from the command line (next 3 figures): A "Ping-Pong" program Serial run: As should be, the firewall detects the communication traffic and the user should allow it: Parallel run: 3) MPI "Hello" demo using Visual Studio 2008 and C# (next 5 figures): Start a new console C# project: Add Reference to the MPI component: Build the executable: Execute the parallel program with 8 threads: Verifying the execution of the 8 threads by looking at the Task Manager: That's all for now. Your comments are welcome. Guy Tel-Zur Email: tel-zur@computer.org