Skip to content

Commit

Permalink
Merge pull request #720 from sstsimulator/devel
Browse files Browse the repository at this point in the history
Automatically Merged using SST Master Branch Merger
  • Loading branch information
sst-autotester authored Oct 16, 2024
2 parents d3aaca0 + e211a97 commit 5aa2bb7
Show file tree
Hide file tree
Showing 13 changed files with 43 additions and 47 deletions.
4 changes: 2 additions & 2 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -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 \
Expand Down
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Binary file not shown.
4 changes: 2 additions & 2 deletions docs/developer/developer.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion docs/developer/developer.tex
Original file line number Diff line number Diff line change
Expand Up @@ -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}

Expand Down
2 changes: 1 addition & 1 deletion docs/developer/markdown.tex
Original file line number Diff line number Diff line change
@@ -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}}

Expand Down
2 changes: 1 addition & 1 deletion docs/developer/software.tex
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
4 changes: 2 additions & 2 deletions docs/manual/Cascade.tex
Original file line number Diff line number Diff line change
Expand Up @@ -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}
Expand All @@ -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.
Expand Down
40 changes: 18 additions & 22 deletions docs/manual/manual.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down Expand Up @@ -2937,15 +2937,15 @@ 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:

- Pick a random intermediate node
- 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.
Expand Down Expand Up @@ -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 |



Expand Down
2 changes: 1 addition & 1 deletion docs/manual/manual.tex
Original file line number Diff line number Diff line change
Expand Up @@ -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}

Expand Down
2 changes: 1 addition & 1 deletion docs/manual/markdown.tex
Original file line number Diff line number Diff line change
@@ -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}}


Expand Down
26 changes: 13 additions & 13 deletions docs/manual/tomd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#! /usr/bin/env python2
#! /usr/bin/env python3

import glob
import sys
Expand Down Expand Up @@ -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')
Expand All @@ -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]
Expand Down Expand Up @@ -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),
Expand Down Expand Up @@ -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)


Binary file not shown.

0 comments on commit 5aa2bb7

Please sign in to comment.