Hierarchical Task-Data Parallelism using Kokkos and Qthreads
Author(s) -
Harold Edwards,
Greg Mackey,
Stephen L. Olivier,
Kyungjoo Kim,
Michael M. Wolf,
George Stelle,
Jonathan W. Berry,
Sivasankaran Rajamanickam
Publication year - 2016
Publication title -
osti oai (u.s. department of energy office of scientific and technical information)
Language(s) - English
Resource type - Reports
DOI - 10.2172/1562647
Subject(s) - computer science , task parallelism , parallel computing , software portability , data parallelism , cholesky decomposition , programmer , xeon phi , multi core processor , parallelism (grammar) , directed acyclic graph , task (project management) , computer architecture , concurrency , scalability , operating system , eigenvalues and eigenvectors , physics , management , algorithm , quantum mechanics , economics
This report describes a new capability for hierarchical task-data parallelism using Sandia’s Kokkos and Qthreads, and evaluation of this capability with sparse matrix Cholesky factorization and social network triangle enumeration mini-applications. Hierarchical task-data parallelism consists of a collection of tasks with executes-after dependences where each task contains data parallel operations performed on a team of hardware threads. The collection of tasks and dependences form a directed acyclic graph of tasks – a task DAG. Major challenges of this research and development effort include: portability and performance across multicore CPU; manycore Intel Xeon Phi, and NVIDIA GPU architectures; scalability with respect to hardware concurrency and size of the task DAG; and usability of the application programmer interface (API).
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom