Denna studie behandlar arkitektur och genomförande av en FPGA accelerator för dubbel precision flyttal-punktsmatris multiplikation. Arkitekturen är inriktad på att minimera resursutnyttjandet och maximera klockfrekvensen. Den använder blockmatris multiplikationsalgoritm som returnerar resultatet block till värdprocessorn så snart de beräknas. Detta undviker utmatning buffring, och förenklar placering och routing på chipet. Författarna visar att sådan arkitektur är särskilt väl lämpad för fullständiga kommunikationslänkar mellan acceleratorn och värdprocessorn. Arkitekturen kräver att resultatblocken ackumuleras av värdprocessorn, men författarna visar att normalt mer än 99% av alla aritmetiska operationer utförs av acceleratorn. Genomförandet är inriktat på en effektiv användning av inbäddade FPGA-resurser för att möjliggöra ett stort antal bearbetningselement. Varje PE använder 8 Virtex-6 DSP block. Både tillsatser och multiplikatorer är djupt rörledning och använder flera FPGA-specifika tekniker för att uppnå liten yta storlek och hög klockfrekvens. Slutligen kvantifierar författarna prestandan hos acceleratorn som implementeras i Xilinx Virtex-6 FPGA, med 252 PE som körs på 403 MHz (uppnå 203.1 GFLOPS), genom att jämföra den med DGEMM-funktionen från MKL, ACML, GotoBLAS och ATLAS-bibliotek som kör på Intel Core2Quad och AMD Phenom X4 mikroprocessorer som körs på 2,8 GHz. Acceleratorn utför 4,5 gånger snabbare än det snabbaste processor/library-paret.
Arbete av Jovanovic och Milutinovic REF behandlar genomförandet av en dubbel precisionsmatris multiplikation genom att använda blockering.
FPGA Accelerator for Floating-Point Matrix Multiplication
{'venue': 'IET COMPUTERS & DIGITAL TECHNIQUES', 'journal': None, 'mag_field_of_study': ['Computer Science']}