C2

C4

C1

C3

C5

Combinatorial Algorithms Enabling Computational Science: Tales from the Front

Erik Boman, Karen Devine and Bruce Hendrickson, Sandia National Laboratories

Sanjukta Bhowmick, Paul Hovland and Todd Munson, Argonne National Laboratory

Assefaw Gebremedhin and Alex Pothen, Old Dominion University

Hypergraph partitioning is superior to graph partitioning for parallel decompositions as it more accurately models communication cost. A parallel hypergraph partitioner has recently been developed as part of Sandiaâ€™s Zoltan toolkit for petascale computing. The new partitioner generates decompositions that improve the performance of numerical operations for a wide variety of parallel applications.

Assorted variants of graph coloring are key tools for reducing the work required to compute derivative matrices using automatic differentiation. For example, the number of function evaluations needed to compute a sparse Jacobian can be reduced by finding structurally orthogonal sets of columns, a problem that can be phrased as a distance-two coloring of the column vertices of the bipartite graph. Researchers at Old Dominion University have developed algorithms for this and other coloring problems. Scalable parallel versions have been developed for the distance-two and distance-one coloring variants.

Combinatorial Scientific Computingis concerned with the development, analysis and utilization of discrete algorithms in scientific and engineering applications. Graph and geometric algorithms are the fundamental tools of combinatorial scientific computing. They play a crucial enabling role in numerous areas, including sparse matrix computation, partitioning for parallelization, mesh generation, and automatic differentiation. Here we report on some recent developments in this highly interdisciplinary and rapidly evolving field.

Exploiting symmetry in a Hessian computation can reduce the computational cost by almost 50%. Researchers at Argonne have developed a polynomial time algorithm for detecting symmetry in a computation described by a directed acyclic graph (DAG) (detecting symmetry in general graphs is NP-hard). Symmetry in a DAG is defined as finding a dual for every vertex such that for each vertex v and its dual vâ€™, the successors of v are the dual of the predecessors of vâ€™. At bottom, is the symmetric graph for a mesh smoothing application.

Modern microprocessors are highly sensitive to the spatial and temporal locality of data. Reordering the vertices and elements in a mesh can have a significant impact on performance. Researchers at Argonne have developed several reordering algorithms that use the hypergraph representation of a matrix. These algorithms can improve the performance of a mesh smoothing application by nearly 50%. The left image shows the nonzero pattern for the original Hessian matrix, and the right image shows the reordered version.

Sandia is a multiprogram laboratory operated by Sandia Corporation, a LockheedMartin Company, for the United States Department of Energyâ€™s National Nuclear Security Administration under contract DE-AC04-94AL85000. The work at Argonne was supported by the Mathematical, Information, and Computational Sciences Division subprogram of the Office of Advanced Scientific Computing Research, U.S. Department of Energy under Contract W-31-109-Eng-38.