AW: [MPICH] Clog->Slog2 - can't use single events?

Anthony Chan chan at mcs.anl.gov
Fri May 19 04:17:44 CDT 2006



On Fri, 19 May 2006, Kilian Timmler  wrote:

> I have seen that one can switch MPI off in MPE, does that allow me to
> generate
> trace information for just one node, and do I have to deal with merging
> logdata at all?

Yes. There is a mpe2 library named libmpe_nompi.a which does not have any
mpi symbols in it.  It is not well tested though.  Let me know if you
encounter any problem.

> If I just want to go ahead and improve my simple converter, I have to adjust
> it for
> CLOG2. From what I have seen the CLOG2 format requires a peamble of length
> 1024 bytes,
> is it always 1024 bytes long?

Yes.

> Currently (with CLOG) I'm just writing down headers and records and make
> sure that the
> file is 65536 bytes long. I have to define some states and must place an end
> of
> block/file header at the end of my log data the rest is zeros.
>
> I don't really understand how to use blocks especially if the file size is
> larger, is this of any
> importance or can I just place an arbitrary number of header/record pairs
> into the file
> now (with CLOG2) and finish it of with an end of file header?

Within each CLOG2 block (whose size is defined by block_size in
CLOG_Preamble), you can put an arbitrary number of header/record pairs.
Be sure each block is ended with an CLOG_REC_ENDBLOCK record.
The last clog2 block is also ended with a CLOG_REC_ENDLOG record

> I'm tempted to just use MPE on the DSP but I fear that it has some
> considerable overhead (memory wise too).

MPE logging buffers are defined by 2 environmental variables,
CLOG_BLOCK_SIZE and CLOG_BUFFERED_BLOCKS.
The total buffer size = CLOG_BLOCK_SIZE *  CLOG_BUFFERED_BLOCKS
By default, CLOG_BLOCK_SIZE = 64k, and CLOG_BUFFERED_BLOCKS = 128
You can change them to pretty much anything you like.
However, CLOG_BLOCK_SIZE can't be too small (no less than ~512 bytes),
otherwise the overhead per block will be high.  I suggest you make
CLOG_BUFFERED_BLOCKS as small as you like.  If the buffer is still not
small enough, lower CLOG_BLOCK_SIZE.

> Also we will probably never have MPI on the DSPs/FPGAs
> and the merging of log data will
> have to happen somehow outside the cluster. For that reason I'm mainly
> interested in using jumpshot, anything else I may have to do myself.

In the upcoming release of mpe2, there is a new serial merging tool called
clog_join which can merge local clog2 files as well as clog2 files
generated by different MPI_COMM_WORLDs.

Another option: you can generate your own slog2 file from
your trace through TRACE-API defined in p.22-p.42 on SLOG2 paper
ftp://ftp.mcs.anl.gov/pub/mpi/slog2/slog2-draft.pdf
There is a sample implementation in slog2sdk/trace_sample
which converts a ASCII trace to slog2 file.

A.Chan




More information about the mpich-discuss mailing list