inserting new section about Python scripting.
[charm.git] / doc / charm++ / manual.tex
1 \documentclass[10pt]{article}
2
3 \usepackage{../pplmanual}
4 \input{../pplmanual}
5
6 \title{The\\ \charmpp\\ Programming Language\\ Manual}
7 \version{5.8 (Release 1)}
8 \credits{
9 {\small The Charm software was developed as a group effort.  The earliest
10 prototype, Chare Kernel(1.0), was developed by Wennie Shu and Kevin
11 Nomura working with Laxmikant Kale.  The second prototype, Chare
12 Kernel(2.0), a complete re-write with major design changes, was
13 developed by a team consisting of Wayne Fenton, Balkrishna Ramkumar,
14 Vikram Saletore, Amitabh B. Sinha and Laxmikant Kale. The translator
15 for Chare Kernel(2.0) was written by Manish Gupta.  Charm(3.0), with
16 significant design changes, was developed by a team consisting of
17 Attila Gursoy, Balkrishna Ramkumar, Amitabh B.  Sinha and Laxmikant
18 Kale, with a new translator written by Nimish Shah.  The \charmpp\ 
19 implementation was done by Sanjeev Krishnan.  Charm(4.0) included
20 \charmpp\ and was released in fall 1993.  Charm(4.5) was developed by
21 Attila Gursoy, Sanjeev Krishnan, Milind Bhandarkar, Joshua Yelon,
22 Narain Jagathesan and Laxmikant Kale.  Charm(4.8), developed by the
23 same team included Converse, a parallel runtime system that allows
24 interoperability among modules written using different paradigms
25 within a single application. \charmpp\ runtime system was re-targetted
26 at Converse. Syntactic extensions in \charmpp\ were dropped, and a
27 simple interface translator was developed (by Sanjeev Krishnan and Jay
28 DeSouza) that, along with the \charmpp\
29 runtime, became the \charmpp\ language.  The current version (5.4R1)
30 includes a complete rewrite of the \charmpp\ runtime system (using \CC)
31 and the interface translator (done by Milind Bhandarkar).  It also
32 includes several new features such as Chare Arrays (developed by
33 Robert Brunner and Orion Lawlor), and various libraries 
34 (written by Terry Wilmarth,
35 Gengbin Zheng, Laxmikant Kale, Zehra Sura, Milind Bhandarkar, Robert
36 Brunner, and Krishnan Varadarajan.) A coordination language
37 ``Structured Dagger'' has been implemented on top of \charmpp\ (Milind
38 Bhandarkar), and included in this version.  
39 Several features have also been added to Converse. Dynamic
40 seed-based load balancing has been implemented (Terry Wilmarth and
41 Joshua Yelon), a client-server interface for Converse programs, and
42 debugging support has been added (Parthasarathy Ramachandran, Jeff
43 Wright, and Milind Bhandarkar).  Converse has been ported to new
44 platforms including ASCI Red (Joshua Yelon), Cray T3E (Robert
45 Brunner), and SGI Origin2000 (Milind Bhandarkar).  The test suite for
46 \charmpp\ was developed by Michael Lang, Jackie Wang, and Fang
47 Hu. Projections, the performance visualization and analysis tool, was
48 redesigned and rewritten using Java by Michael Denardo.
49 Orion Lawlor, Gengbin Zheng, and Milind Bhandarkar have been responsible
50 for the changes to the system since the last release.
51 }
52 }
53
54 \begin{document}
55
56 \maketitle
57
58 \input{intro}
59
60 \input{overview}
61
62 \section{The \charmpp\ Language}
63   \input{modules}       
64   \input{entry}
65   \input{marshalling}   
66   \input{messages}
67   \input{chares}
68   \input{readonly}    
69   \input{arrays}
70   \input{groups}
71   \input{nodegroups}
72   \input{loadb}
73   \input{advancedlb}
74   \input{quiesce}
75   \input{reductions}
76   \input{callbacks}
77   \input{pup}
78   \input{io}
79   \input{othercalls}    
80   \input{delegation}    
81   \input{commlib}
82   \input{python}
83 \input{inhertmplt}
84
85 \input{checkpoint}
86
87 \appendix
88
89 \input{sdag}
90
91 \input{further}
92
93 \input{index}
94
95 \end{document}