Programming Models for High Performance Scientific Computing

Jeff Hammond
Seminar

A programming model is the high-level structure within which an algorithm is implemented. The complexity of the programming model required for a given application depends greatly on the type of parallelism to be expressed. In the first part of this talk, I will highlight some of the most common programming models (e.g. master-worker) and describe their implementation within MPI. The second part will focus on asynchronous programming models using one-sided communication and the utility of this model within application codes in biology and chemistry.