Tarek El-Ghazawi, et al, "UPC: Distributed Shared-Memory Programming"
Wiley-Interscience | ISBN 0471220485 | 2003 Year | PDF | 1,55 Mb | 300 Pages
Wiley-Interscience | ISBN 0471220485 | 2003 Year | PDF | 1,55 Mb | 300 Pages
A must-have for UPC programmers and applications developers This publication provides an in-depth interpretation of UPC language specifications for use in highly parallel systems. With its extensive use of examples, UPC programming case studies, and illustrations, it offers new insights into developing efficient and effective UPC applications such as high-speed signal processing and pattern recognition. As an added feature, readers have access to an ftp site containing an electronic copy of the full code and can make files for all the examples given in the text. The book provides all the information and guidance needed to use this powerful new programming language: Chapter 1 provides a quick tutorial of the major features of the UPC language Chapter 2 presents the UPC programming model and describes how shared and nonshared data are declared and used Chapter 3 covers the critically important concept of pointers in UPC, identifying the types, declarations, and usage of the various UPC pointers and how they work with arrays Chapter 4 explains how data and work can be distributed in UPC such that data locality is exploited through efficient data declarations and work-sharing constructs Chapter 5 provides extensive treatment of dynamic memory allocation in the shared space Chapter 6 covers thread and data synchronization, explaining the effective mechanisms provided by UPC for mutual exclusion, barriers, and memory consistency control Chapter 7 offers programmers tools needed to write efficient applications Chapter 8 introduces two UPC standard libraries: the collective operations library and the parallel I/O library Appendices feature the UPC v1.1.1 specification; UPC v1.0 collective library specifications; UPC-IO v1.0 specifications; information on how to compile and run UPC programs; and a quick UPC reference card UPC is ubiquitous. It is supported on parallel computers from HP, Cray, SGI, IBM, as well as on computer clusters. This is the authoritative source for learning how to master this programming language; El-Ghazawi, Carlson, and Yelick are among the developers of UPC.