a95c138c668d16b37a5c44d9cfd3625c8b4617bc
[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 Usage}
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 Usage}
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 on Completion}
71   \section{Asynchronous Barriers}
72   \section{Threaded Entry Methods}
73   \section{Sync Entry Methods}
74   \input{futures}
75   \input{quiesce}
76
77 \chapter{More Chare Array Features}
78 \label{advanced arrays}
79   \input{advancedarrays}
80
81 \chapter{Chare Array Sections}
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}
92
93 \chapter{Serializing Complex Types}
94   \input{advancedpup}
95
96 \chapter{Querying Network / Node Topology}
97 \index{topomanager}
98 \index{cputopology}
99 \label{topo}
100   \input{topology}
101
102 \chapter{Checkpoint/Restart}
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 \chapter{Performance Tracing for Analysis}
113 \index{projections}
114 \label{sec:trace-projections}
115   \input{tracing}
116
117
118 \part{Expert Usage}
119
120 \chapter{Tuning and Developing Load Balancers}
121 \label{advancedlb}
122   \input{advancedlb}
123
124 \chapter{Dynamic Code Injection}
125 \label{python}
126   \input{python}
127
128 \chapter{Intercepting Messages via Delegation}
129 \index{Delegation}
130 \label{delegation}
131   \input{delegation}
132
133 % TO BE MOVED TO ITS OWN MANUAL
134 %\input{msa.tex}
135
136
137 \part{Experimental Features}
138
139 \chapter{Control Point Automatic Tuning}
140 \index{Control Point Automatic Tuning}
141 \label{sec:controlpoint}
142   \input{controlpoints}
143
144 \chapter{Loop-level Parallelism}
145 \index{ckloop}
146 \label{sec:ckloop}
147   \input{ckloop}
148
149 \part{Appendix}
150 \appendix
151
152 % TO BE MOVED TO ITS OWN MANUAL
153 %\input{quickbigsim}
154
155 \chapter{Further Information}
156   \input{further}
157
158 \chapter{History}
159   \input{history}
160
161 \chapter {Acknowledgements}
162   \input{credits}
163
164 \input{index}
165
166 \end{document}