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

Loading...
Thumbnail Image

Date

Authors

Hodaňová, Andrea

Mark

C

Journal Title

Journal ISSN

Volume Title

Publisher

Vysoké učení technické v Brně. Fakulta informačních technologií

ORCID

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

DOI

Collections

Endorsement

Review

Supplemented By

Referenced By

Citace PRO