Article

Computing

, Volume 96, Issue 12, pp 1195-1211

The PEPPHER composition tool: performance-aware composition for GPU-based systems

  • Usman DastgeerAffiliated withPELAB, Department of Computer and Information Science, Linköping University Email author 
  • , Lu LiAffiliated withPELAB, Department of Computer and Information Science, Linköping University
  • , Christoph KesslerAffiliated withPELAB, Department of Computer and Information Science, Linköping University

Rent the article at a discount

Rent now

* Final gross prices may vary according to local VAT.

Get Access

Abstract

The PEPPHER (EU FP7 project) component model defines the notion of component, interface and meta-data for homogeneous and heterogeneous parallel systems. In this paper, we describe and evaluate the PEPPHER composition tool, which explores the application’s components and their implementation variants, generates the necessary low-level code that interacts with the runtime system, and coordinates the native compilation and linking of the various code units to compose the overall application code to optimize performance. We discuss the concept of smart containers and its benefits for reducing dispatch overhead, exploiting implicit parallelism across component invocations and runtime optimization of data transfers. In an experimental evaluation with several applications, we demonstrate that the composition tool provides a high-level programming front-end while effectively utilizing the task-based PEPPHER runtime system (StarPU) underneath for different usage scenarios on GPU-based systems.

Keywords

PEPPHER project Component model GPU-based systems Performance portability Dynamic scheduling

Mathematics Subject Classification

68N20 Compilers and interpreters