|
Boost Users : |
Subject: Re: [Boost-users] mpi non-blocking communication
From: Philipp Kraus (philipp.kraus_at_[hidden])
Date: 2010-12-01 14:18:11
On 2010-11-29 17:29:22 +0100, Riccardo Murri said:
> Hi Philipp,
>
> On Mon, Nov 29, 2010 at 4:17 PM, Philipp Kraus
> <philipp.kraus_at_[hidden]> wrote:
>> At this time I have two problems. Sometimes the programm create a error
>> with:
>> Adress not mapped (it seems that the iprobe creates the problem). I can't
>> reproduce the error.
>>
>
> It's difficult to give any sensible advice on this without compilable
> code; the general advice is to try to create a minimal test source
> that can reproduce the problem. In doing the exercise, I often found
> out the problem myself...
>
> A rough guess about your "address not mapped" error: if you are going
> to use MPI with threads, then *two* conditions must be met:
>
> (1) You must initialize MPI with MPI_Init_thread() instead of
> MPI_Init(). The boost::mpi::communicator ctor uses MPI_Init(), so you
> must run the initialization yourself and *then* create the
> communicator object. For instance::
>
> MPI_Init_thread(&argc, &argv, MPI_THREAD_SERIALIZED)
> // ...
> mpi::communicator world;
Do the Boost lib support the initialisation process? I have take a look
into the Boost MPI classes, but it seems Boost calls only the
MPI_init().
Do I understand it correct, that I must use the mpi.h for calling the
MPI_Init_thread() or is there a boost support?
>
> (2) Your MPI library must have been compiled with threads
> support. This is not the case with some Linux distributions, e.g.,
> Rocks 5.x, so double-check that MPI_Init_threads() actually did its
> job.
I used self-compiled libs, so that's not a problem
Thanks
Phil
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net