Unified Parallel C (UPC) has been developed for use in highly parallel systems in applications such as high-speed signal processing and pattern recognition. It has significant advantages over other languages in the way that it uses and accesses memory. Given that it is based on C, which is probably the most widely used programming language, it is relatively straightforward for people to pick up UPC from scratch. Written by the developers of UPC, this is the first book to explain the language and its use. It will be an invaluable resource for the growing number of UPC users and applications developers.