PyACTS: a high-level framework for fast development of high performance applications

  • Authors:
  • L. A. Drummond;V. Galiano;O. Marques;V. Migallón;J. Penadés

  • Affiliations:
  • Lawrence Berkeley National Laboratory, Berkeley, California;Departamento de Física y Arquitectura de Computadores, Universidad Miguel Hernández, Elche, Alicante, Spain;Lawrence Berkeley National Laboratory, Berkeley, California;Departamento de Ciencia de la Computación e Inteligencia Artificial, Universidad de Alicante, Alicante, Spain;Departamento de Ciencia de la Computación e Inteligencia Artificial Universidad de Alicante, Alicante, Spain

  • Venue:
  • VECPAR'06 Proceedings of the 7th international conference on High performance computing for computational science
  • Year:
  • 2006

Quantified Score

Hi-index 0.01

Visualization

Abstract

Software reusability has proven to be an effective practice to speed-up the development of complex high-performance scientific and engineering applications. We promote the reuse of high quality software and general purpose libraries through the Advance CompuTational Software (ACTS) Collection. ACTS tools have continued to provide solutions to many of today's computational problems. In addition, ACTS tools have been successfully ported to a variety of computer platforms; therefore tremendously facilitating the porting of applications that rely on ACTS functionalities. In this contribution we discuss a high-level user interface that provides a faster code prototype and user familiarization with ACTS tools. The high-level user interfaces have been built using Python. Here we focus on Python based interfaces to ScaLAPACK, the PyScaLAPACK component of PyACTS. We briefly introduce their use, functionalities, and benefits. We illustrate a few simple example of their use, as well as exemplar utilization inside large scientific applications. We also comment on existing Python interfaces to other ACTS tools. We present some comparative performance results of PyACTS based versus direct LAPACK and ScaLAPACK code implementations.