diff --git a/Makefile.am b/Makefile.am index 813cde992..33d8fbec8 100644 --- a/Makefile.am +++ b/Makefile.am @@ -13,8 +13,8 @@ include $(top_srcdir)/Makefile.common # Files that should be distributed but are not built. EXTRA_DIST = LICENSE bootstrap.sh \ - developer-sstmacro-14.0.pdf \ - manual-sstmacro-14.0.pdf \ + developer-sstmacro-14.1.pdf \ + manual-sstmacro-14.1.pdf \ pdes-report.pdf \ docs \ share \ diff --git a/configure.ac b/configure.ac index 87e95de9b..dc6179d17 100644 --- a/configure.ac +++ b/configure.ac @@ -51,7 +51,7 @@ dnl OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # Version info, used both in library versioning and inside sstmacro. m4_define([SSTMAC_VERSION_TAG], 14) -m4_define([SSTMAC_SUBVERSION_TAG], 0) +m4_define([SSTMAC_SUBVERSION_TAG], 1) m4_define([SSTMAC_SUBSUBVERSION_TAG], 0) dnl Enable this for releases diff --git a/developer-sstmacro-14.0.pdf b/developer-sstmacro-14.1.pdf similarity index 88% rename from developer-sstmacro-14.0.pdf rename to developer-sstmacro-14.1.pdf index a70def70a..0f5d0a450 100644 Binary files a/developer-sstmacro-14.0.pdf and b/developer-sstmacro-14.1.pdf differ diff --git a/docs/developer/developer.md b/docs/developer/developer.md index bec336e87..382b0d654 100644 --- a/docs/developer/developer.md +++ b/docs/developer/developer.md @@ -5,7 +5,7 @@ category: SSTDocumentation --- -# SST/macro 14.0: Developer's Reference +# SST/macro 14.1: Developer's Reference ![](https://github.com/sstsimulator/sst-macro/blob/devel/docs/developer/figures/sstlogo.png) @@ -998,7 +998,7 @@ all subcomponents must belong to a component. A subcomponent cannot be separate The driver for most simulations is a skeleton application. Although this can be arbitrary source code, we will consider the example of an MPI application below. -We will discuss distributed services in Section below, which is similar to an application. In general, when we refer to applications we mean scientific codes or client codes that are doing "domain-specific" work. These will be different from service applications like parallel file systems. +In general, when we refer to applications we mean scientific codes or client codes that are doing "domain-specific" work. These will be different from service applications like parallel file systems. We will be very specific with the use of the terms "virtual" and "real" or "physical". Virtual refers to anything being modeled in the simulator. diff --git a/docs/developer/developer.tex b/docs/developer/developer.tex index 07a1aba75..a37050ba7 100644 --- a/docs/developer/developer.tex +++ b/docs/developer/developer.tex @@ -62,7 +62,7 @@ \newcommand{\inlinecode}[1]{{\lstset{basicstyle=\ttfamily,keywordstyle={},showstringspaces=false}\lstinline$#1$}} \newcommand{\inlineshell}[1]{{\lstset{basicstyle=\ttfamily,keywordstyle={},showstringspaces=false}\lstinline$#1$}} -\title{SST/macro 14.0: Developer's Reference} +\title{SST/macro 14.1: Developer's Reference} \author{Sandia National Labs \\ Livermore, CA} diff --git a/docs/developer/markdown.tex b/docs/developer/markdown.tex index 5c9500d9c..884f00dff 100644 --- a/docs/developer/markdown.tex +++ b/docs/developer/markdown.tex @@ -1,5 +1,5 @@ -\title{SST/macro 14.0: Developer's Reference} +\title{SST/macro 14.1: Developer's Reference} \titlepic{\includegraphics[width=0.3\textwidth]{figures/sstlogo.png}} diff --git a/docs/developer/software.tex b/docs/developer/software.tex index bfde04cb6..4bc3156ad 100644 --- a/docs/developer/software.tex +++ b/docs/developer/software.tex @@ -5,7 +5,7 @@ \chapter{Software Models} The driver for most simulations is a skeleton application. Although this can be arbitrary source code, we will consider the example of an MPI application below. -We will discuss distributed services in Section \ref{sec:distService} below, which is similar to an application. In general, when we refer to applications we mean scientific codes or client codes that are doing ``domain-specific'' work. These will be different from service applications like parallel file systems. +In general, when we refer to applications we mean scientific codes or client codes that are doing ``domain-specific'' work. These will be different from service applications like parallel file systems. We will be very specific with the use of the terms ``virtual'' and ``real'' or ``physical''. Virtual refers to anything being modeled in the simulator. diff --git a/docs/manual/Cascade.tex b/docs/manual/Cascade.tex index 531b0c665..d7ab24566 100644 --- a/docs/manual/Cascade.tex +++ b/docs/manual/Cascade.tex @@ -90,7 +90,7 @@ \subsection{Routing} To improve on minimal routing, global routing strategies are required (global routing is distinguished here from adaptive routing). Global essentially means ``not minimal'' and spreads packets along many different paths. -The simplest global routing strategy is Valiant routing, which falls in the global, oblivious category (Figure \ref{fig:topologies:dflyvaliantroute}). +The simplest global routing strategy is Valiant routing, which falls in the global, oblivious category (Figure \ref{fig:topologies:cascadevaliantroute}). Oblivious simply means packets are scattered randomly without measuring congestion. In Valiant routing, each packet does the following: \begin{itemize} @@ -99,7 +99,7 @@ \subsection{Routing} \item Route minimally from random node to destination node \end{itemize} This is somewhat counterintuitive at first. -Rather than go directly to the destination node, packets go out of their way to a random node, shown in Figure \ref{fig:topologies:dflyvaliantroute} as the yellow router. +Rather than go directly to the destination node, packets go out of their way to a random node, shown in Figure \ref{fig:topologies:cascadevaliantroute} as the yellow router. Thus, routing from the blue router in Group 0 to the red router in Group 2 first follows the minimal path (green routers) to the randomly selected yellow router in Group 1. From there, a second minimal path is taken through the orange routers to the final destination. In cases with high congestion or even for large messages on a quiet network, this actually improves performance. diff --git a/docs/manual/manual.md b/docs/manual/manual.md index 84f391641..40c75ebc7 100644 --- a/docs/manual/manual.md +++ b/docs/manual/manual.md @@ -5,7 +5,7 @@ category: SSTDocumentation --- -# SST/macro 14.0 User's Manual +# SST/macro 14.1 User's Manual ![](https://github.com/sstsimulator/sst-macro/blob/devel/docs/manual/figures/sstlogo.png) @@ -2937,7 +2937,7 @@ Finally, the minimal route completes by hopping within Group 2 to the final dest To improve on minimal routing, global routing strategies are required (global routing is distinguished here from adaptive routing). Global essentially means "not minimal" and spreads packets along many different paths. -The simplest global routing strategy is Valiant routing, which falls in the global, oblivious category (Figure ). +The simplest global routing strategy is Valiant routing, which falls in the global, oblivious category (Figure [29](#fig_topologies_cascadevaliantroute)). Oblivious simply means packets are scattered randomly without measuring congestion. In Valiant routing, each packet does the following: @@ -2945,7 +2945,7 @@ In Valiant routing, each packet does the following: - Route minimally to random node - Route minimally from random node to destination node This is somewhat counterintuitive at first. -Rather than go directly to the destination node, packets go out of their way to a random node, shown in Figure as the yellow router. +Rather than go directly to the destination node, packets go out of their way to a random node, shown in Figure [29](#fig_topologies_cascadevaliantroute) as the yellow router. Thus, routing from the blue router in Group 0 to the red router in Group 2 first follows the minimal path (green routers) to the randomly selected yellow router in Group 1. From there, a second minimal path is taken through the orange routers to the final destination. In cases with high congestion or even for large messages on a quiet network, this actually improves performance. @@ -3801,33 +3801,29 @@ This is a series of namespaces `app1`, `app2`, and so on for each of the launche |-------------|---------|---------|-------------| | name (string) | No default | parsedumpi, cxx\_full\_main, cxx\_empty\_main | The name of the application to launch. Very few applications are built-in. Registration of external apps is shown starting in Section [3.5](#sec_tutorial_basicmpi). | | size (int) | No default | Positive int | The number of procs (MPI ranks) to launch. If launch\_cmd given, this parameter is not required. | -| start (int) | 0 | | The time at which a launch request for the application will be made | +| start (int) | 0 | | The time at which a launch request for the application will be made | | concentration (int) | 1 | Positive int | The number of procs (MPI ranks) per compute node | -| core\_affinities (vector of int) | Empty | | | +| core\_affinities (vector of int) | Empty | | | | launch\_cmd (string) | No default | Valid aprun or srun | This uses a launch command as would be found with ALPS or SLURM launchers on real systems, e.g. aprun -n 4 -N 1 | | indexing (string) | block | block, random, cart, node\_id, coordinate | The indexing scheme for assign proc ID (MPI rank number) to compute nodes | -| node\_id\_mapper\_file (filepath) | No default | | If using Node ID indexing, the file containing the node ID index list | -| random\_indexer\_seed (long) | System time | | The seed to use for a random allocation. If not specified, system time is used. | +| node\_id\_mapper\_file (filepath) | No default | | If using Node ID indexing, the file containing the node ID index list | +| random\_indexer\_seed (long) | System time | | The seed to use for a random allocation. If not specified, system time is used. | | allocation (string) | first\_available | first\_available, random, cart, node\_id, coordinate | The scheme to use for allocating compute nodes to a given job. | -| random\_allocation\_seed (long) | System time | | For random allocation policy. If unspecified, system time is used as the seed. | -| node\_id\_allocation\_file (filepath) | No default | | If using Node ID allocation, the file containing the list of node IDs to allocate for the job | -| dumpi\_metaname (filepath) | No default | | If running DUMPI trace, the location of the metafile for configuring trace replay | -| coordinate\_file (filepath) | No default | | If running using coordinate allocation or indexing, the path to the file containing the node coordinates of each proc (MPI rank) | -| cart\_sizes (vector of int) | No default | | Launch a contiguous block of nodes in a Cartesian topology. This gives the size of each dimension in the block. | -| cart\_offsets (vector of int) | No default | | Launch a contiguous block nodes in a Cartesian topology. This gives the offset in each dimension where the block begins. | +| random\_allocation\_seed (long) | System time | | For random allocation policy. If unspecified, system time is used as the seed. | +| node\_id\_allocation\_file (filepath) | No default | | If using Node ID allocation, the file containing the list of node IDs to allocate for the job | +| dumpi\_metaname (filepath) | No default | | If running DUMPI trace, the location of the metafile for configuring trace replay | +| coordinate\_file (filepath) | No default | | If running using coordinate allocation or indexing, the path to the file containing the node coordinates of each proc (MPI rank) | +| cart\_sizes (vector of int) | No default | | Launch a contiguous block of nodes in a Cartesian topology. This gives the size of each dimension in the block. | +| cart\_offsets (vector of int) | No default | | Launch a contiguous block nodes in a Cartesian topology. This gives the offset in each dimension where the block begins. | | parsedumpi\_timescale (double) | 1.0 | Positive float | If running DUMPI traces, scale compute times by the given value. Values less than 1.0 speed up computation. Values greater than 1.0 slow down computation. | | parsedumpi\_terminate\_percent (int) | 100 | 1-100 | Percent of trace. Can be used to terminate large traces early | -| host\_compute\_timer (bool) | False | | Use the compute time on the host to estimate compute delays | - - -| Name (type) | Default | Allowed | Description | -|-------------|---------|---------|-------------| +| host\_compute\_timer (bool) | False | | Use the compute time on the host to estimate compute delays | | otf2\_metafile (string) | No default | string | The root file of an OTF2 trace. | | otf2\_timescale (double) | 1.0 | Positive float | If running OTF2 traces, scale compute times by the given value. Values less than 1.0 speed up computation. Values greater than 1.0 slow down computation. | -| otf2\_print\_mpi\_calls (bool) | false | | Print MPI calls found in the OTF2 trace | -| otf2\_print\_trace\_events (bool) | false | | Debugging flag that printsindividual trace events (which includes details such as when an MPI call begins, ends, and when a collective begins and ends | -| otf2\_print\_time\_deltas (bool) | false | | Debugging flag that prints compute delays injected by the simulator | -| otf2\_warn\_unknown\_callback (bool) | false | | Debugging flag the prints unknown callbacks | +| otf2\_print\_mpi\_calls (bool) | false | | Print MPI calls found in the OTF2 trace | +| otf2\_print\_trace\_events (bool) | false | | Debugging flag that printsindividual trace events (which includes details such as when an MPI call begins, ends, and when a collective begins and ends | +| otf2\_print\_time\_deltas (bool) | false | | Debugging flag that prints compute delays injected by the simulator | +| otf2\_warn\_unknown\_callback (bool) | false | | Debugging flag the prints unknown callbacks | diff --git a/docs/manual/manual.tex b/docs/manual/manual.tex index b3cf1841c..db6462c73 100644 --- a/docs/manual/manual.tex +++ b/docs/manual/manual.tex @@ -59,7 +59,7 @@ \pagestyle{empty} -\title{SST/macro 14.0: User's Manual} +\title{SST/macro 14.1: User's Manual} \titlepic{\includegraphics[width=0.3\textwidth]{figures/sstlogo.png}} \author{Sandia National Labs \\ Livermore, CA} diff --git a/docs/manual/markdown.tex b/docs/manual/markdown.tex index 1709fa75f..ad986de18 100644 --- a/docs/manual/markdown.tex +++ b/docs/manual/markdown.tex @@ -1,5 +1,5 @@ -\title{SST/macro 14.0 User's Manual} +\title{SST/macro 14.1 User's Manual} \titlepic{\includegraphics[width=0.3\textwidth]{figures/sstlogo.png}} diff --git a/docs/manual/tomd b/docs/manual/tomd index 7f11bb06e..09e144c03 100755 --- a/docs/manual/tomd +++ b/docs/manual/tomd @@ -1,4 +1,4 @@ -#! /usr/bin/env python2 +#! /usr/bin/env python3 import glob import sys @@ -127,7 +127,7 @@ def process_paragraphs(text): return "\n\n".join(par_arr) def repl_display(match): - return '\[display\n%s\n\]' % match.groups()[0] + return r'\[display\n%s\n\]' % match.groups()[0] def process_itemize(match): items = match.groups()[0].split(r'\item') @@ -144,7 +144,7 @@ def get_figure_text(label, caption, text, figpath): if not fname: fname = include_fig_optargs_regexp.search(text) if not fname: - print text + print(text) sys.exit("failed parsing figure") else: fname = fname.groups()[1] @@ -315,13 +315,13 @@ repls = [ (newcommand_regexp, ''), (arrayStretch_regexp, ''), (quotes_regexp, repl_quotes), - (r'\nodecls','\inlinecode{node}'), - (r'\topcls','\inlinecode{topology}'), - (r'\switchid','\inlinecode{SwitchId}'), - (r'\nodeid','\inlinecode{NodeId}'), - (r'\evhandler','\inlinecode{EventHandler}'), - (r'\evscheduler','\inlinecode{EventScheduler}'), - (r'\evmgr','\inlinecode{EventManager}'), + (r'\nodecls',r'\inlinecode{node}'), + (r'\topcls',r'\inlinecode{topology}'), + (r'\switchid',r'\inlinecode{SwitchId}'), + (r'\nodeid',r'\inlinecode{NodeId}'), + (r'\evhandler',r'\inlinecode{EventHandler}'), + (r'\evscheduler',r'\inlinecode{EventScheduler}'), + (r'\evmgr',r'\inlinecode{EventManager}'), (section_regexp("CppCode") , repl_code_block), (section_regexp("ShellCmd") , repl_code_block), (section_regexp("ViFile") , repl_code_block), @@ -419,11 +419,11 @@ text = macro_regexp('ref').sub(process_ref, text) text = process_paragraphs(text) text = make_toc(text) header = """--- -title: Manual for SST-Macro 14.0.x +title: Manual for SST-Macro 14.x published: true category: SSTDocumentation ---""" -print header -print text +print(header) +print(text) diff --git a/manual-sstmacro-14.0.pdf b/manual-sstmacro-14.1.pdf similarity index 96% rename from manual-sstmacro-14.0.pdf rename to manual-sstmacro-14.1.pdf index 63af1b175..ca71446fa 100644 Binary files a/manual-sstmacro-14.0.pdf and b/manual-sstmacro-14.1.pdf differ