On Tour: HPX Tutorial at SC15!

Howdy! The STE||AR Group welcomes you to participate in a hands on HPX tutorial which will be given this year in Austin, Texas as part of the SC Tutorials program. STE||AR Fellows from Louisiana State University, Friedrich-Alexander Universitat, Lawrence Berkeley National Laboratory, and University of Oregon will present “Massively Parallel Task-Based Programming wih HPX” which will consist of five parts:

  1. HPX: a New Paradigm – A high level overview of the kinds of parallel programming problems C++11/14 and HPX were designed to address. The presentation will focus on use of futures, including waiting for a future, chaining subsequent actions to a future, and composing futures both within and across machines.
  2. An Introduction using Lua – This section of the tutorial will demonstrate HPX concepts by utilizing a Lua wrappers library. Examples of a simple serial Lua code will be converted, step by step to run in parallel on a single machine, and then in a distributed environment. We intend for this part of the tutorial to explain the mindset behind HPX applications without necessarily needing to be intimately familiar with the C++11/14 standard. Interactive code execution will be made available through a web site, as well as through a virtual machine.
  3. Digging into the C++ – This section of the tutorial will start with teaching the basic C++11/14 concurrency mechanisms, then branch out to writing HPX applications using simple serial code examples (similar to the Lua code) which will be transformed into fully parallelized, distributed applications.
  4. GPUs and Xeon Phis – Here we will demonstrate how the HPX concepts introduced in the previous sections can be seamlessly integrated with the use of accelerators and co-processors. We will demonstrate how by simply recompiling the application on the device you can run HPX code on the Xeon Phi. Additionally, we will introduce the HPXCL library which enables users to take advantage of the GPU, the CPU or the Phi by integrating OpenCL kernels into their codes and distributing them across a heterogeneous machine.
  5. Performance Analysis of HPX – Finally, we will introduce the TAU Performance System and the policy engine APEX for instrumentation of the applications and runtime. The hands-on session will include an exercise for performance assessment using these performance evaluation tools.

By the end of this tutorial, we hope that participants will have a clear understanding of the HPX approach to parallelism, as well as some hands on experience writing HPX applications. We plan to target C++ application developers, researchers, and programmers who are interested in application scalability, performance evaluation, and distributed computing. We are very excited to have the opportunity to present HPX in such a visible venue as the SC Tutorial program. Don’t forget to stop by after the tutorial and say hi at the Louisiana State University booth on the showroom floor. See you in November!

Leave a Reply

Your email address will not be published. Required fields are marked *