Presenters
Event Type
Tutorial

Parallel Programming Languages, Libraries, Models
and Notations
TimeMonday, November 13th8:30am -
12pm
Location201
DescriptionDue to energy constraints, high performance computing
platforms are becoming increasingly heterogeneous,
achieving greater performance per watt through the use
of hardware that is tuned to specific computational
kernels or application domains. It can be challenging
for developers to match computations to accelerators,
choose models for targeting those accelerators, and then
coordinate the use of those accelerators in the context
of their larger applications.
This tutorial starts with a survey of heterogeneous architectures and programming models, and discusses how to determine if a computation is suitable for a particular accelerator. Next, Intel® Threading Building Blocks (Intel® TBB), a widely used, portable C++ template library for parallel programming is introduced. Intel TBB was first developed in 2006 as a shared-memory parallel programming library, but has since been extended to allow developers to coordinate the use of accelerators such as integrated and discrete GPUs, attached devices such as Intel® Xeon Phi co-processors, and FPGAs in to their parallel C++ applications.
Attendees will be given a hands-on opportunity to use TBB to create parallel implementations of a sample code. They will first build a shared-memory implementation and then a heterogeneous implementation, running their samples on a mix of CPUs and accelerators.
This tutorial starts with a survey of heterogeneous architectures and programming models, and discusses how to determine if a computation is suitable for a particular accelerator. Next, Intel® Threading Building Blocks (Intel® TBB), a widely used, portable C++ template library for parallel programming is introduced. Intel TBB was first developed in 2006 as a shared-memory parallel programming library, but has since been extended to allow developers to coordinate the use of accelerators such as integrated and discrete GPUs, attached devices such as Intel® Xeon Phi co-processors, and FPGAs in to their parallel C++ applications.
Attendees will be given a hands-on opportunity to use TBB to create parallel implementations of a sample code. They will first build a shared-memory implementation and then a heterogeneous implementation, running their samples on a mix of CPUs and accelerators.
Links