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/
|