Abstract
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.
Chapter PDF
Similar content being viewed by others
References
Titanium Project Home Page, http://titanium.cs.berkeley.edu/ (last visit: May 2009)
Co-Array Fortran, http://www.co-array.org/ (last visit: May 2009)
UPC Consortium: UPC Language Specifications, v1.2. (2005), http://upc.lbl.gov/docs/user/upc_spec_1.2.pdf
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)
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)
BLAS Home Page, http://www.netlib.org/blas/ (last visit: May 2009)
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)
PBLAS Home Page, http://www.netlib.org/scalapack/pblasqref.html (last visit: May 2009)
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)
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)
Finis Terrae Supercomputer, http://www.top500.org/system/9500 (last visit: May 2009)
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
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)
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)
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)
Berkeley UPC Project, http://upc.lbl.gov (last visit: May 2009)
Intel Math Kernel Library, http://www.intel.com/cd/software/products/asmo-na/eng/307757.htm (last visit: May 2009)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
González-Domínguez, J., Martín, M.J., Taboada, G.L., Touriño, J., Doallo, R., Gómez, A. (2009). A Parallel Numerical Library for UPC. In: Sips, H., Epema, D., Lin, HX. (eds) Euro-Par 2009 Parallel Processing. Euro-Par 2009. Lecture Notes in Computer Science, vol 5704. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-03869-3_60
Download citation
DOI: https://doi.org/10.1007/978-3-642-03869-3_60
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-03868-6
Online ISBN: 978-3-642-03869-3
eBook Packages: Computer ScienceComputer Science (R0)