CRIBB Semainar: Programming in CnC for Parallel Execution
Date: Friday, May 02, 2014
Time: 12:00 PM to 1:00 PM Note: all times are in the Eastern Time Zone
Refreshments: 11:45 AM
Location: Stata 32-141
Host: Prof. Alan Edelmen , MIT
Contact: Patrice Macaluso, (617) 253-4347, firstname.lastname@example.org
Relevant URL: http://math.mit.edu/crib/
Speaker URL: None
TALK: Programming in CnC for Parallel Execution
Parallel programming is difficult for anyone but its particularly difficult for the domain expert who wants to focus on their domain (say finance, medical imaging or chemistry) and not on computer science. Most programming models require the user to think about and express what units of computation to execute in parallel. This is hard and depends on the target architecture. Instead, CnC requires the user to think about and express the ordering constraints among the units of computation. This is easier and depends only on the application. In fact, the user must know these constraints even to write a correct serial program. There are exactly two relationships that cause ordering constraints: producer/consumer (one computation produces data that another uses) and controller/controllee (one computation determines if another will execute). CnC is simply a way of expressing these ordering constraints. This approach not only simplifies the programmers problem but because the resulting program is less constrained the execution can be more efficient.
The talk will introduce CnC and present our experience with CnC LULESH, a shock hydro-dynamics application. This work was done for the DOE Exascale software stack (S-Stack) project. If time permits we may also touch on the tuning capabilities in CnC.
Created by Patrice Macaluso at Thursday, May 01, 2014 at 1:44 PM.