Programming models for hybrid FPGA-CPU computational components

A missing link

David Andrews, Douglas Niehaus, Razali Jidin, Michael Finley, Wesley Peck, Michael Frisbie, Jorge Ortiz, Ed Komp, Peter Ashenden

Research output: Contribution to journalArticle

73 Citations (Scopus)

Abstract

Emerging hybrid chips containing both CPU and field-programmable gate array (FPGA) components are an exciting new development that promises COTS economies of scale, while also supporting hardware customization. However, current hybrid computational models are still immature, generally treating FPGAs as computational accelerators that are invoked passively as subroutines, or for essentially independent portions of a data flow computation, requiring only input and output queues. Effectively programming across the FPGA-CPU boundary will require a high-level programming model that abstracts the FPGA and CPU components, bus structure, memory, and low-level peripheral protocols into a transparent computational platform. The multithreaded shared-memory model has potential for this application. With this model, system developers can specify applications as sets of threads distributed flexibly across the system's CPU and FPGA assets.

Original languageEnglish
Pages (from-to)42-53
Number of pages12
JournalIEEE Micro
Volume24
Issue number4
DOIs
Publication statusPublished - 01 Jul 2004

Fingerprint

Computer programming
Program processors
Field programmable gate arrays (FPGA)
Data storage equipment
Computer peripheral equipment
Subroutines
Particle accelerators
Hardware
Network protocols

All Science Journal Classification (ASJC) codes

  • Software
  • Hardware and Architecture
  • Electrical and Electronic Engineering

Cite this

Andrews, D., Niehaus, D., Jidin, R., Finley, M., Peck, W., Frisbie, M., ... Ashenden, P. (2004). Programming models for hybrid FPGA-CPU computational components: A missing link. IEEE Micro, 24(4), 42-53. https://doi.org/10.1109/MM.2004.36
Andrews, David ; Niehaus, Douglas ; Jidin, Razali ; Finley, Michael ; Peck, Wesley ; Frisbie, Michael ; Ortiz, Jorge ; Komp, Ed ; Ashenden, Peter. / Programming models for hybrid FPGA-CPU computational components : A missing link. In: IEEE Micro. 2004 ; Vol. 24, No. 4. pp. 42-53.
@article{cffe0053b0fe4fe6842714aad681699d,
title = "Programming models for hybrid FPGA-CPU computational components: A missing link",
abstract = "Emerging hybrid chips containing both CPU and field-programmable gate array (FPGA) components are an exciting new development that promises COTS economies of scale, while also supporting hardware customization. However, current hybrid computational models are still immature, generally treating FPGAs as computational accelerators that are invoked passively as subroutines, or for essentially independent portions of a data flow computation, requiring only input and output queues. Effectively programming across the FPGA-CPU boundary will require a high-level programming model that abstracts the FPGA and CPU components, bus structure, memory, and low-level peripheral protocols into a transparent computational platform. The multithreaded shared-memory model has potential for this application. With this model, system developers can specify applications as sets of threads distributed flexibly across the system's CPU and FPGA assets.",
author = "David Andrews and Douglas Niehaus and Razali Jidin and Michael Finley and Wesley Peck and Michael Frisbie and Jorge Ortiz and Ed Komp and Peter Ashenden",
year = "2004",
month = "7",
day = "1",
doi = "10.1109/MM.2004.36",
language = "English",
volume = "24",
pages = "42--53",
journal = "IEEE Micro",
issn = "0272-1732",
publisher = "IEEE Computer Society",
number = "4",

}

Andrews, D, Niehaus, D, Jidin, R, Finley, M, Peck, W, Frisbie, M, Ortiz, J, Komp, E & Ashenden, P 2004, 'Programming models for hybrid FPGA-CPU computational components: A missing link', IEEE Micro, vol. 24, no. 4, pp. 42-53. https://doi.org/10.1109/MM.2004.36

Programming models for hybrid FPGA-CPU computational components : A missing link. / Andrews, David; Niehaus, Douglas; Jidin, Razali; Finley, Michael; Peck, Wesley; Frisbie, Michael; Ortiz, Jorge; Komp, Ed; Ashenden, Peter.

In: IEEE Micro, Vol. 24, No. 4, 01.07.2004, p. 42-53.

Research output: Contribution to journalArticle

TY - JOUR

T1 - Programming models for hybrid FPGA-CPU computational components

T2 - A missing link

AU - Andrews, David

AU - Niehaus, Douglas

AU - Jidin, Razali

AU - Finley, Michael

AU - Peck, Wesley

AU - Frisbie, Michael

AU - Ortiz, Jorge

AU - Komp, Ed

AU - Ashenden, Peter

PY - 2004/7/1

Y1 - 2004/7/1

N2 - Emerging hybrid chips containing both CPU and field-programmable gate array (FPGA) components are an exciting new development that promises COTS economies of scale, while also supporting hardware customization. However, current hybrid computational models are still immature, generally treating FPGAs as computational accelerators that are invoked passively as subroutines, or for essentially independent portions of a data flow computation, requiring only input and output queues. Effectively programming across the FPGA-CPU boundary will require a high-level programming model that abstracts the FPGA and CPU components, bus structure, memory, and low-level peripheral protocols into a transparent computational platform. The multithreaded shared-memory model has potential for this application. With this model, system developers can specify applications as sets of threads distributed flexibly across the system's CPU and FPGA assets.

AB - Emerging hybrid chips containing both CPU and field-programmable gate array (FPGA) components are an exciting new development that promises COTS economies of scale, while also supporting hardware customization. However, current hybrid computational models are still immature, generally treating FPGAs as computational accelerators that are invoked passively as subroutines, or for essentially independent portions of a data flow computation, requiring only input and output queues. Effectively programming across the FPGA-CPU boundary will require a high-level programming model that abstracts the FPGA and CPU components, bus structure, memory, and low-level peripheral protocols into a transparent computational platform. The multithreaded shared-memory model has potential for this application. With this model, system developers can specify applications as sets of threads distributed flexibly across the system's CPU and FPGA assets.

UR - http://www.scopus.com/inward/record.url?scp=4644281774&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=4644281774&partnerID=8YFLogxK

U2 - 10.1109/MM.2004.36

DO - 10.1109/MM.2004.36

M3 - Article

VL - 24

SP - 42

EP - 53

JO - IEEE Micro

JF - IEEE Micro

SN - 0272-1732

IS - 4

ER -