Accelerating LBM on a Tightly-Coupled Field Programmable Gate Array
Master thesis
Permanent lenke
https://hdl.handle.net/11250/2786120Utgivelsesdato
2021Metadata
Vis full innførselSamlinger
Sammendrag
Det er ikke lenger mulig å anvende Dennard's prinsipper til å skalere integrerte kretser, og det forventes at Moore's lov snart vil opphøre. Dette har ført til en voldsom interesse for nye metoder for å oppnå ytelsesforbedring i datamaskiner. Dagens hovedtilnærming er å benytte akseleratorer --- spesialiserte kretser som er spesielt effektive for en spesifikk applikasjon eller et applikasjonsdomene. Selv om akseleratorer er effektive, er de også tidkrevende og kostbare å utvikle. I denne oppgaven har vi implementert en akselerator for den antatt akselleratorvennlige SPEC CPU 2017 applikasjonen LBM. Akseleratoren er realisert i en Field Programmable Gate Array (FPGA), og for å forenkle utviklingsprosessen har vi implementert akseleratoren ved hjelp av High-Level Synthesis (HLS). Akseleratoren forbedrer ytelsen med mellom 1.3$\times$ og 1.5$\times$ for et realistisk datasett sammenliknet med kjøre applikasjonen på en vanlig prosessor. Videre har vi vurdert HLS som implementasjonsmetode mer generelt og kommet til at selv om den forenkler utviklingsprosessen betraktelig må utvikleren fortsatt ha en god forståelse av applikasjon, målarkitektur og utviklingsverktøy for å oppnå et godt resultat. With the end of Dennard Scaling and the imminent end of Moore's Law, the search for new ways to improve performance in computing systems is increasing. Nowadays, the main approach is to use hardware accelerations to offload the application. However, while this is a power-efficient approach, their development process is costly and time-consuming. In this Thesis, we have implemented a hardware accelerator for LBM, what we initially expected to be one of the most accelerator-friendly benchmarks of SPEC CPU 2017. We have implemented it in a Field Programmable Gate Array (FPGA) using High-Level Synthesis (HLS), which simplifies the developing process. With our acceleration strategy we have achieved speedups between 1.3$\times$ and 1.5$\times$ relative the software implementation for realistic data sets. Moreover, we have analyzed HLS and found out that, while it actually simplifies the developing process, this is still not trivial. Developers still need to know and understand the target architecture and guide tool if we want to achieve near-optimal results.