J. Ambrosi, Aayush Ankit, Rodrigo Antunes, S. R. Chalamalasetti, Soumitra Chatterjee, I. E. Hajj, Guilherme Fachini, P. Faraboschi, M. Foltin, Sitao Huang, Wen-mei W. Hwu, Gustavo Knuppe, Sunil Vishwanathpur Lakshminarasimha, D. Milojicic, Mohan Parthasarathy, Filipe Ribeiro, L. Rosa, K. Roy, P. Silveira, J. Strachan
{"title":"用于机器学习的模拟-数字加速器的软硬件协同设计","authors":"J. Ambrosi, Aayush Ankit, Rodrigo Antunes, S. R. Chalamalasetti, Soumitra Chatterjee, I. E. Hajj, Guilherme Fachini, P. Faraboschi, M. Foltin, Sitao Huang, Wen-mei W. Hwu, Gustavo Knuppe, Sunil Vishwanathpur Lakshminarasimha, D. Milojicic, Mohan Parthasarathy, Filipe Ribeiro, L. Rosa, K. Roy, P. Silveira, J. Strachan","doi":"10.1109/ICRC.2018.8638612","DOIUrl":null,"url":null,"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.","PeriodicalId":169413,"journal":{"name":"2018 IEEE International Conference on Rebooting Computing (ICRC)","volume":"24 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"26","resultStr":"{\"title\":\"Hardware-Software Co-Design for an Analog-Digital Accelerator for Machine Learning\",\"authors\":\"J. Ambrosi, Aayush Ankit, Rodrigo Antunes, S. R. Chalamalasetti, Soumitra Chatterjee, I. E. Hajj, Guilherme Fachini, P. Faraboschi, M. Foltin, Sitao Huang, Wen-mei W. Hwu, Gustavo Knuppe, Sunil Vishwanathpur Lakshminarasimha, D. Milojicic, Mohan Parthasarathy, Filipe Ribeiro, L. Rosa, K. Roy, P. Silveira, J. Strachan\",\"doi\":\"10.1109/ICRC.2018.8638612\",\"DOIUrl\":null,\"url\":null,\"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.\",\"PeriodicalId\":169413,\"journal\":{\"name\":\"2018 IEEE International Conference on Rebooting Computing (ICRC)\",\"volume\":\"24 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2018-11-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"26\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2018 IEEE International Conference on Rebooting Computing (ICRC)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ICRC.2018.8638612\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2018 IEEE International Conference on Rebooting Computing (ICRC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICRC.2018.8638612","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Hardware-Software Co-Design for an Analog-Digital Accelerator for Machine Learning
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.