Towards an automatic and application-based eigensolver selection

Xiaoye S. Li
MS 50F-1650, Lawrence Berkeley National Laboratory
1 Cyclotron Rd, Berkeley CA 94720-8139
xsli@lbl.gov
Osni Marques, Yeliang Zhang

The computation of eigenvalues and eigenvectors is an important and often time-consuming phase in computer simulations. Recent efforts in the development of eigensolver libraries have given users good algorithm implementations without the need for users to spend much time in programming. Yet, given the variety of algorithms that are available to domain scientists, choosing the ``optimal'' algorithm for a particular application is a daunting task. In addition, as simulations become increasingly sophisticated and larger, it becomes infeasible for a user to try out every reasonable algorithm configuration in a timely fashion. Therefore, there is a need for an automated tool that is able to guide the user through the maze of various solvers with different configurations.

In this talk, we will describe a high-end, intelligent sparse eigensolver toolbox, EigAdept, which comprises the following components:

EigAdept is implemented in C++ with Fortran interface. We have implemented distinct class structures for eigensolvers, linear equation solvers, and matrix types, so that for each eigensolver algorithm, we can easily support different sparse matrix formats, or use different linear solvers internally (e.g., for performing shift-and-invert). We use MySQL relational database to facilitate the implementation of the intelligent engine. MySQL is a free open source database software with a reliable C API. We will illustrate, with some case studies, that EigAdept can be a valuable tool for users from application domains, as well as for experts doing algorithm research.