CIGAR: Application Partitioning for a CPU/Coprocessor Architecture

  • Authors:
  • John H. Kelm;Isaac Gelado;Mark J. Murphy;Nacho Navarro;Steve Lumetta;Wen-mei Hwu

  • Affiliations:
  • University of Illinois at Urbana-Champaign, USA;Universitat Politecnica de Catalunya, Spain;University of Illinois at Urbana-Champaign, USA;Universitat Politecnica de Catalunya, Spain;University of Illinois at Urbana-Champaign, USA;University of Illinois at Urbana-Champaign, USA

  • Venue:
  • PACT '07 Proceedings of the 16th International Conference on Parallel Architecture and Compilation Techniques
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present CIGAR, a methodology and development platform that facilitates the use of data-parallel coprocessors. With CIGAR, application developers use profiling tools to identify parts of the application for data-parallel execution, determine the application data structures to be hosted by the coprocessor, prototype coprocessor execution of these parts, and debug correctness of partitioned execution of the application using emulation. The CIGAR methodology is complemented by a CPU/FPGA prototyping platform that runs a fully functional version of the Linux operating system and associated development tools and libraries. To guide the development of our work and to evaluate its utility, we have instrumented SPECint2006 applications to utilize coprocessors emulated by softcore processors embedded in our prototyping platform. Examples of how a developer would use CIGAR to partition an application for a heterogeneous CPU/coprocessor environment are demonstrated.