\documentclass[10pt]{report}

\usepackage{../pplmanual} \input{../pplmanual} \usepackage{html}
\usepackage{listings}
\usepackage{textcomp}
%sadly latex2html does not understand listings
%this hack will at least give you the program listing instead of garbage
\begin{htmlonly}
  \usepackage{verbatim}
  \providecommand{\lstinputlisting}[2][]{\verbatiminput{#2}}
  \providecommand{\lstset}[2][]{}
\end{htmlonly}

\begin{document}

\title{The\\ \charm\\ Parallel Programming System\\ Manual}
\version{6.5.0}
\credits{\hspace{0 in}}
\maketitle


\chapter{Basic Concepts}
\input{intro}
\input{overview}
\input{machineModel}

\part{Basic \charm Programming}

\chapter{Program Structure, Compilation and Utilities}
  \input{modules}	
  \input{utilities}
  \input{helloworld}

\chapter{Basic Syntax}
  \input{marshalling}	
  \input{chares}
  \input{readonly}

\chapter{Chare Arrays}
  \input{arrays}

\chapter{Structured Control Flow: Structured Dagger}
\label{sec:sdag}
  \input{sdag}

\chapter{Serialization Using the PUP Framework}
  \input{pup}

\chapter{Load Balancing}
\label{loadbalancing}
  \input{loadb}

\chapter{Processor-Aware Chare Collections}
  \input{groups}
  \input{nodegroups}

\chapter{Initializations at Program Startup}
  \input{startuporder}

\part{Advanced Programming Techniques}

\chapter{Optimizing Entry Method Invocation}
  \input{messages}
  \input{entry}
  \input{order}

\chapter{Callbacks}
  \input{callbacks}

\chapter{Waiting for Completion}
  %\section{Asynchronous Barriers}
  \input{threaded}
  \input{sync}
  \input{futures}
  \input{quiesce}

\chapter{More Chare Array Features}
\label{advanced arrays}
  \input{advancedarrays}

\chapter{Sections: Subsets of a Chare Array}
\label{array section}
  \input{sections}

%\chapter{Chare Inheritance and Templates}
%\label{inheritance and templates}
%  \input{inhertmplt}

\chapter{Generic and Meta Programming with Templates}
\label{templates}
  \input{templates}

\chapter{Collectives}
  \input{reductions}
%  \input{alltoall} TO BE UPDATED WITH NDMESHSTREAMER INTERFACE

\chapter{Serializing Complex Types}
  \input{advancedpup}

\chapter{Querying Network Topology}
\index{topomanager}
\index{cputopology}
\label{topo}
  \input{topology}

\chapter{Checkpoint/Restart-Based Fault Tolerance}
\index{Checkpoint/Restart}
\label{sec:checkpoint}
  \input{checkpoint}

%chapter{Managing Hardware Heterogeneity}
%\index{accel}
%\label{sec:hetero}
%  input{hetero}


\part{Expert-Level Functionality}

\chapter{Tuning and Developing Load Balancers}
\label{advancedlb}
  \input{advancedlb}

\chapter{Dynamic Code Injection}
\label{python}
  \input{python}

\chapter{Intercepting Messages via Delegation}
\index{Delegation}
\label{delegation}
  \input{delegation}

% TO BE MOVED TO ITS OWN MANUAL
%\input{msa.tex}


\part{Experimental Features}

\chapter{Control Point Automatic Tuning}
\index{Control Point Automatic Tuning}
\label{sec:controlpoint}
  \input{controlpoints}

\chapter{Support for Loop-level Parallelism}
\index{ckloop}
\label{sec:ckloop}
\input{ckloop}

\chapter{Charm-MPI Interoperation}
\index{MPI Interoperation}
\label{sec:interop}
  \input{mpi-interop}

\chapter{Partitioning in \charmpp}
\index{Partitioning}
\label{sec:partition}
  \input{partition}

\part{Appendix}
\appendix

% TO BE MOVED TO ITS OWN MANUAL
%\input{quickbigsim}

\chapter{Installing \charm}
\label{sec:install}
  \index{build}
  \input{install}

\chapter{Compiling \charm Programs}
\label{sec:compile}
  \index{charmc}
  \input{compile}

\chapter{Running \charm Programs}
\label{sec:run}
  \index{charmrun}
  \input{run}

\chapter{Reserved words in {\tt .ci} files}
\label{sec:keywords}
  \input{keywords}

\chapter{Performance Tracing for Analysis}
\index{projections}
\label{sec:trace-projections}
  \input{../projections/tracing}

\chapter{Debugging}
\index{sec:debugging}
  \input{debug}

\chapter{History}
  \input{history}

\chapter {Acknowledgements}
  \input{credits}

\input{index}

\end{document}
