Font Size: a A A

Parallel Computing Of Convolutional Neural Networks In Dynamic Reconfigurable Systems

Posted on:2020-06-13Degree:MasterType:Thesis
Country:ChinaCandidate:L Y CaoFull Text:PDF
GTID:2428330623963696Subject:Electronics and Communications Engineering
Abstract/Summary:PDF Full Text Request
With the development of science and technology,convolutional neural networks and their applications have gradually become a hot research direction.Currently,the hardware used to implement the convolutional neural network mainly includes CPU,GPU,FPGA,and Network Process Unit(NPU).However,since the convolutional neural network is a computationally intensive application,the CPU processing speed is slow,and the GPU is bulky and powerful.It is expensive and difficult to use in embedded scenes.Reconfigurable systems such as FPGAs have the ability to process data at high speed and have the flexibility of programming.They are very suitable for accelerating the calculation of neural networks.Accelerating convolutional neural network calculations with limited reconfigurable hardware resources is the hot research direction.Although the hardware resources of the reconfigurable system are limited,the dynamic reconfigurable technology realizes the reconfiguration of hardware resources during the running of the system,and solves the problem of low computational efficiency caused by limited resources.The dynamic reconfigurable method needs to rely on reasonable allocation of hardware resources and task scheduling algorithms to achieve high computational efficiency.Therefore,this paper studies the parallel computing of convolutional neural networks in reconfigurable systems.The main contributions are as follows:(1)A parallel computing framework with multiple convolutional neural networks under the CPU and reconfigurable resource architecture is designed.Through the task partition of the convolutional neural network,and quantitative analysis of each task to obtain the DAG diagram,combined with the task scheduling algorithm to assign the tasks in the DAG diagram to the partitioned local hardware resources,using dynamic reconfigurable methods to achieve Parallel computing of multi-convolution neural network tasks increases overall computational efficiency.(2)Combined with the above parallel computing framework design,this paper designs a DAG task scheduling algorithm for small-scale scenarios.The algorithm describes the scheduling problem by establishing an optimization goal for the shortest integer programming model of all tasks,and solves the problem by using the branch and bound method to obtain the optimal scheduling scheme.(3)This paper designs a phased scheduling algorithm combining task stratification and intra-layer scheduling,which is suitable for application scenarios with large task size.The algorithm stratifies tasks according to the topological order of the DAG graphs,ensuring that there are no dependencies between tasks within each layer.The integer programming model is established by scheduling the tasks in each layer,and finally the scheduling results of all layers are combined to obtain the final scheduling scheme.In summary,the convolutional neural network parallel computing framework designed in this paper implements task scheduling and calculation for different task scale scenarios based on CPU combined with reconfigurable resource architecture,and achieves the goal of improving overall computational efficiency by making full use of hardware resources.
Keywords/Search Tags:convolutionnal neural network, dynamic reconfigurable system, task scheduling
PDF Full Text Request
Related items