--- trunk/langevinHull/langevinHull.tex 2010/10/27 18:48:34 3665 +++ trunk/langevinHull/langevinHull.tex 2010/10/28 20:30:16 3666 @@ -625,7 +625,57 @@ The orientational preference exhibited by hull molecul \label{sec:discussion} \section*{Appendix A: Computing Convex Hulls on Parallel Computers} + +In order to use the Langevin Hull for simulations on parallel +computers, one of the more difficult tasks is to compute the bounding +surface, facets, and resistance tensors when the processors have +incomplete information about the entire system's topology. Most +parallel decomposition methods assign primary responsibility for the +motion of an atomic site to a single processor, and we can exploit +this to efficiently compute the convex hull for the entire system. + +The basic idea is that if we split the original point cloud into +spatially-overlapping subsets and compute the convex hulls for each of +the subsets, the points on the convex hull of the entire system are +all present on at least one of the subset hulls. The algorithm works +as follows: +\begin{enumerate} +\item Each processor computes the convex hull for its own atomic sites + (dashed lines in Fig. \ref{fig:parallel}). +\item The Hull vertices from each processor are passed out to all of + the processors, and each processor assembles a complete list of hull + sites (this is much smaller than the original number of points in + the point cloud). +\item Each processor computes the convex hull of these sites (solid + line in Fig. \ref{fig:parallel}) and carries out Delaunay + triangulation to obtain the facets of the global hull. +\end{enumerate} + +\begin{figure} +\begin{centering} +\includegraphics[width=3in]{parallel} +\caption{When the sites are distributed among many nodes for parallel + computation, the processors first compute the convex hulls for their + own sites (dashed lines in upper panel). The positions of the sites + that make up the convex hulls are then communicated to all + processors. The convex hull of the system (solid line in lower + panel) is the convex hull of the points on the hulls for all + processors. } +\end{centering} +\label{fig:parallel} +\end{figure} +The individual hull operations scale with +$O(\frac{n}{p}\log\frac{n}{p})$ where $n$ is the total number of +sites, and $p$ is the number of processors. The hull operations +create a set of $p$ hulls each with approximately $\frac{n}{3pr}$ +sites (for a cluster of radius $r$). The communication costs for +distributing this information to all processors is XXX, while the +final computation of the system hull is of order +$O(\frac{n}{3r}\log\frac{n}{3r})$. Overall, the total costs are +dominated by the computations of the individual hulls, so the Langevin +hull sees roughly linear speed-up with increasing processor counts. + \section*{Acknowledgments} Support for this project was provided by the National Science Foundation under grant CHE-0848243. Computational