Effecting parallel graph eigensolvers through library composition

  • Authors:
  • Alex Breuer;Peter Gottschling;Douglas Gregor;Andrew Lumsdaine

  • Affiliations:
  • Open Systems Laboratory, Indiana University, Bloomington, IN;Open Systems Laboratory, Indiana University, Bloomington, IN;Open Systems Laboratory, Indiana University, Bloomington, IN;Open Systems Laboratory, Indiana University, Bloomington, IN

  • Venue:
  • IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Many interesting problems in graph theory can be reduced to solving an eigenproblem of the adjacency matrix or Laplacian of a graph. Given the availability of high-quality linear algebra and graph libraries, one might expect that one could merely use a graph data structure within a eigensolver. However, conventional libraries are rigidly constructed, requiring conversion to library-specific data structures or using heavyweight abstraction methods that prevent efficient composition. The Generic Programming methodology addresses the problems of reusability and composability by careful factorization of a domain into efficient library abstractions. We describe the composition process that makes the data structures from a library supporting one domain usable with the algorithms of another library for a disjoint domain without conversion or heavyweight abstractions. To illustrate the process, we compose two separately-developed libraries, one for solving eigenproblems sequentially and the other for solving graph problems in parallel, effecting an efficient, scalable parallel graph eigensolver.