Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
D
darshan
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
72
Issues
72
List
Boards
Labels
Milestones
Merge Requests
5
Merge Requests
5
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
darshan
darshan
Commits
7b412204
Commit
7b412204
authored
Feb 17, 2015
by
Shane Snyder
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
misc bug fixes and more documentation
parent
bec14184
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
56 additions
and
23 deletions
+56
-23
darshan-runtime/darshan-core.h
darshan-runtime/darshan-core.h
+3
-0
darshan-runtime/lib/darshan-core.c
darshan-runtime/lib/darshan-core.c
+6
-4
darshan-runtime/lib/darshan-posix.c
darshan-runtime/lib/darshan-posix.c
+1
-1
doc/darshan-dev-status.txt
doc/darshan-dev-status.txt
+46
-18
No files found.
darshan-runtime/darshan-core.h
View file @
7b412204
...
...
@@ -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 */
darshan-runtime/lib/darshan-core.c
View file @
7b412204
...
...
@@ -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 */
...
...
darshan-runtime/lib/darshan-posix.c
View file @
7b412204
...
...
@@ -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
))
...
...
doc/darshan-dev-status.txt
View file @
7b412204
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.). Darsha
n
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 the
n
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@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@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.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment