Original title:
Implementace algoritmu dekompozice matice a pseudoinverze na FPGA
Translated title:
Implementation of matrix decomposition and pseudoinversion on FPGA
Authors:
Röszler, Pavel ; Rajmic, Pavel (referee) ; Smékal, David (advisor) Document type: Master’s theses
Year:
2018
Language:
cze Publisher:
Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií Abstract:
[cze][eng]
Cílem této práce je implementace výpočtů vlastních čísel a vektorů a výpočet pseudoinverze matice na hradlovém poly. Při těchto výpočtech se velmi často používají maticové rozklady, které jsou popsány jako první. Následuje shrnutí teorie a uvedení jednotlivých metod, z nichž některé byli implementovány v Matlab. Pro implementaci do FPGA (Field Programmable Gate Array ) je využito nástrojů a knihoven Vivado High-Level Synthesis, v práci je stručný popis problematiky FPGA obvodů a jejich programování a detailní popis principů a možností nástrojů HLS s důrazem na funkce z knihovny pro lineární algebru, které jsou následně využity v jednotlivých variantách výpočetních bloků. Výsledky jednotlivých variant jsou dále srovnány z hlediska časování a využití prostředků FPGA. Vybraný blok byl ověřen na vývojovém kitu a analyzována jeho numerická přesnost na základě dat z měření.
The purpose of this thesis is to implement algorithms of matrix eigendecomposition and pseudoinverse computation on a Field Programmable Gate Array (FPGA) platform. Firstly, there are described matrix decomposition methods that are broadly used in mentioned algorithms. Next section is focused on the basic theory and methods of computation eigenvalues and eigenvectors as well as matrix pseudoinverse. Several examples of implementation using Matlab are attached. The Vivado High-Level Synthesis tools and libraries were used for final implementation. After the brief introduction into the FPGA fundamentals the thesis continues with a description of implemented blocks. The results of each variant were compared in terms of timing and FPGA utilization. The selected block has been validated on the development board and its arithmetic precision was analyzed.
Keywords:
decomposition; eigendecomposition; Eigenvalues; eigenvectors; FPGA.; High-Level Synthesis; orthogonalization; pseudoinverse; QR; singular values; singular vectors; SVD; dekompozice; FPGA.; High-Level Synthesis; ortogonalizace; pseudoinverze; QR; singulární vektory; singulární čísla; SVD; vlastní vektory; Vlastní čísla
Institution: Brno University of Technology
(web)
Document availability information: Fulltext is available in the Brno University of Technology Digital Library. Original record: http://hdl.handle.net/11012/80741