This is the first book to explain the language Unified Parallel C and its use. Authors El-Ghazawi, Carlson, and Sterling are among the developers of UPC, with close links with the industrial members of the UPC consortium. Their text covers background material on parallel architectures and algorithms, and includes UPC programming case studies. This book represents an invaluable resource for the growing number of UPC users and applications developers. More information about UPC can be found at: http://upc.gwu.edu/
An Instructor Support FTP site is available from the Wiley editorial department.
Preface vii
1. Introductory Tutorial 1
1.1 Getting Started 1
1.2 Private and Shared Data 3
1.3 Shared Arrays and Affinity of Shared Data 6
1.4 Synchronization and Memory Consistency 8
1.5 Work Sharing 10
1.6 UPC Pointers 11
1.7 Summary 14
Exercises 14
2. Programming View and UPC Data Types 17
2.1 Programming Models 17
2.2 UPC Programming Model 20
2.3 Shared and Private Variables 21
2.4 Shared and Private Arrays 23
2.5 Blocked Shared Arrays 25
2.6 Compiling Environments and Shared Arrays 30
2.7 Summary 30
Exercises 31
3. Pointers and Arrays 33
3.1 UPC Pointers 33
3.2 Pointer Arithmetic 35
3.3 Pointer Casting and Usage Practices 38
3.4 Pointer Information and Manipulation Functions 40
3.5 More Pointer Examples 43
3.6 Summary 47
Exercises 47
4. Work Sharing and Domain Decompositionl“2