[Darshan-commits] [Darshan] branch, dev-modular, updated. 7b412204c29e14502ee14a2f7f71b99f285c1fb9

Service Account git at mcs.anl.gov
Tue Feb 17 17:00:39 CST 2015


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "".

The branch, dev-modular has been updated
       via  7b412204c29e14502ee14a2f7f71b99f285c1fb9 (commit)
      from  bec14184625b9df85e56f60d8d3ca6b9feb4d013 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 7b412204c29e14502ee14a2f7f71b99f285c1fb9
Author: Shane Snyder <ssnyder at mcs.anl.gov>
Date:   Tue Feb 17 17:00:13 2015 -0600

    misc bug fixes and more documentation

-----------------------------------------------------------------------

Summary of changes:
 darshan-runtime/darshan-core.h      |    3 ++
 darshan-runtime/lib/darshan-core.c  |   10 +++--
 darshan-runtime/lib/darshan-posix.c |    2 +-
 doc/darshan-dev-status.txt          |   64 +++++++++++++++++++++++++----------
 4 files changed, 56 insertions(+), 23 deletions(-)


Diff of changes:
diff --git a/darshan-runtime/darshan-core.h b/darshan-runtime/darshan-core.h
index 0caa468..8d1c0ce 100644
--- a/darshan-runtime/darshan-core.h
+++ b/darshan-runtime/darshan-core.h
@@ -38,4 +38,7 @@ struct darshan_core_record_ref
     UT_hash_handle hlink;
 };
 
+uint32_t darshan_hashlittle(const void *key, size_t length, uint32_t initval);
+uint64_t darshan_hash(const register unsigned char *k, register uint64_t length, register uint64_t level);
+
 #endif /* __DARSHAN_CORE_H */
diff --git a/darshan-runtime/lib/darshan-core.c b/darshan-runtime/lib/darshan-core.c
index ee76829..8d21b35 100644
--- a/darshan-runtime/lib/darshan-core.c
+++ b/darshan-runtime/lib/darshan-core.c
@@ -3,6 +3,7 @@
  *      See COPYRIGHT in top-level directory.
  */
 
+#define _XOPEN_SOURCE 500
 #define _GNU_SOURCE
 
 #include "darshan-runtime-config.h"
@@ -19,6 +20,7 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <sys/vfs.h>
+#include <zlib.h>
 #include <mpi.h>
 #include <assert.h>
 
@@ -40,7 +42,7 @@ static int nprocs = -1;
 #define DARSHAN_MAX_MNT_TYPE 32
 struct mnt_data
 {
-    int64_t hash;
+    int64_t hash; /* TODO: should it be possible for these to be negative? */
     int64_t block_size;
     char path[DARSHAN_MAX_MNT_PATH];
     char type[DARSHAN_MAX_MNT_TYPE];
@@ -430,11 +432,11 @@ static void darshan_core_shutdown()
         /* create a communicator to use for shutting down the module */
         if(global_mod_use_count[i] == nprocs)
         {
-            MPI_Comm_dup(MPI_COMM_WORLD, &mod_comm);
+            DARSHAN_MPI_CALL(PMPI_Comm_dup)(MPI_COMM_WORLD, &mod_comm);
         }
         else
         {
-            MPI_Comm_split(MPI_COMM_WORLD, local_mod_use[i], 0, &mod_comm);
+            DARSHAN_MPI_CALL(PMPI_Comm_split)(MPI_COMM_WORLD, local_mod_use[i], 0, &mod_comm);
         }
 
         /* if module is registered locally, get the corresponding output buffer */
@@ -479,7 +481,7 @@ static void darshan_core_shutdown()
             this_mod = NULL;
         }
 
-        MPI_Comm_free(&mod_comm);
+        DARSHAN_MPI_CALL(PMPI_Comm_free)(&mod_comm);
     }
 
     /* rank 0 is responsible for writing the log header */
diff --git a/darshan-runtime/lib/darshan-posix.c b/darshan-runtime/lib/darshan-posix.c
index 1578b92..f3dec65 100644
--- a/darshan-runtime/lib/darshan-posix.c
+++ b/darshan-runtime/lib/darshan-posix.c
@@ -419,7 +419,7 @@ static void posix_get_output_data(MPI_Comm comm, void **buffer, int *size)
 {
     int comm_cmp;
     
-    MPI_Comm_compare(MPI_COMM_WORLD, comm, &comm_cmp);
+    DARSHAN_MPI_CALL(PMPI_Comm_compare)(MPI_COMM_WORLD, comm, &comm_cmp);
 
     /* only do shared file reductions if this communicator includes _everyone_ */
     if((comm_cmp == MPI_IDENT) || (comm_cmp == MPI_CONGRUENT))
diff --git a/doc/darshan-dev-status.txt b/doc/darshan-dev-status.txt
index b0c9b52..548d49b 100644
--- a/doc/darshan-dev-status.txt
+++ b/doc/darshan-dev-status.txt
@@ -1,37 +1,65 @@
-Darshan-modular branch development notes
-========================================
+Darshan modularization branch development notes
+===============================================
 
 == Introduction
 
-Darshan-modular is the new implementation of Darshan (version >= 3.0.0), a lightweight
-toolkit for characterizing the I/O performance of instrumented HPC applications.
+Darshan is a lightweight toolkit for characterizing the I/O performance of instrumented
+HPC applications.
 
-Previously, Darshan had been designed to gather I/O data from a static set of sources.
+Darshan was originally designed to gather I/O data from a static set of sources.
 Adding instrumentation for additional sources of I/O data was only possible through
 manual modification of the Darshan log file format, which consequentially breaks
-other utilities reliant on that format.
+any other utilities reliant on that format.
 
-Darshan-modular is differentiated from previous versions in that it modularizes the Darshan
-runtime environment and log file format such that new "instrumentation modules" can be
-added without breaking existing tools. Essentially, developers are given a framework to
-implement arbitrary modules, which are responsible for gathering I/O data from a specific
-system component (which could be from an I/O library, platform-specific data, etc.). Darshan
-can then manage these modules and create a valid Darshan log regardless of how many or what
-types of modules are used.
+Starting with version 3.0.0, the Darshan runtime environment and log file format have
+been redesigned such that new "instrumentation modules" can be added without breaking
+existing tools. Developers are given a framework to implement arbitrary instrumentation
+modules, which are responsible for gathering I/O data from a specific system component
+(which could be from an I/O library, platform-specific data, etc.). Darshan can then
+manage these modules at runtime and create a valid Darshan log regardless of how many
+or what types of modules are used.
 
-== Status
+== Architectural overview
 
-=== Runtime status
+The Darshan source tree is composed of two primary components:
 
-Text.
+* *darshan-runtime*: Darshan runtime environment necessary for instrumenting MPI
+applications and generating I/O characterization logs.
+
+* *darshan-util*: Darshan utilities for analyzing the contents of a given Darshan
+I/O characterization log.
 
-=== Util status
+=== darshan-runtime
 
 Text.
 
-=== Counters status
+=== darshan-util
 
 Text.
 
+== Checking out and building the modularization branch
+
+Developers can clone the Darshan source repository using the following methods:
+
+* "git clone git://git.mcs.anl.gov/radix/darshan" (read-only access)
+
+* "git clone \git at git.mcs.anl.gov:radix/darshan" (authenticated access)
+
+After cloning the Darshan source, it is necessary to checkout the modularization
+development branch:
+
+----
+git clone git at git.mcs.anl.gov:radix/darshan
+git checkout dev-modular
+----
+
+For details on building the Darshan runtime and utility repositories, consult
+the documentation from previous versions
+(http://www.mcs.anl.gov/research/projects/darshan/docs/darshan-runtime.html[darshan-runtime] and
+http://www.mcs.anl.gov/research/projects/darshan/docs/darshan-util.html[darshan-util]) -- the
+necessary steps for building these repositories should not have changed in the new version of
+Darshan.
+
 == Adding new modules
 
+Text.


hooks/post-receive
--



More information about the Darshan-commits mailing list