Changes to topology section, deleting the non-existing example
[charm.git] / doc / charm++ / manual.tex
1 \documentclass[10pt]{report}
2
3 \usepackage{../pplmanual} \input{../pplmanual} \usepackage{html}
4 \usepackage{listings}
5 \usepackage{textcomp}
6 %sadly latex2html does not understand listings
7 %this hack will at least give you the program listing instead of garbage
8 \begin{htmlonly}
9   \usepackage{verbatim}
10   \providecommand{\lstinputlisting}[2][]{\verbatiminput{#2}}
11   \providecommand{\lstset}[2][]{}
12 \end{htmlonly}
13
14 \begin{document}
15
16 \title{The\\ \charm\\ Parallel Programming System\\ Manual}
17 \version{6.4.0}
18 \credits{\hspace{0 in}}
19 \maketitle
20
21
22 \chapter{Basic Concepts}
23 \input{intro}
24 \input{overview}
25 \input{machineModel}
26
27 \part{Basic \charm Programming}
28
29 \chapter{Program Structure, Compilation and Utilities}
30   \input{modules}       
31   \input{utilities}
32   \input{helloworld}
33
34 \chapter{Basic Syntax}
35   \input{marshalling}   
36   \input{chares}
37   \input{readonly}
38
39 \chapter{Chare Arrays}
40   \input{arrays}
41
42 \chapter{Structured Control Flow: Structured Dagger}
43 \label{sec:sdag}
44   \input{sdag}
45
46 \chapter{Serialization Using the PUP Framework}
47   \input{pup}
48
49 \chapter{Load Balancing}
50 \label{loadbalancing}
51   \input{loadb}
52
53 \chapter{Processor-Aware Chare Collections}
54   \input{groups}
55   \input{nodegroups}
56
57 \chapter{Initializations at Program Startup}
58   \input{startuporder}
59
60 \part{Advanced Programming Techniques}
61
62 \chapter{Optimizing Entry Method Invocation}
63   \input{messages}
64   \input{entry}
65   \input{order}
66
67 \chapter{Callbacks}
68   \input{callbacks}
69
70 \chapter{Waiting for Completion}
71   %\section{Asynchronous Barriers}
72   \input{threaded}
73   \input{sync}
74   \input{futures}
75   \input{quiesce}
76
77 \chapter{More Chare Array Features}
78 \label{advanced arrays}
79   \input{advancedarrays}
80
81 \chapter{Sections: Subsets of a Chare Array}
82 \label{array section}
83   \input{sections}
84
85 \chapter{Chare Inheritance and Templates}
86 \label{inheritance and templates}
87   \input{inhertmplt}
88
89 \chapter{Collectives}
90   \input{reductions}
91 %  \input{alltoall} TO BE UPDATED WITH NDMESHSTREAMER INTERFACE
92
93 \chapter{Serializing Complex Types}
94   \input{advancedpup}
95
96 \chapter{Querying Network Topology}
97 \index{topomanager}
98 \index{cputopology}
99 \label{topo}
100   \input{topology}
101
102 \chapter{Checkpoint/Restart-Based Fault Tolerance}
103 \index{Checkpoint/Restart}
104 \label{sec:checkpoint}
105   \input{checkpoint}
106
107 %chapter{Managing Hardware Heterogeneity}
108 %\index{accel}
109 %\label{sec:hetero}
110 %  input{hetero}
111
112
113 \part{Expert-Level Functionality}
114
115 \chapter{Tuning and Developing Load Balancers}
116 \label{advancedlb}
117   \input{advancedlb}
118
119 \chapter{Dynamic Code Injection}
120 \label{python}
121   \input{python}
122
123 \chapter{Intercepting Messages via Delegation}
124 \index{Delegation}
125 \label{delegation}
126   \input{delegation}
127
128 % TO BE MOVED TO ITS OWN MANUAL
129 %\input{msa.tex}
130
131
132 \part{Experimental Features}
133
134 \chapter{Control Point Automatic Tuning}
135 \index{Control Point Automatic Tuning}
136 \label{sec:controlpoint}
137   \input{controlpoints}
138
139 \zap{
140 \chapter{Loop-level Parallelism}
141 \index{ckloop}
142 \label{sec:ckloop}
143   \input{ckloop}
144 }
145
146 \chapter{Charm-MPI Interoperation}
147 \index{MPI Interoperation}
148 \label{sec:interop}
149   \input{mpi-interop}
150
151 \part{Appendix}
152 \appendix
153
154 % TO BE MOVED TO ITS OWN MANUAL
155 %\input{quickbigsim}
156
157 \chapter{Installing \charm}
158 \label{sec:install}
159   \index{build}
160   \input{install}
161
162 \chapter{Compiling \charm Programs}
163 \label{sec:compile}
164   \index{charmc}
165   \input{compile}
166
167 \chapter{Running \charm Programs}
168 \label{sec:run}
169   \index{charmrun}
170   \input{run}
171
172 \chapter{Performance Tracing for Analysis}
173 \index{projections}
174 \label{sec:trace-projections}
175   \input{../projections/tracing}
176
177
178 \chapter{History}
179   \input{history}
180
181 \chapter {Acknowledgements}
182   \input{credits}
183
184 \input{index}
185
186 \end{document}