diff --git a/doc/Makefile b/doc/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..05899e60e80f0d1eb1eab00227e2419035260911 --- /dev/null +++ b/doc/Makefile @@ -0,0 +1,12 @@ +OUTPUT=darshan-modularization.pdf darshan-modularization.html + +all:: $(OUTPUT) + +%.pdf: %.txt + a2x -f pdf $< + +%.html: %.txt + a2x -f xhtml $< + +clean:: + rm -f $(OUTPUT) diff --git a/doc/darshan-dev-status.txt b/doc/darshan-modularization.txt similarity index 76% rename from doc/darshan-dev-status.txt rename to doc/darshan-modularization.txt index 548d49b63612116b17ae7934757f03d2295f662e..cebfe336d9a4aabea1f4fe4318c68d4b2f98d50c 100644 --- a/doc/darshan-dev-status.txt +++ b/doc/darshan-modularization.txt @@ -19,24 +19,6 @@ modules, which are responsible for gathering I/O data from a specific system com manage these modules at runtime and create a valid Darshan log regardless of how many or what types of modules are used. -== Architectural overview - -The Darshan source tree is composed of two primary components: - -* *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. - -=== darshan-runtime - -Text. - -=== darshan-util - -Text. - == Checking out and building the modularization branch Developers can clone the Darshan source repository using the following methods: @@ -53,13 +35,42 @@ 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 +For details on configuring and 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. +== Architectural overview + +The Darshan source tree is composed of two primary components: + +* *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. + +The following subsections provide an overview of each of these components with specific +attention to how new instrumentation modules may be integrated into Darshan. + +=== darshan-runtime + +At a high level, the darshan-runtime library is responsible for instrumenting MPI applications +and generating a log file containing the resulting I/O characterization. + +The I/O behavior an application is primarily instrumented by intercepting function calls of +interest and recording relevant data. + +// TODO: how does dynamic vs static executable affect a module developer? + + + +=== darshan-util + +Text. + == Adding new modules Text. diff --git a/doc/docbook-xsl.css b/doc/docbook-xsl.css new file mode 100644 index 0000000000000000000000000000000000000000..b6010d457a4746c225435f55b39278bef07c4452 --- /dev/null +++ b/doc/docbook-xsl.css @@ -0,0 +1,314 @@ +/* + CSS stylesheet for XHTML produced by DocBook XSL stylesheets. + Tested with XSL stylesheets 1.61.2, 1.67.2 +*/ + +span.strong { + font-weight: bold; +} + +body blockquote { + margin-top: .75em; + line-height: 1.5; + margin-bottom: .75em; +} + +html body { + margin: 1em 5% 1em 5%; + line-height: 1.2; +} + +body div { + margin: 0; +} + +h1, h2, h3, h4, h5, h6 +{ + color: #527bbd; + font-family: tahoma, verdana, sans-serif; +} + +div.toc p:first-child, +div.list-of-figures p:first-child, +div.list-of-tables p:first-child, +div.list-of-examples p:first-child, +div.example p.title, +div.sidebar p.title +{ + font-weight: bold; + color: #527bbd; + font-family: tahoma, verdana, sans-serif; + margin-bottom: 0.2em; +} + +body h1 { + margin: .0em 0 0 -4%; + line-height: 1.3; + border-bottom: 2px solid silver; +} + +body h2 { + margin: 0.5em 0 0 -4%; + line-height: 1.3; + border-bottom: 2px solid silver; +} + +body h3 { + margin: .8em 0 0 -3%; + line-height: 1.3; +} + +body h4 { + margin: .8em 0 0 -3%; + line-height: 1.3; +} + +body h5 { + margin: .8em 0 0 -2%; + line-height: 1.3; +} + +body h6 { + margin: .8em 0 0 -1%; + line-height: 1.3; +} + +body hr { + border: none; /* Broken on IE6 */ +} +div.footnotes hr { + border: 1px solid silver; +} + +div.navheader th, div.navheader td, div.navfooter td { + font-family: sans-serif; + font-size: 0.9em; + font-weight: bold; + color: #527bbd; +} +div.navheader img, div.navfooter img { + border-style: none; +} +div.navheader a, div.navfooter a { + font-weight: normal; +} +div.navfooter hr { + border: 1px solid silver; +} + +body td { + line-height: 0; +} + +body th { + line-height: 1.2; +} + +ol { + line-height: 1.2; +} + +ul, body dir, body menu { + line-height: 1.2; +} + +html { + margin: 0; + padding: 0; +} + +body h1, body h2, body h3, body h4, body h5, body h6 { + margin-left: 0 +} + +body pre { + margin: 0.5em 10% 0.5em 1em; + line-height: 1.0; + color: navy; +} + +tt.literal, code.literal { + color: navy; +} + +.programlisting, .screen { + border: 1px solid silver; + background: #f4f4f4; + margin: 0.5em 10% 0.5em 0; + padding: 0.5em 1em; +} + +div.sidebar { + background: #ffffee; + margin: 1.0em 10% 0.5em 0; + padding: 0.5em 1em; + border: 1px solid silver; +} +div.sidebar * { padding: 0; } +div.sidebar div { margin: 0; } +div.sidebar p.title { + margin-top: 0.5em; + margin-bottom: 0.2em; +} + +div.bibliomixed { + margin: 0.5em 5% 0.5em 1em; +} + +div.glossary dt { + font-weight: bold; +} +div.glossary dd p { + margin-top: 0.2em; +} + +dl { + margin: .8em 0; + line-height: 1.2; +} + +dt { + margin-top: 0.5em; +} + +dt span.term { + font-style: normal; + color: navy; +} + +div.variablelist dd p { + margin-top: 0; +} + +div.itemizedlist li, div.orderedlist li { + margin-left: -0.8em; + margin-top: 0.5em; +} + +ul, ol { + list-style-position: outside; +} + +div.sidebar ul, div.sidebar ol { + margin-left: 2.8em; +} + +div.itemizedlist p.title, +div.orderedlist p.title, +div.variablelist p.title +{ + margin-bottom: -0.8em; +} + +div.revhistory table { + border-collapse: collapse; + border: none; +} +div.revhistory th { + border: none; + color: #527bbd; + font-family: tahoma, verdana, sans-serif; +} +div.revhistory td { + border: 1px solid silver; +} + +/* Keep TOC and index lines close together. */ +div.toc dl, div.toc dt, +div.list-of-figures dl, div.list-of-figures dt, +div.list-of-tables dl, div.list-of-tables dt, +div.indexdiv dl, div.indexdiv dt +{ + line-height: normal; + margin-top: 0; + margin-bottom: 0; +} + +/* + Table styling does not work because of overriding attributes in + generated HTML. +*/ +div.table table, +div.informaltable table +{ + margin-left: 0; + margin-right: 5%; + margin-bottom: 0.8em; +} +div.informaltable table +{ + margin-top: 0.4em +} +div.table thead, +div.table tfoot, +div.table tbody, +div.informaltable thead, +div.informaltable tfoot, +div.informaltable tbody +{ + /* No effect in IE6. */ + border-top: 3px solid #527bbd; + border-bottom: 3px solid #527bbd; +} +div.table thead, div.table tfoot, +div.informaltable thead, div.informaltable tfoot +{ + font-weight: bold; +} + +div.mediaobject img { + margin-bottom: 0.8em; +} +div.figure p.title, +div.table p.title +{ + margin-top: 1em; + margin-bottom: 0.4em; +} + +div.calloutlist p +{ + margin-top: 0em; + margin-bottom: 0.4em; +} + +@media print { + div.navheader, div.navfooter { display: none; } +} + +span.aqua { color: aqua; } +span.black { color: black; } +span.blue { color: blue; } +span.fuchsia { color: fuchsia; } +span.gray { color: gray; } +span.green { color: green; } +span.lime { color: lime; } +span.maroon { color: maroon; } +span.navy { color: navy; } +span.olive { color: olive; } +span.purple { color: purple; } +span.red { color: red; } +span.silver { color: silver; } +span.teal { color: teal; } +span.white { color: white; } +span.yellow { color: yellow; } + +span.aqua-background { background: aqua; } +span.black-background { background: black; } +span.blue-background { background: blue; } +span.fuchsia-background { background: fuchsia; } +span.gray-background { background: gray; } +span.green-background { background: green; } +span.lime-background { background: lime; } +span.maroon-background { background: maroon; } +span.navy-background { background: navy; } +span.olive-background { background: olive; } +span.purple-background { background: purple; } +span.red-background { background: red; } +span.silver-background { background: silver; } +span.teal-background { background: teal; } +span.white-background { background: white; } +span.yellow-background { background: yellow; } + +span.big { font-size: 2em; } +span.small { font-size: 0.6em; }