Frontiers of HPC: Unified Parallel C

LENGTH: 1/2 day.

DESCRIPTION: Unified Parallel C (UPC) is a language extension to C providing a uniform interface for distributing data structures in programming both shared memory and cluster-based systems. UPC, along with other bleeding edge unified models for parallel programming such as Co-Array Fortran and Fortress, hold out the promise of more streamlined development; however, as is the case with most things there is a price. How practical is UPC for development right now? What trade-offs are involved in embracing it? What traps lie in wait for those who stumble around blindly?

This workshop will present an overview of programming with UPC, using tools that are currently available on SHARCNET systems. We will use this a springboard for discussion, considering the above issues once we have the appropriate perspective, and placing UPC in context with the more commonly used tools such as OpenMP and MPI.

PREREQUISITES: Familiar with the C or Fortran programming language.

LAB: Examples.