Feedback-Based global instruction scheduling for GPGPU applications

  • Authors:
  • Constantin Timm;Markus Görlich;Frank Weichert;Peter Marwedel;Heinrich Müller

  • Affiliations:
  • Computer Science 12, TU Dortmund, Germany;Computer Science 12, TU Dortmund, Germany;Computer Science 7, TU Dortmund, Germany;Computer Science 12, TU Dortmund, Germany;Computer Science 7, TU Dortmund, Germany

  • Venue:
  • ICCSA'12 Proceedings of the 12th international conference on Computational Science and Its Applications - Volume Part I
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

In the face of the memory wall even in high bandwidth systems such as GPUs, an efficient handling of memory accesses and memory-related instructions is mandatory. Up to now, memory performance considerations were only made for GPGPU applications at source code level. This is not enough when optimizing an application towards high performance: The code has to be optimized at assembly level as well. Due to the spreading of GPGPU-capable hardware in smaller and smaller devices, the energy consumption of a program is --- besides the performance --- an important optimization goal. In this paper, a novel compiler optimization technique, called FALIS (F eedback-based and memory-A ware gL obal I nstruction S cheduling), is presented based on global instruction scheduling and multi-objective genetic algorithms. The approach uses a profiling-based feedback in order to take the measured performance and energy consumption values inside a compiler into account. Profiling on the real hardware platform is important in order to consider the characteristics of the underlying hardware. FALIS increases runtime performance of a GPGPU application by up to 13.02% and decreases energy consumption by up to 10.23%.