Programming Models for Parallel Computing
Interactive Parallel Computation in Support of Research in Algebra, Geometry and Number Theory
January 30, 2007 09:00 AM to 10:00 AM
Speakers:
Yelick, Katherine
|
 |
Abstract: |
The introduction of multicore processors into mainstream computing is creating a revolution in software development. While Moore's Law continues to hold, most of the increases in transistor density will be used for explicit, software-visible parallelism, rather than increasing clock rate. The major open question is how these machines will be programmed. In this talk I will give an overview of some of the hardware trends, and describe programming techniques using Partitioned Global Address Space (PGAS) languages. PGAS languages have emerged as a viable alternative to message passing programming models for large-scale parallel machines and clusters. They also offer an alternative to shared memory programming models (such as threads and OpenMP) and the possibility of a single programming model that will work well across a wide range of shared and distributed memory platforms. PGAS languages provide a shared memory abstraction with support for locality through the user of distributed data types. The three most mature PGAS languages (UPC, CAF and Titanium) offer a statically partitioned global address space with a static SPMD control model, while languages emerging from the DARPA HPCS program are more dynamic. I will describe these languages as well as our experience using them in both numeric and symbolic applications. |
|
|