A Parallel Numerical Library for UPC

  • Jorge González-Domínguez
  • María J. Martín
  • Guillermo L. Taboada
  • Juan Touriño
  • Ramón Doallo
  • Andrés Gómez
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5704)


Unified Parallel C (UPC) is a Partitioned Global Address Space (PGAS) language that exhibits high performance and portability on a broad class of shared and distributed memory parallel architectures. This paper describes the design and implementation of a parallel numerical library for UPC built on top of the sequential BLAS routines. The developed library exploits the particularities of the PGAS paradigm, taking into account data locality in order to guarantee a good performance. The library was experimentally validated, demonstrating scalability and efficiency.


Parallel computing PGAS UPC Numerical libraries BLAS 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Titanium Project Home Page, http://titanium.cs.berkeley.edu/ (last visit: May 2009)
  2. 2.
    Co-Array Fortran, http://www.co-array.org/ (last visit: May 2009)
  3. 3.
    UPC Consortium: UPC Language Specifications, v1.2. (2005), http://upc.lbl.gov/docs/user/upc_spec_1.2.pdf
  4. 4.
    El-Ghazawi, T., Cantonnet, F.: UPC Performance and Potential: a NPB Experimental Study. In: Proc. 14th ACM/IEEE Conf. on Supercomputing (SC 2002), Baltimore, MD, USA, pp. 1–26 (2002)Google Scholar
  5. 5.
    Barton, C., Casçaval, C., Almási, G., Zheng, Y., Farreras, M., Chatterje, S., Amaral, J.N.: Shared Memory Programming for Large Scale Machines. In: Proc. ACM SIGPLAN Conf. on Programming Language Design and Implementation (PLDI 2006), Ottawa, Ontario, Canada, pp. 108–117 (2006)Google Scholar
  6. 6.
    BLAS Home Page, http://www.netlib.org/blas/ (last visit: May 2009)
  7. 7.
    Dongarra, J.J., Croz, J.D., Hammarling, S., Hanson, R.J.: An Extended Set of FORTRAN Basic Linear Algebra Subprograms. ACM Transactions on Mathematical Software 14(1), 1–17 (1988)CrossRefMATHGoogle Scholar
  8. 8.
    PBLAS Home Page, http://www.netlib.org/scalapack/pblasqref.html (last visit: May 2009)
  9. 9.
    Choi, J., Dongarra, J.J., Ostrouchov, S., Petitet, A., Walker, D., Clinton Whaley, R.: A Proposal for a Set of Parallel Basic Linear Algebra Subprograms. In: Waśniewski, J., Madsen, K., Dongarra, J. (eds.) PARA 1995. LNCS, vol. 1041, pp. 107–114. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  10. 10.
    Numrich, R.W.: A Parallel Numerical Library for Co-array Fortran. In: Wyrzykowski, R., Dongarra, J., Meyer, N., Waśniewski, J. (eds.) PPAM 2005. LNCS, vol. 3911, pp. 960–969. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  11. 11.
    Finis Terrae Supercomputer, http://www.top500.org/system/9500 (last visit: May 2009)
  12. 12.
    El-Ghazawi, T., Cantonnet, F., Saha, P., Thakur, R., Ross, R., Bonachea, D.: UPC-IO: A Parallel I/O API for UPC v1.0 (2004), http://upc.gwu.edu/docs/UPC-IOv1.0.pdf
  13. 13.
    Brown, J.L., Wen, Z.: Toward an Application Support Layer: Numerical Computation in Unified Parallel C. In: Wyrzykowski, R., Dongarra, J., Meyer, N., Waśniewski, J. (eds.) PPAM 2005. LNCS, vol. 3911, pp. 912–919. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  14. 14.
    Barton, C., Caşcaval, C., Almasi, G., Garg, R., Amaral, J.N., Farreras, M.: Multidimensional Blocking in UPC. In: Adve, V., Garzarán, M.J., Petersen, P. (eds.) LCPC 2007. LNCS, vol. 5234, pp. 47–62. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  15. 15.
    Nishtala, R., Almási, G., Casçaval, C.: Performance without Pain = Productivity: Data Layout and Collective Communication in UPC. In: Proc. 13th ACM SIGPLAN Symp. on Principles and Practice of Parallel Programming (PPoPP 2008), Salt Lake City, UT, USA, pp. 99–110 (2008)Google Scholar
  16. 16.
    Berkeley UPC Project, http://upc.lbl.gov (last visit: May 2009)
  17. 17.
    Intel Math Kernel Library, http://www.intel.com/cd/software/products/asmo-na/eng/307757.htm (last visit: May 2009)

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Jorge González-Domínguez
    • 1
  • María J. Martín
    • 1
  • Guillermo L. Taboada
    • 1
  • Juan Touriño
    • 1
  • Ramón Doallo
    • 1
  • Andrés Gómez
    • 2
  1. 1.Computer Architecture GroupUniversity of A CoruñaSpain
  2. 2.Galicia Supercomputing Center (CESGA), Santiago de CompostelaSpain

Personalised recommendations