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

update darshan modularization docs

parent 45eb36b1
...@@ -2,6 +2,16 @@ ...@@ -2,6 +2,16 @@
Darshan Release Change Log 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 Darshan-3.0.0-pre1
============= =============
* new version of Darshan with the following features/improvements: * new version of Darshan with the following features/improvements:
......
...@@ -57,6 +57,8 @@ will be placed. ...@@ -57,6 +57,8 @@ will be placed.
determine the log path at run time. determine the log path at run time.
* `--with-log-hints=`: specifies hints to use when writing the Darshan log * `--with-log-hints=`: specifies hints to use when writing the Darshan log
file. See `./configure --help` for details. 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 * `--with-zlib=`: specifies an alternate location for the zlib development
header and library. header and library.
* `CC=`: specifies the MPI C compiler to use for compilation. * `CC=`: specifies the MPI C compiler to use for compilation.
...@@ -474,3 +476,4 @@ behavior at runtime: ...@@ -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_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_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_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. ...@@ -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 * _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 * _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, allows this module to use at runtime. Darshan's default module memory limit is currently set to
but in the future this may be changed to optimize Darshan's memory footprint. Note that Darshan 2 MiB, but the user can choose a different value at configure time (using the `--with-mod-mem`
does not allocate any memory for modules, it just informs a module how much memory it can use. 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 * _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 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. ...@@ -248,8 +249,9 @@ any I/O data.
void darshan_core_register_record( void darshan_core_register_record(
void *name, void *name,
int len, int len,
int printable_flag,
darshan_module_id mod_id, darshan_module_id mod_id,
int printable_flag,
int mod_limit_flag,
darshan_record_id *rec_id, darshan_record_id *rec_id,
int *file_alignment); int *file_alignment);
...@@ -269,9 +271,13 @@ been previously registered. ...@@ -269,9 +271,13 @@ been previously registered.
string length, but for nonprintable record names (e.g., an integer object identifier), this string length, but for nonprintable record names (e.g., an integer object identifier), this
is the size of the record name type. 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. * _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 * _rec_id_ is a pointer to a variable which will store the unique record identifier generated
by Darshan. 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