Wiley
Wiley.com
Print this page Share

UPC: Distributed Shared Memory Programming

ISBN: 978-0-471-22048-0
252 pages
June 2005
UPC: Distributed Shared Memory Programming (0471220485) cover image
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.
See More
Preface.

1. Introductory Tutorial.

1.1 Getting Started.

1.2 Private and Shared Data.

1.3 Shared Arrays and Affinity of Shared Data.

1.4 Synchronization and Memory Consistency.

1.5 Work Sharing.

1.6 UPC Pointers.

1.7 Summary.

Exercises.

2. Programming View and UPC Data Types.

2.1 Programming Models.

2.2 UPC Programming Model.

2.3 Shared and Private Variables.

2.4 Shared and Private Arrays.

2.5 Blocked Shared Arrays.

2.6 Compiling Environments and Shared Arrays.

2.7 Summary.

Exercises.

3. Pointers and Arrays.

3.1 UPC Pointers.

3.2 Pointer Arithmetic.

3.3 Pointer Casting and Usage Practices.

3.4 Pointer Information and Manipulation Functions.

3.5 More Pointer Examples.

3.6 Summary.

Exercises.

4. Work Sharing and Domain Decomposition.

4.1 Basic Work Distribution.

4.2 Parallel Iterations.

4.3 Multidimensional Data.

4.4 Distributing Trees.

4.5 Summary.

Exercises.

5. Dynamic Shared Memory Allocation.

5.1 Allocating a Global Shared Memory Space Collectively.

5.2 Allocating Multiple Global Spaces.

5.3 Allocating Local Shared Spaces.

5.4 Freeing Allocated Spaces.

5.5 Summary.

Exercises.

6. Synchronization and Memory Consistency.

6.1 Barriers.

6.2 Split-Phase Barriers.

6.3 Locks.

6.4 Memory Consistency.

6.5 Summary.

Exercises.

7. Performance Tuning and Optimization.

7.1 Parallel System Architectures.

7.2 Performance Issues in Parallel Programming.

7.3 Role of Compilers and Run-Time Systems.

7.4 UPC Hand Optimization.

7.5 Case Studies.

7.6 Summary.

Exercises.

8. UPC Libraries.

8.1 UPC Collective Library.

8.2 UPC-IO Library.

8.3 Summary.

References.

Appendix A: UPC Language Specifications, v1.1.1.

Appendix B: UPC Collective Operations Specifications, v1.0.

Appendix C: UPC-IO Specifications, v1.0.

Appendix D: How to Compile and Run UPC Programs.

Appendix E: Quick UPC Reference.

Index.

See More
"This book is a good introduction to the UPC programming philosophy." (Computing Reviews.com, February 15, 2006)
See More
information about UPCThis 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/
See More

Related Titles

Back to Top