A Taxonomy of Task-Based Parallel Programming Technologies for High-Performance Computing

Peter Thoman; Kiril Dichev; Khalid Hasanov; Roman Iakymchuk; Xavier Aguilar; Thomas Heller; Philipp Gschwandtner; Pierre Lemarinier; Stefano Markidis; Herbert Jordan; Thomas Fahringer; Kostas Katrinis; Erwin Laure; Dimitrios~S. Nikolopoulos

In this paper, we provide an initial task-focused taxonomy for HPC technologies, which covers both programming interfaces and runtime mechanisms. We demonstrate the usefulness of our taxonomy by classifying state-of-the-art task-based environments in use today.


Task-based programming models for shared memory -- such as Cilk Plus and OpenMP 3 -- are well established and documented. However, with the increase in parallel, many-core and heterogeneous systems, a number of research-driven projects have developed more diversified task-based support, employing various programming and runtime features. Unfortunately, despite the fact that dozens of different task-based systems exist today and are actively used for parallel and high-performance computing (HPC), no comprehensive overview or classification of task-based technologies for HPC exists. 


This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 671603

Contact Details

General Coordinator

Thomas Fahringer

Scientific Coordinator

Herbert Jordan