StarPU: a unified platform for task scheduling on heterogeneous multicore architectures (extended version) - CCPE 2010

StarPU: a unified platform for task scheduling on heterogeneous multicore architectures (extended version) - CCPE 2010

Cédric Augonnet, Samuel Thibault, Raymond Namyst and Pierre-André Wacrenier

Abstract : In the field of HPC, the current hardware trend is to design multiprocessor architectures featuring heterogeneous technologies such as specialized coprocessors (e.g., Cell/BE) or data-parallel accelerators (e.g., GPUs). Approaching the theoretical performance of these architectures is a complex issue. Indeed, substantial efforts have already been devoted to efficiently offload parts of the computations. However, designing an execution model that unifies all computing units and associated embedded memory remains a main challenge. We therefore designed StarPU, an original runtime system providing a high-level, unified execution model tightly coupled with an expressive data management library. The main goal of StarPU is to provide numerical kernel designers with a convenient way to generate parallel tasks over heterogeneous hardware on the one hand, and easily develop and tune powerful scheduling algorithms on the other hand. We have developed several strategies that can be selected seamlessly at run-time, and we have analyzed their efficiency on several algorithms running simultaneously over multiple cores and a GPU. In addition to substantial improvements regarding execution times, we have obtained consistent superlinear parallelism by actually exploiting the heterogeneous nature of the machine. We eventually show that our dynamic approach competes with the highly-optimized MAGMA library and overcomes the limitations of the corresponding static scheduling in a portable way.

Keywords: GPU; Multicore; Accelerator; Scheduling; Runtime System


@Article{ AugThiNamWac11CCPE,
author = {C{'e}dric Augonnet and Samuel Thibault and Raymond Namyst and Pierre-Andr{'e} Wacrenier},
title = {{StarPU: A Unified Platform for Task Scheduling on Heterogeneous Multicore Architectures}},
journal = {Concurrency and Computation: Practice and Experience, Special Issue: Euro-Par 2009},
volume = 23,
issue = 2,
pages = {187--198},
year = 2011,
month = FEB,
publisher = {John Wiley & Sons, Ltd.},
doi = {10.1002/cpe.1631},
url = {},
keywords = {StarPU}