PYTRILINOS: high-performance distributed-memory solvers for Python

  • Authors:
  • Marzio Sala;William F. Spotz;Michael A. Heroux

  • Affiliations:
  • Department of Computer Science, ETH Zurich, Zurich;Sandia National Laboratories, Albuquerque, NM;Sandia National Laboratories, Albuquerque, NM

  • Venue:
  • PARA'06 Proceedings of the 8th international conference on Applied parallel computing: state of the art in scientific computing
  • Year:
  • 2006

Quantified Score

Hi-index 0.01

Visualization

Abstract

PYTRILINOS is a collection of Python modules targeting serial and parallel sparse linear algebra, direct and iterative linear solution techniques, domain decomposition and multilevel preconditioners, nonlinear solvers and continuation algorithms. Also included are a variety of related utility functions and classes, including distributed I/O, coloring algorithms and matrix generation. PYTRILINOS vector objects are integrated with the popular NumPy module, gathering together a variety of high-level distributed computing operations with serial vector operations. PYTRILINOS uses a hybrid development approach, with a front-end in Python, and a back-end, computational engine in compiled libraries. As such, PYTRILINOS makes it easy to take advantage of both the flexibility and ease of use of Python, and the efficiency of the underlying C++, C and FORTRAN numerical kernels. The presented numerical results show that, for many important problem classes, the overhead required by the Python interpreter is negligible.