Problem installing Boost MPI on Windows with MPICH 1.2.5
I'm testing out Boost MPI on Windows following the description in
http://www.generic-programming.org/~dgregor/boost.mpi/doc/mpi/getting_starte...
I've installed MPICH 1.2.5 (the only one of the tested MPI
implementations that works with Windows) in C:\Program Files\MPICH; have
checked out boost from the CVS repository; and have bjam 3.1.13.
bjam --with-mpi
then complains about not finding MPI. For example, I tried adding to
user-config.jam the following:
using mpi : : "C:/Program Files/MPICH/SDK/Lib/mpich.lib" ;
Running bjam --with-mpi --debug-configuration then gives:
warning: toolset mpi initialization: can't find tool mpirun
...
error: 'C:/Program Files/MPICH/SDK/Lib/mpich.lib' is not a valid for property specification
Unfortunately I can't figure out how to interpret the following (from
the documentation):
If your MPI implementation does not have a wrapper compiler, or the
MPI auto-detection code does not work with your MPI's wrapper
compiler, you can pass MPI-related options explicitly via the second
parameter to the mpi module:
using mpi : : <find-shared-library>lammpio <find-shared-library>lammpi++
<find-shared-library>mpi <find-shared-library>lam
<find-shared-library>dl ;
What are the "MPI-related options"?
If anyone has succeeded in getting Boost MPI working on Windows (with
Visual Studio .NET) and with any MPI implementation, I'd appreciate
hearing how they configured it.
Thanks!
--
Charles Karney
Hi Charles, On Jul 16, 2007, at 5:10 PM, Charles Karney wrote:
I'm testing out Boost MPI on Windows following the description in
http://www.generic-programming.org/~dgregor/boost.mpi/doc/mpi/ getting_started.html
I've installed MPICH 1.2.5 (the only one of the tested MPI implementations that works with Windows) in C:\Program Files\MPICH; have checked out boost from the CVS repository; and have bjam 3.1.13.
bjam --with-mpi
then complains about not finding MPI. For example, I tried adding to user-config.jam the following:
using mpi : : "C:/Program Files/MPICH/SDK/Lib/mpich.lib" ;
The first argument to the using mpi rule should be the location of the mpicxx script. If it's located in C:/Program Files/MPICH/SDK/Bin then you just need to do this using mpi : "C:/Program Files/MPICH/SDK/Bin/mpicxx" ; for starters. Note that the name of the mpi script might be mpiCC or mpic++, among other possibilities. -- Noel
K. Noel Belcourt wrote:
The first argument to the using mpi rule should be the location of the mpicxx script. If it's located in
C:/Program Files/MPICH/SDK/Bin
then you just need to do this
using mpi : "C:/Program Files/MPICH/SDK/Bin/mpicxx" ;
for starters. Note that the name of the mpi script might be mpiCC or mpic++, among other possibilities.
-- Noel
Thanks for the suggestion.
MPICH for windows doesn't come with a mpicxx or similar script. (Most
users of Visual C++ use graphical tools for compiling and linking codes.)
So I would probably be OK using boost MPI on Unix or Linux, but my current
project equires the use of Windows.
--
Charles Karney
On Jul 17, 2007, at 8:02 AM, Charles Karney wrote:
K. Noel Belcourt wrote:
The first argument to the using mpi rule should be the location of the mpicxx script. If it's located in
C:/Program Files/MPICH/SDK/Bin
then you just need to do this
using mpi : "C:/Program Files/MPICH/SDK/Bin/mpicxx" ;
for starters. Note that the name of the mpi script might be mpiCC or mpic++, among other possibilities.
-- Noel
Thanks for the suggestion.
MPICH for windows doesn't come with a mpicxx or similar script.
Okay, guess you'll have to specify the include paths and libraries manually. Perhaps something like this using mpi : : <include>"C:/Program Files/MPICH/SDK/Include" <find-static-library>"C:/Program Files/MPICH/SDK/Lib/mpich.lib" ; would work. -- Noel
On Jul 16, 2007, at 7:10 PM, Charles Karney wrote:
I'm testing out Boost MPI on Windows following the description in
http://www.generic-programming.org/~dgregor/boost.mpi/doc/mpi/ getting_started.html
I've installed MPICH 1.2.5 (the only one of the tested MPI implementations that works with Windows) in C:\Program Files\MPICH;
I haven't tried MPICH on Windows with Boost.MPI, but I've used MPICH on Linux and MS-MPI on Windows (an MPICH variant) with Boost.MPI, so we'll get you up and running.
have checked out boost from the CVS repository; and have bjam 3.1.13.
bjam --with-mpi
then complains about not finding MPI. For example, I tried adding to user-config.jam the following:
using mpi : : "C:/Program Files/MPICH/SDK/Lib/mpich.lib" ;
I believe you'll need something like: using mpi : : <find-static-library>"C:/Program Files/MPICH/SDK/Lib/ mpich.lib" ; If mpich.lib actually corresponds to a DLL, use <find-shared-library> instead of <find-static-library>
If anyone has succeeded in getting Boost MPI working on Windows (with Visual Studio .NET) and with any MPI implementation, I'd appreciate hearing how they configured it.
I've used Boost.MPI on Windows XP with Visual Studio .NET 2005 and Microsoft's MPI (MS-MPI). If you install the Compute Cluster Pack (which includes MS-MPI) in the default place, "bjam --with-mpi" should auto-detect MS-MPI and work out of the box. We can do the same for MPICH on Windows, but I can't write the auto-detection code for a few weeks because I'm on the road and away from a Windows desktop. - Doug
participants (3)
-
Charles Karney
-
Douglas Gregor
-
K. Noel Belcourt