A Systolic Array-based General Convolutional Neural Network Accelerator
2024 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE credits
Student thesisAlternative title
En systolisk array-baserad accelerator för generella faltningsneurala nätverk (Swedish)
Abstract [en]
With the widespread application of Artificial Intelligence (AI), particularly the rapid development of Deep Neural Networks (DNNs), researchers are increasingly recognizing the critical role that an excellent hardware platform plays in facilitating the broad application and innovative research of DNNs. In embedded or mobile platforms, Field-Programmable Gate Arrays (FPGAs) have gradually attracted researchers’ attention due to their flexibility, excellent energy efficiency, and cost-effectiveness. However, how to realize a unified architecture on FPGAs that efficiently supports acceleration on Convolutional Neural Network (CNN) inference remains a problem. In this thesis, we propose a Systolic Array (SA)-based general CNN hardware accelerator. The accelerator is fully implemented in Verilog HDL. We use a large number of on-chip buffers to tailor the special data storage module to meet the parallel reading and writing requirements of the SA, reducing the number of accesses to external memory. During the execution of one layer, the accelerator can continuously perform data loading, computation, and storage processes in a pipelined manner, resulting in almost no idle cycles. It can process convolutional layers, pooling layers, and fully connected layers in CNNs respectively, and perform nonlinear activation operations on the results. It can also adapt to different CNN models according to the configuration information. The accelerator is implemented on the Xilinx XC7Z020, operating at a frequency of 90 MHz. We deploy the LeNet model on this accelerator to recognize handwritten images of the MINST dataset to validate its function and compare its performance with the advanced Graphic Processing Unit (GPU) platform. The results indicate that the time to process one image is slightly faster than the Tesla T4 GPU and demonstrate better energy efficiency. Furthermore, when compared with the embedded processor Cortex-A9, which uses the same CNN model and data quantization method, our design achieves a processing speed that is 192 times faster while consuming only one-third of its power. In conclusion, our accelerator has the ability to process different CNNs according to the configuration at deployment time and exhibits remarkable energy efficiency.
Abstract [sv]
Med den utbredda tillämpningen av artificiell intelligens (AI), och i synnerhet den snabba utvecklingen av djupa neurala nätverk (DNN), inser forskarna alltmer den avgörande roll som en utmärkt hårdvaruplattform spelar för att underlätta den breda tillämpningen och innovativa forskningen av DNN. I inbyggda eller mobila plattformar har Field-Programmable Gate Arrays (FPGA) gradvis dragit till sig forskarnas uppmärksamhet på grund av sin flexibilitet, utmärkta energieffektivitet och kostnadseffektivitet. Hur man realiserar en enhetlig arkitektur på FPGA: er som effektivt stöder acceleration av Convolutional Neural Network (CNN)-inferens förblir dock ett problem. I den här avhandlingen föreslår vi en Systolic Array (SA)-baserad generell accelerator för CNN. Acceleratorn är helt implementerad i Verilog HDL. Vi använder ett stort antal buffertar på chippet för att skräddarsy den speciella datalagringsmodulen så att den uppfyller SA:s krav på parallell läsning och skrivning, vilket minskar antalet åtkomster till externt minne. Under exekveringen av ett lager kan acceleratorn kontinuerligt utföra dataladdnings-, beräknings- och lagrings- processer i pipeline, vilket resulterar i nästan inga tomgångscykler. Den kan bearbeta konvolutionslager, poolningslager respektive helt anslutna lager i CNN och utföra icke-linjära aktiveringsoperationer på resultaten. Den kan också anpassa sig till olika CNN-modeller enligt konfigurationsinformationen. Acceleratorn är implementerad på Xilinx XC7Z020 och arbetar med en frekvens på 90 MHz. Vi använder LeNet-modellen på denna accelerator för att känna igen handskrivna bilder från MINST-datasetet för att validera dess funktion och jämföra dess prestanda med den avancerade GPU-plattformen (Graphic Processing Unit). Resultaten visar att tiden det tar att bearbeta en bild är något kortare än för Tesla T4 GPU och att energieffektiviteten är bättre. Jämfört med den inbäddade processorn Cortex-A9, som använder samma CNN-modell och datakvantiseringsmetod, uppnår vår design dessutom en bearbetningshastighet som är 192 gånger snabbare samtidigt som den bara förbrukar en tredjedel av sin effekt. Sammanfattningsvis har vår accelerator förmågan att bearbeta olika CNN:er enligt konfigurationen vid driftsättningen och uppvisar en anmärkningsvärd energieffektivitet.
Place, publisher, year, edition, pages
2024. , p. 71
Series
TRITA-EECS-EX ; 2024:900
Keywords [en]
Convolutional neural network, Hardware accelerator, Systolic array
Keywords [sv]
Konvolutionellt neuronnätverk, Hårdvaruaccelerator, Systolisk matris
National Category
Electrical Engineering, Electronic Engineering, Information Engineering
Identifiers
URN: urn:nbn:se:kth:diva-360867OAI: oai:DiVA.org:kth-360867DiVA, id: diva2:1942273
Supervisors
Examiners
2025-03-112025-03-042025-03-11Bibliographically approved