Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] Outputting rank and size for all outputs.
From: Ralph H Castain (rhc_at_[hidden])
Date: 2008-07-11 09:59:54


Not until next week's meeting, but I would guess we would simply prepend the
rank. The issue will be how often to tag the output since we write it in
fragments to avoid blocking - so do we tag the fragment, look for newlines
and tag each line, etc.

We'll figure something out... ;-)

On 7/11/08 7:52 AM, "Mark Dobossy" <mdobossy_at_[hidden]> wrote:

> That sounds great Ralph! Do you have any more details about how the
> process rank would be added?
>
> And thanks for the other suggestions from Ashley and Galen. Both
> methods look like they would work great, and are probably a little
> nicer than my current setup.
>
> -Mark
>
>
> On Jul 11, 2008, at 9:46 AM, Ralph H Castain wrote:
>
>> Adding the ability to tag stdout/err with the process rank is fairly
>> simple.
>> We are going to talk about this next week at a design meeting - we
>> have
>> several different tagging schemes that people have requested, so we
>> want to
>> define a way to meet them all that doesn't create too much ugliness
>> in the
>> code.
>>
>> Will get back to you on this one. Regardless, the earliest version
>> it could
>> show up in would be 1.3 (which is a tight question given current
>> release
>> plans).
>>
>>
>> On 6/24/08 9:36 AM, "Ashley Pittman" <apittman_at_concurrent-
>> thinking.com>
>> wrote:
>>
>>>
>>> If you are using the openmpi mpirun then you can put the following
>>> in a
>>> wrapper script which will prefix stdout in a manner similar to what
>>> you
>>> appear to want. Simply add the wrapper script before the name of
>>> your
>>> application.
>>>
>>> Is this the kind of thing you were aiming for? I'm quite surprised
>>> mpirun doesn't have an option for this actually, it's a fairly common
>>> thing to want.
>>>
>>> Ashley Pittman.
>>>
>>> #!/bin/sh
>>>
>>> $@ | sed "s/^/\[rk:$OMPI_MCA_ns_nds_vpid,sz:
>>> $OMPI_MCA_ns_nds_num_procs
>>> \]/"
>>>
>>> On Tue, 2008-06-24 at 11:06 -0400, Mark Dobossy wrote:
>>>> Lately I have been doing a great deal of MPI debugging. I have,
>>>> on an
>>>> occasion or two, fallen into the trap of "Well, that error MUST be
>>>> coming from rank X. There is no way it could be coming from any
>>>> other
>>>> rank..." Then proceeding to debug what's happening at rank X,
>>>> only to
>>>> find out a few frustrating hours later that rank Y is throwing the
>>>> output (I'm sure no one else out there has fallen into this
>>>> trap). It
>>>> was at that point, I decided to write up some code to automatically
>>>> (sort of) output the rank and size of my domain with every
>>>> output. I
>>>> write mostly in C++, and this is what I came up with:
>>>>
>>>> #include <iostream>
>>>> #include <mpi.h>
>>>>
>>>> std::ostream &mpi_info(std::ostream &s) {
>>>> int rank, size;
>>>> rank = MPI::COMM_WORLD.Get_rank();
>>>> size = MPI::COMM_WORLD.Get_size();
>>>> s << "[rk:" << rank << ",sz:" << size << "]: ";
>>>> return s;
>>>> }
>>>>
>>>> Then in my code, I have changed:
>>>>
>>>> std::cerr << "blah" << std::endl;
>>>>
>>>> to:
>>>>
>>>> std::cerr << mpi_info << "blah" << std::endl;
>>>>
>>>> (or cout, or file stream, etc...)
>>>>
>>>> where "blah" is some amazingly informative error message.
>>>>
>>>> Are there other ways people do this? Simpler ways perhaps?
>>>>
>>>> -Mark
>>>> _______________________________________________
>>>> users mailing list
>>>> users_at_[hidden]
>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>
>>> _______________________________________________
>>> users mailing list
>>> users_at_[hidden]
>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>
>>
>> _______________________________________________
>> users mailing list
>> users_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users