|
Warning: The download time has expired please click on the item to try again.
ABSTRACT
Unified Parallel C (UPC) is a parallel language that uses a Single Program Multiple Data (SPMD) model of parallelism within a global address space. The global address space is used to simplify programming, especially on applications with irregular data structures that lead to fine-grained sharing between threads. Recent results have shown that the performance of UPC using a commercial compiler is comparable to that of MPI [7]. In this paper we describe a portable open source compiler for UPC. Our goal is to achieve a similar performance while enabling easy porting of the compiler and runtime, and also provide a framework that allows for extensive optimizations. We identify some of the challenges in compiling UPC and use a combination of micro-benchmarks and application kernels to show that our compiler has low overhead for basic operations on shared data and is competitive, and sometimes faster than, the commercial HP compiler. We also investigate several communication optimizations, and show significant benefits by hand-optimizing the generated code.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
D. H. Bailey, E. Barszcz, J. T. Barton, D. S. Browning, R. L. Carter, D. Dagum, R. A. Fatoohi, P. O. Frederickson, T. A. Lasinski, R. S. Schreiber, H. D. Simon, V. Venkatakrishnan, and S. K. Weeratunga. The NAS Parallel Benchmarks. The International Journal of Supercomputer Applications, 5(3):63--73, Fall 1991.
|
| |
2
|
Christian Bell , Dan Bonachea , Yannick Cote , Jason Duell , Paul Hargrove , Parry Husbands , Costin Iancu , Michael Welcome , Katherine Yelick, An Evaluation of Current High-Performance Networks, Proceedings of the 17th International Symposium on Parallel and Distributed Processing, p.28.1, April 22-26, 2003
|
| |
3
|
The Berkeley UPC Compiler, 2002. http://upc.lbl.gov.
|
| |
4
|
|
 |
5
|
Soumen Chakrabarti , Manish Gupta , Jong-Deok Choi, Global communication analysis and optimization, Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation, p.68-78, May 21-24, 1996, Philadelphia, Pennsylvania, United States
|
| |
6
|
Compaq UPC version 2.0 for Tru64 UNIX. http://www.tru64unix.compaq.com/upc.
|
| |
7
|
|
| |
8
|
T. El-Ghazawi, W. Carlson, and J. Draper. UPC Language Specifications, version 1.1, 2003. http://www.gwu.edu/upc/documentation.html.
|
| |
9
|
|
| |
10
|
Paul N. Hilfinger , Dan Bonachea , David Gay , Susan Graham , Ben Liblit , Geoff Pike , Katherine Yelick, Titanium Language Reference Manual, University of California at Berkeley, Berkeley, CA, 2001
|
| |
11
|
|
| |
12
|
|
| |
13
|
Lemieux. http://www.psc.edu/machines/tcs/lemieux.html.
|
 |
14
|
|
 |
15
|
|
| |
16
|
Matrix market. http://gams.nist.gov/MatrixMarket/.
|
| |
17
|
MPICH-A Portable Implementation of MPI. http://www-unix.mcs.anl.gov/mpi/mpich.
|
| |
18
|
R. Numwich and J. Reid. Co-Array Fortran for parallel programming. Technical Report RAL-TR-1998-060, Rutherford Appleton Laboratory, 1998.
|
| |
19
|
OpenMP: Simple, Portable, Scalable SMP Programming. http://www.openmp.org.
|
| |
20
|
The Message Passing Interface (MPI) standard. http://www-unix.mcs.anl.gov/mpi/.
|
| |
21
|
R. S. Tuminaro, M. Heroux, S. A. Hutchinson, and J. N. Shadid. Official aztec user's guide version 2.1. Technical Report SAND99-8801J, Sandia National Laboratories, 1999.
|
| |
22
|
|
CITED BY 19
|
|
|
|
|
Cristian Coarfa , Yuri Dotsenko , John Mellor-Crummey , François Cantonnet , Tarek El-Ghazawi , Ashrujit Mohanti , Yiyi Yao , Daniel Chavarría-Miranda, An evaluation of global address space languages: co-array fortran and unified parallel C, Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming, June 15-17, 2005, Chicago, IL, USA
|
|
|
Christopher Barton , CĆlin Casçaval , George Almási , Yili Zheng , Montse Farreras , Siddhartha Chatterje , José Nelson Amaral, Shared memory programming for large scale machines, ACM SIGPLAN Notices, v.41 n.6, June 2006
|
|
|
Amith R. Mamidala , Sundeep Narravula , Abhinav Vishnu , Gopal Santhanaraman , Dhabaleswar K. Panda, On using connection-oriented vs. connection-less transport for performance and scalability of collective and one-sided operations: trade-offs and impact, Proceedings of the 12th ACM SIGPLAN symposium on Principles and practice of parallel programming, March 14-17, 2007, San Jose, California, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
K. Yelick , P. Hilfinger , S. Graham , D. Bonachea , J. Su , A. Kamil , K. Datta , P. Colella , T. Wen, Parallel Languages and Compilers: Perspective From the Titanium Experience, International Journal of High Performance Computing Applications, v.21 n.3, p.266-290, August 2007
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Jaejin Lee , Sangmin Seo , Chihun Kim , Junghyun Kim , Posung Chun , Zehra Sura , Jungwon Kim , SangYong Han, COMIC: a coherent shared memory interface for cell be, Proceedings of the 17th international conference on Parallel architectures and compilation techniques, October 25-29, 2008, Toronto, Ontario, Canada
|
|
|
|
|
|
|
|
|
Filip Blagojevic , Costin Iancu , Katherine Yelick , Matthew Curtis-Maury , Dimitrios S. Nikolopoulos , Benjamin Rose, Scheduling dynamic parallelism on accelerators, Proceedings of the 6th ACM conference on Computing frontiers, May 18-20, 2009, Ischia, Italy
|
|
|
Hans Zima , Mary Hall , Chun Chen , Jaqueline Chame, Model-guided autotuning of high-productivity languages for petascale computing, Proceedings of the 18th ACM international symposium on High performance distributed computing, p.151-166, June 11-13, 2009, Garching, Germany
|
REVIEW
"Olivier Louis Marie Lecarme : Reviewer"
The contents of this paper are interesting, and somewhat convincing. The authors describe a compiler for the parallel language unified parallel C (UPC), using the single program multiple data (SPMD) model. They describe some aspects of the languag
more...
|