https://www.mdu.se/

mdu.sePublications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
DeepHLS: A complete toolchain for automatic synthesis of deep neural networks to FPGA
Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems. Tallinn University of Technology, Tallinn, Estonia.
Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.ORCID iD: 0000-0001-7586-0409
Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.ORCID iD: 0000-0001-5297-6548
2020 (English)In: ICECS 2020 - 27th IEEE International Conference on Electronics, Circuits and Systems, Proceedings, Institute of Electrical and Electronics Engineers Inc. , 2020, article id 9294881Conference paper, Published paper (Refereed)
Abstract [en]

Deep neural networks (DNN) have achieved quality results in various applications of computer vision, especially in image classification problems. DNNs are computational intensive, and nowadays, their acceleration on the FPGA has received much attention. Many methods to accelerate DNNs have been proposed. Despite their performance features like acceptable accuracy or low latency, their use is not widely accepted by software designers who usually do not have enough knowledge of the hardware details of the proposed accelerators. HLS tools are the major promising tools that can act as a bridge between software designers and hardware implementation. However, not only most HLS tools just support C and C++ descriptions as input, but also their result is very sensitive to the coding style. It makes it difficult for the software developers to adopt them, as DNNs are mostly described in high-level languages such as Tensorflow or Keras. In this paper, an integrated toolchain is presented that, in addition to converting the Keras DNN descriptions to a simple, flat, and synthesizable C output, provides other features such as accuracy verification, C level knobs to easily change the data types from floating-point to fixed-point with arbitrary bit width, and latency and area utilization adjustment using HLS knobs. 

Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers Inc. , 2020. article id 9294881
Keywords [en]
Accelerator, CNN, Convolutional neural networks, Deep Neural Networks, High-level synthesis
National Category
Computer Systems
Identifiers
URN: urn:nbn:se:mdh:diva-53227DOI: 10.1109/ICECS49266.2020.9294881ISI: 000612696300097Scopus ID: 2-s2.0-85099485200ISBN: 9781728160443 (print)OAI: oai:DiVA.org:mdh-53227DiVA, id: diva2:1523591
Conference
27th IEEE International Conference on Electronics, Circuits and Systems, ICECS 2020; Glasgow; United Kingdom; 23 November 2020 through 25 November 2020
Available from: 2021-01-28 Created: 2021-01-28 Last updated: 2023-10-09Bibliographically approved
In thesis
1. Reliability and Performance in Heterogeneous Systems Generated by High-Level Synthesis
Open this publication in new window or tab >>Reliability and Performance in Heterogeneous Systems Generated by High-Level Synthesis
2021 (English)Licentiate thesis, comprehensive summary (Other academic)
Abstract [en]

High-level synthesis (HLS) is now widely used to implement heterogeneous systems. It was invented to enable designers to use high-level languages such as C or C++. It makes it possible for the software developers to move their implementations to an FPGA or ASIC without having to know the hardware details. HLS tools only convert a high-level software program to a hardware implementation, and reliability and performance measures must be taken by the designer prior to feeding the program to the tool. In this thesis, we propose methods to improve the reliability and performance aspects of heterogeneous systems generated with the help of an HLS. We first propose methods to improve the reliability of the generated circuit either through utilizing pre-existing assertion statements for high-speed design testing and post-synthesis monitoring or by defining a generic redundancy method for self-healing hardware modules. Then, we propose an automatic toolchain to guide the HLS tool to generate a high-performance circuit. 

Place, publisher, year, edition, pages
Västerås: Mälardalen University, 2021
Series
Mälardalen University Press Licentiate Theses, ISSN 1651-9256 ; 315
National Category
Embedded Systems
Research subject
Computer Science
Identifiers
urn:nbn:se:mdh:diva-56329 (URN)978-91-7485-534-0 (ISBN)
Presentation
2021-12-13, Mälardalens högskola, U2-129 and virtually via Zoom/Teams, Västerås, 13:00 (English)
Opponent
Supervisors
Available from: 2021-12-03 Created: 2021-11-03 Last updated: 2021-12-06Bibliographically approved
2. DeepKit: a multistage exploration framework for hardware implementation of deep learning
Open this publication in new window or tab >>DeepKit: a multistage exploration framework for hardware implementation of deep learning
2023 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

Deep Neural Networks (DNNs) are widely adopted to solve different problems ranging from speech recognition to image classification. DNNs demand a large amount of processing power, and their implementation on hardware, i.e., FPGA or ASIC, has received much attention. However, it is impossible to implement a DNN on hardware directly from its DNN descriptions, usually in Python language, libraries, and APIs. Therefore, it should be either implemented from scratch at Register Transfer Level (RTL), e.g., in VHDL or Verilog, or be transformed to a lower level implementation. One idea that has been recently considered is converting a DNN to C and then using High-Level Synthesis (HLS) to synthesize it on an FPGA. Nevertheless, there are various aspects to take into consideration during the transformation. In this thesis, we propose a multistage framework, DeepKit, that generates a synthesizable C implementation based on an input DNN architecture in a DNN description (Keras). Then, moving through the stages, various explorations and optimizations are performed with regard to accuracy, latency, resource utilization, and reliability. The framework is also implemented as a toolchain consisting of DeepHLS, AutoDeepHLS, DeepAxe, and DeepFlexiHLS, and results are provided for DNNs of various types and sizes.

Place, publisher, year, edition, pages
Västerås: Mälardalen university, 2023
Series
Mälardalen University Press Dissertations, ISSN 1651-4238 ; 390
National Category
Embedded Systems
Research subject
Computer Science
Identifiers
urn:nbn:se:mdh:diva-64488 (URN)978-91-7485-613-2 (ISBN)
Public defence
2023-12-07, Delta, Mälardalens universitet, Västerås, 13:00 (English)
Opponent
Supervisors
Available from: 2023-10-09 Created: 2023-10-09 Last updated: 2023-11-16Bibliographically approved

Open Access in DiVA

No full text in DiVA

Other links

Publisher's full textScopus

Authority records

Riazati, MohammadDaneshtalab, MasoudSjödin, MikaelLisper, Björn

Search in DiVA

By author/editor
Riazati, MohammadDaneshtalab, MasoudSjödin, MikaelLisper, Björn
By organisation
Embedded Systems
Computer Systems

Search outside of DiVA

GoogleGoogle Scholar

doi
isbn
urn-nbn

Altmetric score

doi
isbn
urn-nbn
Total: 86 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf