Overview
This course aims to teach learners about the efficient use of hybrid MPI+OpenMP programming models for massively parallel computers. The learning outcomes include understanding factors affecting performance in hybrid applications, utilizing the Bulk Synchronous Parallelism paradigm, and implementing parallel applications using BSP++ library and BSPGen framework. The course covers topics such as MPI communications efficiency, OpenMP parallelization efficiency, and MPI-OpenMP interaction. The teaching method involves presentations on programming tools and models, higher-level models like BSP, and practical examples using BSP++ and BSPGen. The course is intended for scientists and engineers responsible for HPC applications who seek effective automatic parallelization tools and libraries to optimize their codes for multi-core processors.
Syllabus
Intro
The March of Hybrid Parallelism
What's left to do so ?
Purpose of this talk
Talk Layout
Programming Tools and Models
Higher Level Models
Bulk Synchronous Parallelism
BSP Machine Model
BSP Programming Model
BSP Cost Model
Existing BSP Library
Why BSP
BSML primitives
A sample BSML Code
BSP + primitives
A sample BSP code
Support for Hybrid programming
The BSPGen Framework
Analysis and Exploration
Objectives
Simple Kernels
Model Checking
Taught by
CppNow