Využití funkcionálních jazyků pro hardwarovou akceleraci

Loading...
Thumbnail Image
Date
ORCID
Mark
C
Journal Title
Journal ISSN
Volume Title
Publisher
Vysoké učení technické v Brně. Fakulta informačních technologií
Abstract
Cílem této práce je prozkoumat možnosti využití funkcionálního paradigmatu pro hardwarovou akceleraci, konkrétně pro datově paralelní úlohy. Úroveň abstrakce tradičních jazyků pro popis hardwaru, jako VHDL a Verilog, přestáví stačit. Pro popis na algoritmické či behaviorální úrovni se rozmáhají jazyky původně navržené pro vývoj softwaru a modelování, jako C/C++, SystemC nebo MATLAB. Funkcionální jazyky se s těmi imperativními nemůžou měřit v rozšířenosti a oblíbenosti mezi programátory, přesto je předčí v mnoha vlastnostech, např. ve verifikovatelnosti, schopnosti zachytit inherentní paralelismus a v kompaktnosti kódu. Pro akceleraci datově paralelních výpočtů se často používají jednotky FPGA, grafické karty (GPU) a vícejádrové procesory. Praktická část této práce rozšiřuje existující knihovnu Accelerate pro počítání na grafických kartách o výstup do VHDL. Accelerate je možno chápat jako doménově specifický jazyk vestavěný do Haskellu s backendem pro prostředí NVIDIA CUDA. Rozšíření pro vysokoúrovňovou syntézu obvodů ve VHDL představené v této práci používá stejný jazyk a frontend.
The aim of this thesis is to research how the functional paradigm can be used for hardware acceleration with an emphasis on data-parallel tasks. The level of abstraction of the traditional hardware description languages, such as VHDL or Verilog, is becoming to low. High-level languages from the domains of software development and modeling, such as C/C++, SystemC or MATLAB, are experiencing a boom for hardware description on the algorithmic or behavioral level. Functional Languages are not so commonly used, but they outperform imperative languages in verification, the ability to capture inherent paralellism and the compactness of code. Data-parallel task are often accelerated on FPGAs, GPUs and multicore processors. In this thesis, we use a library for general-purpose GPU programs called Accelerate and extend it to produce VHDL. Accelerate is a domain-specific language embedded into Haskell with a backend for the NVIDIA CUDA platform. We use the language and its frontend, and create a new backend for high-level synthesis of circuits in VHDL.
Description
Citation
HODAŇOVÁ, A. Využití funkcionálních jazyků pro hardwarovou akceleraci [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2013.
Document type
Document version
Date of access to the full text
Language of document
cs
Study field
Počítačové a vestavěné systémy
Comittee
prof. Ing. Václav Dvořák, DrSc. (předseda) doc. Ing. Zdeněk Kotásek, CSc. (místopředseda) doc. Ing. Jan Kořenek, Ph.D. (člen) Ing. Zbyněk Křivka, Ph.D. (člen) doc. Ing. Ondřej Ryšavý, Ph.D. (člen) prof. Ing. Karel Vlček, CSc. (člen)
Date of acceptance
2013-06-19
Defence
Studentka nejprve prezentovala výsledky, kterých dosáhla v rámci své práce. Komise se pak seznámila s hodnocením vedoucího a posudkem oponenta práce. Studentka následně odpověděla na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studentky na položené otázky rozhodla práci hodnotit stupněm " C ". Otázky u obhajoby: Proč jste si vybrala takovéto téma? Provedla jste syntézu do FPGA pro Vámi generovaný obvod? Jaké jsou výsledky syntézy? Jak jsou na tom výsledky syntézy Vašeho obvodu v porovnání s nejlepšími známými obvody stejného typu? Jaké experimenty jste provedla s vygenerovanými obvody? Jaký další postup navrhujete ve Vaší práci? Na co je třeba se nejvíce zaměřit a při možném budoucím rozvoji?
Result of defence
práce byla úspěšně obhájena
Document licence
Standardní licenční smlouva - přístup k plnému textu bez omezení
DOI
Collections
Citace PRO