ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/langevinHull/langevinHull.tex
(Generate patch)

Comparing trunk/langevinHull/langevinHull.tex (file contents):
Revision 3665 by gezelter, Wed Oct 27 18:48:34 2010 UTC vs.
Revision 3666 by gezelter, Thu Oct 28 20:30:16 2010 UTC

# Line 625 | Line 625 | The orientational preference exhibited by hull molecul
625   \label{sec:discussion}
626  
627   \section*{Appendix A: Computing Convex Hulls on Parallel Computers}
628 +
629 + In order to use the Langevin Hull for simulations on parallel
630 + computers, one of the more difficult tasks is to compute the bounding
631 + surface, facets, and resistance tensors when the processors have
632 + incomplete information about the entire system's topology.  Most
633 + parallel decomposition methods assign primary responsibility for the
634 + motion of an atomic site to a single processor, and we can exploit
635 + this to efficiently compute the convex hull for the entire system.
636 +
637 + The basic idea is that if we split the original point cloud into
638 + spatially-overlapping subsets and compute the convex hulls for each of
639 + the subsets, the points on the convex hull of the entire system are
640 + all present on at least one of the subset hulls.  The algorithm works
641 + as follows:
642 + \begin{enumerate}
643 + \item Each processor computes the convex hull for its own atomic sites
644 +  (dashed lines in Fig. \ref{fig:parallel}).
645 + \item The Hull vertices from each processor are passed out to all of
646 +  the processors, and each processor assembles a complete list of hull
647 +  sites (this is much smaller than the original number of points in
648 +  the point cloud).
649 + \item Each processor computes the convex hull of these sites (solid
650 +  line in Fig. \ref{fig:parallel}) and carries out Delaunay
651 +  triangulation to obtain the facets of the global hull.
652 + \end{enumerate}
653 +
654 + \begin{figure}
655 + \begin{centering}
656 + \includegraphics[width=3in]{parallel}
657 + \caption{When the sites are distributed among many nodes for parallel
658 +  computation, the processors first compute the convex hulls for their
659 +  own sites (dashed lines in upper panel). The positions of the sites
660 +  that make up the convex hulls are then communicated to all
661 +  processors.  The convex hull of the system (solid line in lower
662 +  panel) is the convex hull of the points on the hulls for all
663 +  processors. }
664 + \end{centering}
665 + \label{fig:parallel}
666 + \end{figure}
667  
668 + The individual hull operations scale with
669 + $O(\frac{n}{p}\log\frac{n}{p})$ where $n$ is the total number of
670 + sites, and $p$ is the number of processors.  The hull operations
671 + create a set of $p$ hulls each with approximately $\frac{n}{3pr}$
672 + sites (for a cluster of radius $r$).  The communication costs for
673 + distributing this information to all processors is XXX, while the
674 + final computation of the system hull is of order
675 + $O(\frac{n}{3r}\log\frac{n}{3r})$.  Overall, the total costs are
676 + dominated by the computations of the individual hulls, so the Langevin
677 + hull sees roughly linear speed-up with increasing processor counts.
678 +
679   \section*{Acknowledgments}
680   Support for this project was provided by the
681   National Science Foundation under grant CHE-0848243. Computational

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines