CIGAR: Application partitioning for a CPU/coprocessor architecture

John H. Kelm, Isaac Gelado, Mark J. Murphy, Nacho Navarro, Steve Lumetta, Wen Mei Hwu

Research output: Chapter in Book/Report/Conference proceedingConference contribution

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.

Original languageEnglish (US)
Title of host publication16th International Conference on Parallel Architecture and Compilation Techniques, PACT 2007
Pages317-326
Number of pages10
DOIs
StatePublished - 2007
Event16th International Conference on Parallel Architecture and Compilation Techniques, PACT 2007 - Brasov, Romania
Duration: Sep 15 2007Sep 19 2007

Publication series

NameParallel Architectures and Compilation Techniques - Conference Proceedings, PACT
ISSN (Print)1089-795X

Conference

Conference16th International Conference on Parallel Architecture and Compilation Techniques, PACT 2007
Country/TerritoryRomania
CityBrasov
Period9/15/079/19/07

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture

Fingerprint

Dive into the research topics of 'CIGAR: Application partitioning for a CPU/coprocessor architecture'. Together they form a unique fingerprint.

Cite this