views:

63

answers:

2

I'm after a method of converting a single program to run on multiple computers on a network (think "grid computing").

I'm using MSVC 2007 and C++ (non-.NET).

The program I've written is ideally suited for parallel programming (its doing analysis of scientific data), so the more computers the better.

+1  A: 

Firstly, this topic is covered here: http://stackoverflow.com/questions/2258332/distributed-computing-in-c

Secondly, a search for "C++ grid computing library", "grid computing for visual studio" and "C++ distributed computing library" returned the following:

Gravitas
+2  A: 

The classic answer for this would be MPI (Message Passing Interface). It requires a bit of work to get your program to work well with message passing, but the end result is that you can easily launch your executable across a cluster of machines that are running a MPI daemon.

There are several implementations. I've worked with MPICH, but I might consider doing this with Boost MPI (which didn't exist last time I was in the neighborhood).

Chris
Nice! The OpenMPI homepage is at http://www.open-mpi.org/, and there is a list of OpenMPI implementations at http://www.mcs.anl.gov/research/projects/mpi/implementations.html.
Gravitas