Programming with high-level parallel patterns: Programmability, portability, and performance
Speaker: Dr. August Ernstsson
Abstract: We are seeing an increased diversification of computing resources at the system and hardware levels. The trends are clear: architectures are becoming more parallel, but also more heterogeneous. No matter where the target system is on the broad spectrum from handheld phones to supercomputers the size of buildings, the programmer is tasked with developing software targeting one or more parallel CPUs in addition to accelerators such as GPUs. If the goal is to utilize the available resources efficiently, the programs risk being difficult and error-prone to write, and also challenging to read and maintain. High-level parallel programming environments aim to abstract from architectural particulars and the most tricky aspects of parallel programming, such as communication, synchronisation, and load balancing. A proven approach to such high-level abstractions are data-parallel pattern-based interfaces (sometimes called algorithmic skeletons). This talk presents the algorithmic skeleton programming model and the concrete implementation of it in the SkePU framework.
Bio: August Ernstsson is a postdoctoral researcher of parallel programming environments at Linköping University, where he defended his PhD thesis ”Pattern-based Programming Abstractions for Heterogeneous Parallel Computing” in March 2022. Since February 2023 August is a visiting researcher at WWU Münster in Prof. Herbert Kuchen’s Practical Computer Science Group. August is the lead developer of the SkePU programming framework and has published ten papers on SkePU and related topics. His current interests are in strengthening the compiler infrastructure of parallel programming environments and more tightly integrate the compiler with the runtime system.