This event has ended. Visit the official site or create your own event on Sched.
Back To Schedule
Friday, September 29 • 1:30pm - 2:30pm
The Point of Views: Multidimensional Index Sets for Data Locality in HPC Applications

Log in to save this to your schedule, view media, leave feedback and see who's attending!

Feedback form is now closed.
In High Performance Computing, data access has complex implications and requires concepts that are fundamentally different from those provided in the STL.
Iterators as we know them just are not enough.
The proposed range concepts for the standard library are a significant improvement but are designed for the mental model of iterating and mapping values, not hierarchical domain decomposition.

Even for a seemingly trivial array there are countless ways to partition and store its elements in distributed memory, and algorithms are required to behave and scale identically for all of them. It also does not help that most applications operate on multidimensional data structures where efficient access to neighborhood regions is crucial. Among HPC developers, it is therefore widely accepted that canonical iteration space and physical memory layout must be specified as separate concepts.

For this, we use views based on multidimensional index sets, inspired by the proposed range concepts.

In this session, we will explain the challenges when distributing container elements for thousands of cores and how modern C++ allows to achieve portable efficiency.
As an HPC afficionado, you know you want this:

copy( matrix_a | local() | block({ 2,3 }), matrix_b | block({ 4,5 }) )

If this does not look familiar to you: we give a gentle introduction to High Performance Computing along the way.

avatar for Tobias Fuchs

Tobias Fuchs

Research Associate, LMU Munich, Leibniz Supercomputing Centre
[ cpplang.slack.com : @fuchsto ] Tobi is a freelancer in embedded systems and real-time applications for over 10 years, mostly for medical devices, and went back to academia for PhD studies in High Performance Computing at LMU Munich. He is the lead developer of the DASH C++ template... Read More →

Friday September 29, 2017 1:30pm - 2:30pm PDT
Harvard (406) Meydenbauer Center