CHAPTER 8

UPC Libraries

Libraries provide standard toolsets and interfaces to perform common tasks conveniently by programmers while providing developers the opportunity to optimize and improve the implementations of such tasks for efficient executions. The UPC language has two standard libraries that will soon be integrated into the general language specification. These are the collective library and the I/O library. The collective library defines a set of collective communications and simple operations that can reduce the development time of common and mundane tasks. The I/O library defines parallel operations on files.

Libraries do not only make programming more convenient but also enable high performance. Stating collective and I/O operations as standard application program interfaces (APIs) allows the compiler developers to optimize at a very low level such types of operations for the target architectures. They also provide the programmer with the tools for hiding the latency associated with extensive communications and I/O operations. Full specifications of the collective and I/O libraries are included in Appendixes B and C, respectively. This chapter draws from the material in those specifications to provide a quick summary of the two libraries. Interested readers should refer to these appendixes for more information.

8.1 UPC COLLECTIVE LIBRARY

For many applications, UPC provides programmers with the ability to express locality, which can provide for high-performance execution ...

Get UPC: DISTRIBUTED SHARED MEMORY PROGRAMMING now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.