LAM/MPI logo

LAM/MPI General User's Mailing List Archives

  |   Home   |   Download   |   Documentation   |   FAQ   |   all just in this list

From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2006-02-03 03:04:04


On Jan 20, 2006, at 4:33 PM, Robert Bjornson wrote:

> Looking through the code, (ssi_rpi_tcp.c) I see calls such as:
>
> if (lam_ssi_rpi_verbose >= 5) {
> lam_debug(lam_ssi_rpi_did, "tcp: module initializing");
> lam_debug(lam_ssi_rpi_did, "tcp:verbose: %d",
> lam_ssi_rpi_verbose);
> lam_debug(lam_ssi_rpi_did, "tcp:priority: %d", *priority);
>
> but I have had a bit of trouble trying to unwind how to enable
> debugging output, and where it actually goes. Does anyone know how
> to control this feature?

It's more intended for developers, but since you're poking around in
the code base, it can be advantageous for you as well. Try this:

        mpirun -ssi rpi_verbose level:1000 ...

This will cause the lam_ssi_rpi_verbose variable to be set to 1000,
and therefore the "if" conditional will be taken. lam_debug(), by
default, will send output to stderr.

There's quite a bit more to it than that, and I'm happy to explain if
you'd like -- but this should get you started.

> As an aside, the problem that I'm trying to track down is poor
> performance on message exchanges (processes in a ring, each doing 2
> isends followed by 2 recvs) for message sizes of 32K and 64K. The
> default tcp buffers on my machine are 64K.

Have a look at the latest LAM 7.1.2 beta -- we added more TCP SSI
parameters to specifically control the message buffer size. In
7.1.1, you could only control the long-vs-short TCP size and the
socket buffers were tied to this size. In 7.1.2, they're distinct
SSI parameters.

        http://www.lam-mpi.org/beta/

-- 
{+} Jeff Squyres
{+} The Open MPI Project
{+} http://www.open-mpi.org/