Skip to content

IPM+Darshan #2

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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions