Overview
Explore the challenges and solutions for hybrid MPI+OpenMP programming in high-performance computing through this BoostCon 2011 talk. Delve into the Bulk Synchronous Parallelism paradigm and its suitability for hybrid systems. Learn about BSP++, a Boost-enabled C++ library for designing parallel applications based on the BSP model, and discover its API, integration with Boost libraries, and implementation details. Examine BSPGen, a parallel programming framework built on BSP++, Boost.Spirit, and Clang/LLVM, which generates hybrid parallel applications by evaluating runtime costs and optimizing OpenMP and MPI section balance. Gain insights into the complexities of MPI communications, OpenMP parallelization, and their interactions, while exploring automatic parallelization tools and libraries designed to address these challenges.
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