Font Size: a A A

Design And Implementation Of CNN Automatic Code Generation Based On FPGA

Posted on:2019-09-17Degree:MasterType:Thesis
Country:ChinaCandidate:J F WangFull Text:PDF
GTID:2438330545495627Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Convolutional neural network(CNN)is a very important deep learning algorithm.Due to its high efficiency of recognition,it has received extensive attention and has become one of the research hotspots in many scientific fields.Besides,it is widely used in many fields,such as object detection,image recognition and other fields.At present,the application-oriented deep learning algorithm has developed rapidly,which greatly expands its application research field.In general,deep learning technology includes two processes:data training and data inference,but the two processes have different requirements for hardware resources.The GPU is suitable for the data training phase,and the data inference phase needs to be on the mobile device,especially the FPGA.In view of the high performance,flexibility,and rapid development cycle of FPGAs,various deep convolutional neural network accelerators based on FPGA platforms have been proposed.Although FPGA accelerators have shown better performance than general-purpose processors,the difficulty of designing accelerators on mobile devices has not been reduced,especially on ARM+FPGA development boards.In the process of designing and constructing the existing CNN accelerator,designers need to describe each module of CNN.The traditional way is to write code or use high-level synthesis technology.Obviously,the process of writing code is not only difficult,but it may also lead to a long development cycle because human factors create unnecessary errors when writing code.If this key issue is not solved,it will make the design of the accelerator more difficult.In order to overcome the above difficulties,this paper implements the following:CNN design based on automatic code generation technology,which program with OpenCL language.Since the CNN module codes that make up different architectures are basically the same,automatic code generation techniques can be applied to hardware convolutional neural network accelerators.This method uses an automatic code generator to automatically generate OpenCL code that is consistent with each module of the convolutional neural network,and then the generated OpenCL code will be simulated with FPGA.In this article,we mainly design automatic code generators based on code templates,system network structure files and generate rules files to form an automatic code generation system.As a case study,we built a CNN based on automatic code generation on the experimental platform DE10_Standard FPGA development board and compared it with the previous method.At a clock frequency of about 100 MHz,we achieved and achieved the highest performance density of 0.224 GOPS/DSP on the FPGA board,which is better than most previous solutions.
Keywords/Search Tags:CNN, Automatic Code Generation Technology, FPGA, OpenCL
PDF Full Text Request
Related items