Konvolutionella neurala nätverk (CNN) revolutionerar maskininlärning, men de utgör betydande datorella utmaningar. På senare tid har många FPGA-baserade acceleratorer föreslagits för att förbättra CNN:s prestanda och effektivitet. Nuvarande metoder konstruera en enda processor som beräknar CNN-lagren ett i taget; processorn är optimerad för att maximera genomströmningen vid vilken samlingen av lager beräknas. Detta tillvägagångssätt leder dock till ineffektiva konstruktioner eftersom samma processorstruktur används för att beräkna CNN-skikt med radikalt varierande dimensioner. Vi presenterar ett nytt CNN-acceleratorparadigm och en åtföljande automatiserad designmetod som delar upp de tillgängliga FPGA-resurserna i flera processorer, som var och en är skräddarsydd för en annan delmängd av CNN-konvolutionsskikten. Genom att använda samma FPGA resurser som en enda stor processor, flera mindre specialiserade processorer öka beräkningseffektiviteten och leda till en högre total genomströmning. Vår designmetodik uppnår 3,8x högre genomströmning än den toppmoderna metoden för att utvärdera den populära AlexNet CNN på en Xilinx Virtex-7 FPGA. För de nyare SqueezeNet och GoogLeNet, är upphastigheterna 2,2x och 2,0x.
Shen, m.fl. REF delade FPGA-resurser för att bearbeta olika undergrupper av konvolutionslager av CNN.
Maximizing CNN Accelerator Efficiency Through Resource Partitioning
{'venue': "ISCA '17", 'journal': None, 'mag_field_of_study': ['Computer Science']}