Commit 8731ade9 authored by Shane Snyder's avatar Shane Snyder

update darshan modularization docs

parent 45eb36b1
......@@ -2,6 +2,16 @@
Darshan Release Change Log
--------------------------
Darshan-3.0.0-pre2
=============
* add fix to install appropriate headers for linking external
applications with darshan-util (reported by Matthieu Dorier)
* add darshan-util Ruby bindings for the new modularized version
of Darshan (3.0) (Matthieu Dorier)
* add enhancement to darshan-runtime to allow per-module instrumentation
memory to be user configurable using a configure option or a runtime
environment variable
Darshan-3.0.0-pre1
=============
* new version of Darshan with the following features/improvements:
......
......@@ -57,6 +57,8 @@ will be placed.
determine the log path at run time.
* `--with-log-hints=`: specifies hints to use when writing the Darshan log
file. See `./configure --help` for details.
* `--with-mod-mem=`: specifies the maximum amount of memory (in MiB) that
each Darshan module can consume.
* `--with-zlib=`: specifies an alternate location for the zlib development
header and library.
* `CC=`: specifies the MPI C compiler to use for compilation.
......@@ -474,3 +476,4 @@ behavior at runtime:
* DARSHAN_DISABLE_SHARED_REDUCTION: disables the step in Darshan aggregation in which files that were accessed by all ranks are collapsed into a single cumulative file record at rank 0. This option retains more per-process information at the expense of creating larger log files. Note that it is up to individual instrumentation module implementations whether this environment variable is actually honored.
* DARSHAN_LOGPATH: specifies the path to write Darshan log files to. Note that this directory needs to be formatted using the darshan-mk-log-dirs script.
* DARSHAN_LOGFILE: specifies the path (directory + Darshan log file name) to write the output Darshan log to. This overrides the default Darshan behavior of automatically generating a log file name and adding it to a log file directory formatted using darshan-mk-log-dirs script.
* DARSHAN_MODMEM: specifies the maximum amount of memory (in MiB) a Darshan instrumentation module can consume at runtime.
......@@ -224,9 +224,10 @@ a module developer must provide to interface with the darshan-core runtime.
* _my_rank_ is a pointer to an integer to store the calling process's application MPI rank in
* _mod_mem_limit_ is a pointer to an integer which will store the amount of memory Darshan
allows this module to use at runtime. Currently, `darshan-core` will hardcode this value to 2 MiB,
but in the future this may be changed to optimize Darshan's memory footprint. Note that Darshan
does not allocate any memory for modules, it just informs a module how much memory it can use.
allows this module to use at runtime. Darshan's default module memory limit is currently set to
2 MiB, but the user can choose a different value at configure time (using the `--with-mod-mem`
configure option) or at runtime (using the DARSHAN_MODMEM environment variable). Note that Darshan
does not allocate any memory for modules; it just informs a module how much memory it can use.
* _sys_mem_alignment_ is a pointer to an integer which will store the system memory alignment value
Darshan was configured with. This parameter may be set to `NULL` if a module is not concerned with the
......@@ -248,8 +249,9 @@ any I/O data.
void darshan_core_register_record(
void *name,
int len,
int printable_flag,
darshan_module_id mod_id,
int printable_flag,
int mod_limit_flag,
darshan_record_id *rec_id,
int *file_alignment);
......@@ -269,9 +271,13 @@ been previously registered.
string length, but for nonprintable record names (e.g., an integer object identifier), this
is the size of the record name type.
* _mod_id_ is the identifier for the module attempting to register this record.
* _printable_flag_ indicates whether the input record name is a printable ASCII string.
* _mod_id_ is the identifier for the module attempting to register this record.
* _mod_limit_flag_ indicates whether the calling module is out of memory to instrument new
records or not. If this flag is set, darshan-core will not create new records and instead just
search existing records for one corresponding to input _name_.
* _rec_id_ is a pointer to a variable which will store the unique record identifier generated
by Darshan.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment