Abstract
Many computational applications rely heavily on numerical linear algebra operations. A good number of these applications are data and computation intensive that need to run in high performance computing environments. The ACTS Collection brings robust and high-end software tools to the hands of application developers. However, this transfer of technology is not always successful due in part to the intricacy of the interfaces associated with the software tools. To alleviate this, here we present PyACTS, a set of Python based interfaces to some of the tools in the ACTS collection. We illustrate some examples of these interfaces and their performance, and evaluate not only their performance but also how user friendly they are compared to the original calls. We also present some examples of scientific applications that use PyACTS.
Similar content being viewed by others
References
Anderson E., Bai Z., Bischof C., Blackford S., Demmel J.W., Dongarra J., Croz J.D., Greenbaum A., Hammarling S., McKenney A., Sorensen D.C.: LAPACK User’s Guide. SIAM, Philadelphia, Pennsylvania (1999)
Ascher D., Dubois D.F., Hinsen K., Hugunin J., Oliphant T.: Numerical Python Tech Rep UCRL-MA-128569. Lawrence Livermore National Laboratory, Livermore (2001)
Beane, G.L.: The effects of microprocessor architecture on speedup in distributed memory supercomputers. Master’s thesis, The University of Maine, www.umcs.maine.edu/~beaneg/docs/thesis.pdf (2004)
Beazley, D.M.: SWIG: an easy to use tool for integrating scripting languages with C and C++. In: Proceedings of the Fourth USENIX Tcl/Tk Workshop, Monterey, CA (1996)
Blackford L.S., Choi J., Cleary A., D’Azevedo E., Demmel J.W., Dhillon I., Dongarra J., Hammarling S., Henry G., Petitet A., Stanley K., Walker D., Whaley R.C.: ScaLAPACK User’s Guide. SIAM, Philadelphia, Pennsylvania (1997)
Brown, B., Lovato, J., Russell, K.: DCDFLIB, www.netlib.org/random/ (1998)
Chen Z., Dongarra J., Luszczek P., Roche K.: Self-adapting software for numerical linear algebra and LAPACK for clusters. Parallel Comput. 29(11/12), 1723–1743 (2003)
Dalcín L., Paz R., Storti M.: MPI for Python. J. Parallel Distrib. Comput. 65(9), 1108–1115 (2005)
Drummond L.A., Marques O.A.: The ACTS Collection. Robust and high-performance tools for scientific computing: guidelines for tool inclusion and retirement Tech Rep LBNL/PUB-3175. Computational research division Lawrence Berkeley National Laboratory, Berkeley (2002)
Galiano, V., Migallón, H., Migallón, V., Penadés, J.: A high performance tool for parallel access to netCDF files from high level languages. In: Topping BHV (ed) Proceedings of the Eleventh International Conference on Civil, Structural and Environmental Engineering Computing, Civil-Comp Press, Kippen, Stirlingshire, United Kingdom, Paper 63 (2007)
Hinsen K.: ScientificPython User’s Guide, Centre de Biophysique Moleculaire CNRS. Grenoble, France (2002)
Kelly K.: Comment on Empirical orthogonal function analysis of advanced very high resolution radiometer surface temperature patterns in Santa Barbara Channel by G.S.E. Lagerloef, R.L. Bernstein. J. Geophys. Res. 93, 15753–15754 (1988)
Langtangen H.P.: Python Scripting for Computational Science, 2nd edn. Springer, Germany (2006)
Li, J., Liao, W., Choudhary, A., Ross, R., Thakur, R., Gropp, W., Latham, R.: Parallel netCDF: a high-performance scientific I/O interface. In: Proceedings of SC2003: High Performance Networking and Computing, Computer Society Press, Phoenix, AZ (2003)
Marques, O., Drummond, L.A., Vasco, D.W.: A computational strategy for the solution of large linear inverse problems in geophysics. In: Proceedings of the International Parallel and Distributed Processing Symposium (IPDPS), Nice, France (2003)
Miller, P.: Parallel, distributed scripting with Python. In: Proceedings of the Third International Conference on Linux Clusters: The HPC Revolution, St. Petersburg, FL, www.linuxclustersinstitute.org/conferences/archive/2002/PDF/10-Miller_P.pdf (2002)
Miller, P.J.: PyMPI—An introduction to parallel Python using MPI. Tech. Rep. UCRL-WEB-150152, Lawrence Livermore National Laboratory, Livermore, www.llnl.gov/computing/develop/python/pyMPI.pdf (2002)
Mucci, P.J., London, K., Thurman, J.: The MPBench Report. Tech. Rep. 98–26, CEWES/ERDC MSRC/PET, icl.cs.utk.edu/projects/llcbench/mpbench.pdf (1998)
Painter J., Merritt E.: mmLib Python toolkit for manipulating annotated structural models of biological macromolecules. J. Appl. Crystallogr. 37(1), 174–178 (2004)
Peterson, P.: F2PY Users Guide and Reference Manual, cens.ioc.ee/projects/f2py2e (2005)
Rew, R., Davis, G.: The unidata netCDF: software for scientific data access. In: Proceedings of the Sixth International Conference on Interactive Information and Processing Systems for Meteorology, Oceanography and Hydrology, Anaheim, CA (2001)
Rew, R., Davis, G., Emmerson, S., Davies, H.: NetCDF User’s Guide for C, www.unidata.ucar.edu/packages/netcdf/guidec (1997)
van Rossum, G., Drake Jr, F.L.: Extending and Embedding the Python Interpreter. Network Theory Ltd (2003)
van Rossum, G., Drake Jr, F.L.: An Introduction to Python. Network Theory Ltd (2003)
Sáenz J., Zubillaga J., Fernández J.: Geophysical data analysis using Python. Comput. Geosci. 28(4), 457–465 (2002)
Snir M., Otto S., Huss-Lederman S., Walker D., Dongarra J.: MPI: The Complete Reference. The MIT Press, Cambridge MA (1998)
Vasco D.W., Johnson L.R., Marques O.: Global earth structure: inference and assessment. Geophys. J. Int. 137, 381–407 (1999)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Drummond, L.A., Galiano, V., Migallón, V. et al. PyACTS: A Python Based Interface to ACTS Tools and Parallel Scientific Applications. Int J Parallel Prog 37, 58–77 (2009). https://doi.org/10.1007/s10766-008-0083-4
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10766-008-0083-4