Skip to content

IPM+Darshan #2

@ArjenTamerus

Description

@ArjenTamerus
Darshan keeps a hashtable at runtime, which is (compressed and) written to a
binary file on program termination. Darshan analyzer reads file and parses into
Human Readable format.

Darshan provides generic interface to wrap routines, initialise modules
(darshan-runtime). Generic
hashtables to store data are provided, but not necessary. At program
termination, Darshan calls 'xxx_shutdown' routine for every module. This routine
takes the in-memory data structure, performs (optional) reduction and
compression, and writes to file. Darshan provides routine to write, uses
(P)MPI-IO to write as bytes (MPI_BYTE * sizeof(total datastructure size)).

To retrieve data, darshan-analzer (from darshan-utils) is used. Contains generic routines to perform
basic file read/write + per-module routines to read data structures back into
memory.

Idea: add --for-darshan flag / HAVE_DARSHAN ifdefs to IPM. Catch ipm_initialize
to fire through Darshan. Redefine (HAVE_DARSHAN) ipm_finalize to writeout
hashtable / data through Darshan to log file. Hook darshan_analyse into
ipm_banner and ipm_log routines, generate output from binary log.
 |-> To be decided: write out xml/json log file by default / make option / only
 output to stdout?
  |-> Interval output (IPM Hack) -> should be retained?

Write IPM_ENV data to darshan log (e.g. NESTED_REGION). JSON/XML can be defined
at darshan_analyse invocation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions