\documentclass[12pt]{report}
\usepackage{draft}
\usepackage{a4wide}
\usepackage{lit}
\usepackage{makeidx}
\makeindex

%\nofiles
%\usepackage{2up} \source{1000}{210mm}{293mm}
%\target{833}{293mm}{210mm} \targetlayout{twosided} \special{landscape}

\newcommand{\bsplib}{\textsl{BSPlib}}
\newcommand{\nhalf}{n_{\frac{1}{2}}}
\newcommand{\ToDo}[1]{\textbf{TODO:}\emph{#1}}
\begin{document}
\title{The Oxford BSP Toolset implementation of \bsplib{}}
\author{Jonathan Hill\footnote{\texttt{Jonathan.Hill@comlab.ox.ac.uk}}\\
        Oxford Parallel, Oxford University Computing Laboratory}
\maketitle

\tableofcontents

\chapter*{Copyright notice}
\centerline{Copyright \copyright 1995,1996,1997 University of Oxford.}
\vspace{2ex}

\noindent Permission to use, copy, modify, and distribute this
software, and to incorporate it, in whole or in part, into other
software, is hereby granted without fee, provided that:
\begin{enumerate}
\item the above copyright notice and this permission notice appear in
all copies of the source code, and the above copyright notice appear
in clearly visible form on all supporting documentation and
distribution media;

\item modified versions of this software be accompanied by a complete
change history describing author, date, and modifications made; and 

\item any redistribution of the software, in original or modified form, be without fee and subject to these same conditions.
\end{enumerate}

\chapter*{Introduction}
A description of the techniques used in this implementation of
\bsplib{} \cite{bsplib,bsplib:prop} can be found in:

\paragraph{General overview}
\begin{quote}
\cite{hill:lessons} ``\emph{Lessons learned from implementing BSP}''
     Jonathan M.D Hill and David B. Skillicorn. In journal of Future
     Generation Computer Systems, April 1998. Also available in High
     Perfomance Computing and Networking (HPCN'97), LNCS 1225, pages
     762--771, Springer-Verlag, April 97. (See also Technical Report
     PRG-TR-21-96, Programming Research Group, Oxford University
     Computing Laboratory, November 1996).  
\end{quote}

\begin{quote}
\cite{hill:qa} ``\emph{Questions and answers about BSP}'' David
     B. Skillicorn, Jonathan M. D. Hill and W. F.  McColl. Journal of
     Scientific Programming, to appear 1997.
\end{quote}

\paragraph{Fast barrier synchronisation}

\begin{quote}
\cite{hill:barrier} ``\emph{Practical barrier synchronisation}''
     Jonathan M. D. Hill and David B. Skillicorn. n 6th EuroMicro
     Workshop on Parallel and Distributed Processing (PDP'98). IEEE
     Computer Society Press, January 1998. (See also Technical Report
     16-96, Programming Research Group, Oxford University Computing
     Laboratory, August 1996).

\end{quote}

\paragraph{High quality communication}
\begin{quote}
\cite{hill:stability} ``\emph{Stability of communication performance in
     practice: from NOWs to the Cray T3E}'' Jonathan M.D Hill, Stephen
     Donaldson, and David B. Skillicorn. Technical Report
     PRG-TR-33-97, Programming Research Group, Oxford University
     Computing Laboratory, October 1997.
\end{quote}

\begin{quote}
``Communication Performance Optimisation Requires Minimising
     Variance'' Stephen R.  Donaldson, Jonathan M.D. Hill, and David
     B. Skillicorn. Submitted for publication, November 1997.
\end{quote}

\paragraph{Profiling}
\begin{quote}
\cite{hill:prof1} ``\emph{The theory, practice, and a tool for BSP
     performance prediction}'' Jonathan M. D. Hill, Paul I Crumpton,
     and David A. Burgess. In EuroPar'96, number 1124 in LNCS, pages
     697-705.  Springer-Verlag, August 1996.
\end{quote}

\begin{quote}
\cite{hill:cg} ``\emph{Portable and architecture independent parallel
     performance tuning using a call-graph profiling tool}'' Jonathan
     M.D. Hill, Stephen Jarvis, Constantinos Siniolakis, and Vasil P.
     Vasilev. In 6th EuroMicro Workshop on Parallel and Distributed
     Processing (PDP'98).  IEEE Computer Society Press, January
     1998. (See also Technical Report 17-97, Programming Research
     Group, Oxford University Computing Laboratory, May 1997).
\end{quote}

\chapter{CPP options}
	\input{cpp_options.tex}

\chapter{Module interface for the library}
	\input{bsp_lib_user.h.tex}

\chapter{Top level, architecture independant include file}
	\input{bsp_lib.h.tex}

%\chapter{The core routines for a shared memory architecture}
%	\input{bsp_lib_shmem.h.tex}
%	\input{bsp_lib_shmem.c.tex}
%	\input{bsp_misc_shmem.c.tex}


\chapter{The core routines for a DRMA architecture}
	
	\input{bsp_lib_drma.h.tex}
	\input{bsp_lib_drma.c.tex}
	\input{bsp_misc_drma.c.tex}

%\chapter{The core routines for a message passing architecture}
%	\input{bsp_lib_mpass.h.tex}
%	\input{bsp_lib_mpass.c.tex}
	
\chapter{Registration}
	\input{bsp_register.h.tex}
	\input{bsp_register.c.tex}

\chapter{Contention Elimination}
	\input{bsp_contentionfree.h.tex}
	\input{bsp_contentionfree.c.tex}

%\chapter{Profiling}
%	\input{bsp_profile.h.tex}
%	\input{bsp_profile.c.tex}
%	\input{bsp_callstack.h.tex}
%	\input{bsp_callstack.c.tex}

%\chapter{Fortran bindings}
%	\input{bsp_lib_f77_user.h.tex}
%	\input{bsp_lib_f77.h.tex}
%	\input{bsp_lib_f77.c.tex}

%\chapter{Misc.}
%	\input{bsp_timer.h.tex}
%	\input{bsp_timer.c.tex}
%	\input{bsp_misc.c.tex}
%	\input{bsp_misc_mpass.c.tex}


\bibliographystyle{alpha}
\bibliography{bsp,hill}
\printindex
\end{document}
