Abstract
A parallel extension to the Python language is introduced that is modeled after the Co-Array Fortran extensions to Fortran 95. A new Python module, CoArray, has been developed to provide co-array syntax that allows a Python programmer to address co-array data on a remote processor. An example of Jacobi iteration using the CoArray module is shown and corresponding performance results are presented.
Chapter PDF
References
Thinking Machines Corporation, Cambridge, Massachusetts: C∗ Language Reference Manual (1991)
Carlson, W.W., Draper, J.M., Culler, D.E., Yelick, K., Brooks, E., Warren, K.: Introduction to UPC and language specification. Technical Report CCS-TR-99- 157, Center for Computing Sciences, 17100 Science Drive, Bowie, MD 20715 (1999), http://www.super.org/upc/
Yelick, K., Semenzato, L., Pike, G., Miyamoto, C., Liblit, B., Krishnamurthy, A., Hilfinger, P., Graham, S., Gay, D., Colella, P., Aiken, A.: Titanium: A highperformance Java dialect. Concurrency: Practice and Experience 10, 825–836 (1998)
Numrich, R.W.: A parallel extension to Cray Fortran. Scientific Programming 6, 275–284 (1997)
Koebel, C.H., Loveman, D.B., Schrieber, R.S., Steele, G.L., Zosel, M.E.: The High Performance Fortran Handbook. The MIT Press, Cambridge (1994)
Numrich, R.W., Reid, J.K.: Co-Array Fortran for parallel programming. ACM Fortran Forum 17, 1–31 (1998), http://www.co-array.org/
Gropp, W., Lusk, E., Skjellum, A.: Using MPI, portable parallel programming with the Message-Passing Interface. The MIT Press, Cambridge (1994)
van Rossum, G., Drake Jr., F.L. (eds): Python Reference Manual (2003), http://www.python.org/
Scientific Python web site (2004), http://www.scipy.org/
Nieplocha, J., Carpenter, B.: ARMCI: A portable remote memory copy library for distributed array libraries and compiler run-time systems. In: Proceedings of RTSPP/IPPS 1999 (1999)
Coarfa, C., Dotsenko, Y., Eckhardt, J., Mellor-Crummey, J.: Co-array Fortran performance and potential: An NPB experimental study. In: Rauchwerger, L. (ed.) LCPC 2003. LNCS, vol. 2958, Springer, Heidelberg (2004)
Nieplocha, J., Ju, J., Straatsma, T.P.: A multiprotocol communication support for the global address space programming model on the IBM SP. In: Bode, A., Ludwig, T., Karl, W.C., Wismüller, R. (eds.) Euro-Par 2000. LNCS, vol. 1900, p. 718. Springer, Heidelberg (2000)
Chasm language interoperability web site (2004), http://chasm-interop.sf.net/
Miller, P.: pyMPI – An introduction to parallel Python using MPI (2002), http://pympi.sourceforge.net/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Rasmussen, C.E., Sottile, M.J., Nieplocha, J., Numrich, R.W., Jones, E. (2004). Co-array Python: A Parallel Extension to the Python Language. In: Danelutto, M., Vanneschi, M., Laforenza, D. (eds) Euro-Par 2004 Parallel Processing. Euro-Par 2004. Lecture Notes in Computer Science, vol 3149. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-27866-5_83
Download citation
DOI: https://doi.org/10.1007/978-3-540-27866-5_83
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22924-7
Online ISBN: 978-3-540-27866-5
eBook Packages: Springer Book Archive