211f596b79be9bc46fa7fddf7d57d42c68b9d24e
[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\\ \charmpp\\ Programming Language\\ Manual}
17 \version{6.4.0}
18 \credits{\hspace{0 in}}
19 \maketitle
20
21
22 \chapter{Programming and Execution Model}
23 \input{intro}
24 \input{overview}
25
26 \chapter{Machine Model}
27 node, PE, ranks?, smp-mode and non-smp mode terminology. etc.
28
29 \part{Basic Usage}
30
31 \chapter{Program Structure, Compilation and Utilities}
32   \input{modules}       
33   \input{utilities}
34   \input{helloworld}
35
36 \chapter{Basic Syntax}
37   \input{marshalling}   
38   \input{chares}
39   \input{readonly}
40
41 \chapter{Chare Arrays}
42   \input{arrays}
43
44 \chapter{Expressing Parallel Control Flow}
45   \input{sdag}
46
47 \chapter{Serialization Using the PUP Framework}
48   \input{pup}
49
50 \chapter{Load Balancing}
51   \input{loadb}
52
53 \chapter{Processor-Aware Chare Collections}
54   \input{groups}
55   \input{nodegroups}
56
57 \chapter{Startup Order}
58
59
60 \part{Advanced Usage}
61
62 \chapter{Optimizing Entry Method Invocation}
63   \input{entry}
64   \input{messages}
65   \input{order.tex}
66
67 \chapter{Callbacks}
68   \input{callbacks}
69
70 \chapter{Waiting on Completion}
71   \section{Asynchronous Barriers}
72   \section{Threaded Entry Methods}
73   \input{futures}
74   \input{quiesce}
75
76 \chapter{More Chare Array Features}
77 \label{advanced arrays}
78   \input{advancedarrays}
79
80 \chapter{Chare Inheritance and Templates}
81 \label{inheritance and templates}
82   \input{inhertmplt}
83
84 \chapter{Reductions}
85   \input{reductions}
86   \input{alltoall}
87
88 \chapter{Serialization}
89   \input{advancedpup}
90
91 \chapter{More Load Balancing}
92   \input{advancedlb}
93
94 \chapter{Checkpoint/Restart}
95 \index{Checkpoint/Restart}
96 \label{sec:checkpoint}
97   \input{checkpoint}
98
99   \input{othercalls}    
100 %  \input{commlib}
101
102
103 \part{Optional / Expert Usage}
104
105 \chapter{Python scripting language}
106 \label{python}
107   \input{python}
108
109 \chapter{Control Point Automatic Tuning Framework}
110 \index{Control Point Automatic Tuning Framework}
111 \label{sec:controlpoint}
112   \input{controlpoints}
113
114 \chapter{Writing Libraries for Custom Messaging}
115   \input{delegation}
116
117 % TO BE MOVED TO ITS OWN MANUAL
118 %\input{msa.tex}
119
120
121 \part{Appendix}
122 \appendix
123
124 % TO BE MOVED TO ITS OWN MANUAL
125 %\input{quickbigsim}
126
127 \chapter{Further Information}
128   \input{further}
129
130 \chapter{History}
131   \input{history}
132
133 \chapter {Acknowledgements}
134   \input{credits}
135
136 \input{index}
137
138 \end{document}