As published, it contains many oversized lines, one figure is out of place, and the many comparison charts are difficult to interpret because of the different meanings of their vertical scales. This multi-author paper deserves a better presentation. The benchmarks used for this comparison are briefly described, and more than a dozen comparison charts present the result. This comparison tries to demonstrate that the Berkeley compiler outperforms the HP compiler in several areas. The rest of the paper is devoted to a comparison with the Hewlett-Packard (HP) UPC compiler. They describe some aspects of the language and the model, as well as of the Berkeley UPC compiler. The authors describe a compiler for the parallel language unified parallel C (UPC), using the single program multiple data (SPMD) model. The contents of this paper are interesting, and somewhat convincing. Journal of Parallel and Distributed Computing, 58(2):301-312, 1999. Communication optimizations for parallel C programs. Technical Report SAND99-8801J, Sandia National Laboratories, 1999. The Message Passing Interface (MPI) standard.OpenMP: Simple, Portable, Scalable SMP Programming.Technical Report RAL-TR-1998-060, Rutherford Appleton Laboratory, 1998. Co-Array Fortran for parallel programming. MPICH-A Portable Implementation of MPI.In Architectural Support for Programming Languages and Operating Systems, pages 222-233, 1996. Compiler-based prefetching for recursive data structures. In the 27th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), January 2000. Type systems for distributed data structures. In proceedings of The IEEE International Conference on Parallel Architectures and Compilation Techniques, 2001. Hiding relaxed memory consistency with compilers. Jorunal of Parallel and Distributed Computing, 1996. Analyses and optimizations for shared address space programs. Technical Report CSD-01-1163, University of California, Berkeley, Nov. In 30th IEEE International Conference on Parallel Processing (ICPP01), 2001. UPC Language Specifications, version 1.1, 2003. UPC performance and potential: A NPB experimental study. Compaq UPC version 2.0 for Tru64 UNIX. In SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 68-78, 1996. Global communication analysis and optimization. Technical Report CSD-02-1207, University of California, Berkeley, Oct. In the 17th International Parallel and Distributed Processing Symposium (IPDPS), 2003. An evaluation of current high-performance networks. The International Journal of Supercomputer Applications, 5(3):63-73, Fall 1991. We also investigate several communication optimizations, and show significant benefits by hand-optimizing the generated code. 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. 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. In this paper we describe a portable open source compiler for UPC. Recent results have shown that the performance of UPC using a commercial compiler is comparable to that of MPI. The global address space is used to simplify programming, especially on applications with irregular data structures that lead to fine-grained sharing between threads. The following inactive branches archive predecessor implementations (corresponding to UPCR versions 1.* and 2.Unified Parallel C (UPC) is a parallel language that uses a Single Program Multiple Data (SPMD) model of parallelism within a global address space. Official releases, thoroughly tested and hosted on ( complete archive)Īll UPCR branches strictly follow a linear git history discipline. Branchĭay-to-day development, target for all pull requests As of May 2019, these all target the new GASNet-EX API variant of the GASNet communication backend, and correspond to a 20xx.y.z version numbering scheme. The active UPCR branches are described in the table below. Use the side-bar on the left to navigate.įor more info on Berkeley UPC, please visit the Berkeley UPC homepage Branch structure Active Branches Welcome to the primary source repository for the Berkeley UPC Runtime! (aka "UPCR")
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |