Hardware-Software Co-Design for an Analog-Digital Accelerator for Machine Learning

Joao Ambrosi, Aayush Ankit, Rodrigo Antunes, Sai Rahul Chalamalasetti, Soumitra Chatterjee, Izzat El Hajj, Guilherme Fachini, Paolo Faraboschi, Martin Foltin, Sitao Huang, Wen-Mei W Hwu, Gustavo Knuppe, Sunil Vishwanathpur Lakshminarasimha, Dejan Milojicic, Mohan Parthasarathy, Filipe Ribeiro, Lucas Rosa, Kaushik Roy, Plinio Silveira, John Paul Strachan

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

Abstract

The increasing deployment of machine learning at the core and at the edge for applications such as video and image recognition has resulted in a number of special purpose accelerators in this domain. However, these accelerators do not have full end-to-end software stacks for application development, resulting in hard-to-develop, proprietary, and suboptimal application programming and executables. In this paper, we describe software stack for a memristor-based hybrid (analog-digital)accelerator. The software stack consists of an ONNX converter, an application optimizer, a compiler, a driver, and emulators. The ONNX converter helps leveraging interoperable neural network models developed on frameworks that support ONNX, such as CNTK, Caffe2, Tensorflow, etc. The application optimization layer adapts these interoperable models to the underlying hardware. The compiler generates executable ISA code that the underlying accelerator can run. Finally, the emulator enables software execution without actual hardware which enables hardware design space exploration and testing. By building a software stack, we have made hybrid memristor-based ML accelerators more accessible to software developers, enabled a generation of better-performing executables, and created an environment that can be leveraged by a multitude of existing neural network models developed using other frameworks to target these accelerators.

Original languageEnglish (US)
Title of host publication2018 IEEE International Conference on Rebooting Computing, ICRC 2018
PublisherInstitute of Electrical and Electronics Engineers Inc.
ISBN (Electronic)9781538691700
DOIs
StatePublished - Feb 8 2019
Event2018 IEEE International Conference on Rebooting Computing, ICRC 2018 - Tysons, United States
Duration: Nov 7 2018Nov 9 2018

Publication series

Name2018 IEEE International Conference on Rebooting Computing, ICRC 2018

Conference

Conference2018 IEEE International Conference on Rebooting Computing, ICRC 2018
CountryUnited States
CityTysons
Period11/7/1811/9/18

Fingerprint

Particle accelerators
Learning systems
Hardware
Memristors
Neural networks
Image recognition
Testing

ASJC Scopus subject areas

  • Hardware and Architecture

Cite this

Ambrosi, J., Ankit, A., Antunes, R., Chalamalasetti, S. R., Chatterjee, S., El Hajj, I., ... Strachan, J. P. (2019). Hardware-Software Co-Design for an Analog-Digital Accelerator for Machine Learning. In 2018 IEEE International Conference on Rebooting Computing, ICRC 2018 [8638612] (2018 IEEE International Conference on Rebooting Computing, ICRC 2018). Institute of Electrical and Electronics Engineers Inc.. https://doi.org/10.1109/ICRC.2018.8638612

Hardware-Software Co-Design for an Analog-Digital Accelerator for Machine Learning. / Ambrosi, Joao; Ankit, Aayush; Antunes, Rodrigo; Chalamalasetti, Sai Rahul; Chatterjee, Soumitra; El Hajj, Izzat; Fachini, Guilherme; Faraboschi, Paolo; Foltin, Martin; Huang, Sitao; Hwu, Wen-Mei W; Knuppe, Gustavo; Lakshminarasimha, Sunil Vishwanathpur; Milojicic, Dejan; Parthasarathy, Mohan; Ribeiro, Filipe; Rosa, Lucas; Roy, Kaushik; Silveira, Plinio; Strachan, John Paul.

2018 IEEE International Conference on Rebooting Computing, ICRC 2018. Institute of Electrical and Electronics Engineers Inc., 2019. 8638612 (2018 IEEE International Conference on Rebooting Computing, ICRC 2018).

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

Ambrosi, J, Ankit, A, Antunes, R, Chalamalasetti, SR, Chatterjee, S, El Hajj, I, Fachini, G, Faraboschi, P, Foltin, M, Huang, S, Hwu, W-MW, Knuppe, G, Lakshminarasimha, SV, Milojicic, D, Parthasarathy, M, Ribeiro, F, Rosa, L, Roy, K, Silveira, P & Strachan, JP 2019, Hardware-Software Co-Design for an Analog-Digital Accelerator for Machine Learning. in 2018 IEEE International Conference on Rebooting Computing, ICRC 2018., 8638612, 2018 IEEE International Conference on Rebooting Computing, ICRC 2018, Institute of Electrical and Electronics Engineers Inc., 2018 IEEE International Conference on Rebooting Computing, ICRC 2018, Tysons, United States, 11/7/18. https://doi.org/10.1109/ICRC.2018.8638612
Ambrosi J, Ankit A, Antunes R, Chalamalasetti SR, Chatterjee S, El Hajj I et al. Hardware-Software Co-Design for an Analog-Digital Accelerator for Machine Learning. In 2018 IEEE International Conference on Rebooting Computing, ICRC 2018. Institute of Electrical and Electronics Engineers Inc. 2019. 8638612. (2018 IEEE International Conference on Rebooting Computing, ICRC 2018). https://doi.org/10.1109/ICRC.2018.8638612
Ambrosi, Joao ; Ankit, Aayush ; Antunes, Rodrigo ; Chalamalasetti, Sai Rahul ; Chatterjee, Soumitra ; El Hajj, Izzat ; Fachini, Guilherme ; Faraboschi, Paolo ; Foltin, Martin ; Huang, Sitao ; Hwu, Wen-Mei W ; Knuppe, Gustavo ; Lakshminarasimha, Sunil Vishwanathpur ; Milojicic, Dejan ; Parthasarathy, Mohan ; Ribeiro, Filipe ; Rosa, Lucas ; Roy, Kaushik ; Silveira, Plinio ; Strachan, John Paul. / Hardware-Software Co-Design for an Analog-Digital Accelerator for Machine Learning. 2018 IEEE International Conference on Rebooting Computing, ICRC 2018. Institute of Electrical and Electronics Engineers Inc., 2019. (2018 IEEE International Conference on Rebooting Computing, ICRC 2018).
@inproceedings{35f8b153f408455ab259b6142cd8331d,
title = "Hardware-Software Co-Design for an Analog-Digital Accelerator for Machine Learning",
abstract = "The increasing deployment of machine learning at the core and at the edge for applications such as video and image recognition has resulted in a number of special purpose accelerators in this domain. However, these accelerators do not have full end-to-end software stacks for application development, resulting in hard-to-develop, proprietary, and suboptimal application programming and executables. In this paper, we describe software stack for a memristor-based hybrid (analog-digital)accelerator. The software stack consists of an ONNX converter, an application optimizer, a compiler, a driver, and emulators. The ONNX converter helps leveraging interoperable neural network models developed on frameworks that support ONNX, such as CNTK, Caffe2, Tensorflow, etc. The application optimization layer adapts these interoperable models to the underlying hardware. The compiler generates executable ISA code that the underlying accelerator can run. Finally, the emulator enables software execution without actual hardware which enables hardware design space exploration and testing. By building a software stack, we have made hybrid memristor-based ML accelerators more accessible to software developers, enabled a generation of better-performing executables, and created an environment that can be leveraged by a multitude of existing neural network models developed using other frameworks to target these accelerators.",
author = "Joao Ambrosi and Aayush Ankit and Rodrigo Antunes and Chalamalasetti, {Sai Rahul} and Soumitra Chatterjee and {El Hajj}, Izzat and Guilherme Fachini and Paolo Faraboschi and Martin Foltin and Sitao Huang and Hwu, {Wen-Mei W} and Gustavo Knuppe and Lakshminarasimha, {Sunil Vishwanathpur} and Dejan Milojicic and Mohan Parthasarathy and Filipe Ribeiro and Lucas Rosa and Kaushik Roy and Plinio Silveira and Strachan, {John Paul}",
year = "2019",
month = "2",
day = "8",
doi = "10.1109/ICRC.2018.8638612",
language = "English (US)",
series = "2018 IEEE International Conference on Rebooting Computing, ICRC 2018",
publisher = "Institute of Electrical and Electronics Engineers Inc.",
booktitle = "2018 IEEE International Conference on Rebooting Computing, ICRC 2018",
address = "United States",

}

TY - GEN

T1 - Hardware-Software Co-Design for an Analog-Digital Accelerator for Machine Learning

AU - Ambrosi, Joao

AU - Ankit, Aayush

AU - Antunes, Rodrigo

AU - Chalamalasetti, Sai Rahul

AU - Chatterjee, Soumitra

AU - El Hajj, Izzat

AU - Fachini, Guilherme

AU - Faraboschi, Paolo

AU - Foltin, Martin

AU - Huang, Sitao

AU - Hwu, Wen-Mei W

AU - Knuppe, Gustavo

AU - Lakshminarasimha, Sunil Vishwanathpur

AU - Milojicic, Dejan

AU - Parthasarathy, Mohan

AU - Ribeiro, Filipe

AU - Rosa, Lucas

AU - Roy, Kaushik

AU - Silveira, Plinio

AU - Strachan, John Paul

PY - 2019/2/8

Y1 - 2019/2/8

N2 - The increasing deployment of machine learning at the core and at the edge for applications such as video and image recognition has resulted in a number of special purpose accelerators in this domain. However, these accelerators do not have full end-to-end software stacks for application development, resulting in hard-to-develop, proprietary, and suboptimal application programming and executables. In this paper, we describe software stack for a memristor-based hybrid (analog-digital)accelerator. The software stack consists of an ONNX converter, an application optimizer, a compiler, a driver, and emulators. The ONNX converter helps leveraging interoperable neural network models developed on frameworks that support ONNX, such as CNTK, Caffe2, Tensorflow, etc. The application optimization layer adapts these interoperable models to the underlying hardware. The compiler generates executable ISA code that the underlying accelerator can run. Finally, the emulator enables software execution without actual hardware which enables hardware design space exploration and testing. By building a software stack, we have made hybrid memristor-based ML accelerators more accessible to software developers, enabled a generation of better-performing executables, and created an environment that can be leveraged by a multitude of existing neural network models developed using other frameworks to target these accelerators.

AB - The increasing deployment of machine learning at the core and at the edge for applications such as video and image recognition has resulted in a number of special purpose accelerators in this domain. However, these accelerators do not have full end-to-end software stacks for application development, resulting in hard-to-develop, proprietary, and suboptimal application programming and executables. In this paper, we describe software stack for a memristor-based hybrid (analog-digital)accelerator. The software stack consists of an ONNX converter, an application optimizer, a compiler, a driver, and emulators. The ONNX converter helps leveraging interoperable neural network models developed on frameworks that support ONNX, such as CNTK, Caffe2, Tensorflow, etc. The application optimization layer adapts these interoperable models to the underlying hardware. The compiler generates executable ISA code that the underlying accelerator can run. Finally, the emulator enables software execution without actual hardware which enables hardware design space exploration and testing. By building a software stack, we have made hybrid memristor-based ML accelerators more accessible to software developers, enabled a generation of better-performing executables, and created an environment that can be leveraged by a multitude of existing neural network models developed using other frameworks to target these accelerators.

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

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

U2 - 10.1109/ICRC.2018.8638612

DO - 10.1109/ICRC.2018.8638612

M3 - Conference contribution

AN - SCOPUS:85063143566

T3 - 2018 IEEE International Conference on Rebooting Computing, ICRC 2018

BT - 2018 IEEE International Conference on Rebooting Computing, ICRC 2018

PB - Institute of Electrical and Electronics Engineers Inc.

ER -