CS267: Lecture 10


October 1, 2001

Lecturer: Kathy Yelick


We introduce the first of two "global address space" languages, UPC.  UPC is a SPMD language that allow programmers to build distributed data structures using pointers and distributed arrays.  The array mechanisms allow for several different kinds of layouts.  Some simple matrix examples are used to illustrate the language.  UPC has a rather unusual consistency model, which the programer is able to control through keywords and pragmas.  The lecture contains some performance experiments from Split-C, one of the predecessors to UPC, to motivate these memory models.  UPC currently runs on the T3E and on Compaq clusters, although implementations are underway on several other platforms.

These notes steal liberally from lectures a UPC lecture by Tarek El-Ghazawi (GMU),  Bill Carlson (IDA-CCS), Greg Fischer (Cray Inc.)

2001 Lecture Notes

PowerPoint, Postscript, PDF


Homework 2: Sharks and Fish in threads and MPI (due 10/10)


  • UPC web page at GWU.