Vector Processing Unit on FPGA

Vectorová akcelerační jednotka pro FPGA

Supervisors

Reviewers

Editors

Other contributors

Journal Title

Journal ISSN

Volume Title

Publisher

České vysoké učení technické v Praze
Czech Technical University in Prague

Date of defense

2026-02-11

Research Projects

Organizational Units

Journal Issue

Abstract

Násobení matic je široce používaná operace v mnoha oblastech, zejména v oblasti umělé inteligence. Násobení matic lze reprezentovat jako skalární součin vektorů, proto je rychlý a paralelní výpočet skalárního součinu velkých vektorů s miliony a více položkami velmi důležitý. Tato práce představuje jednoduchý, flexibilní a škálovatelný návrh VPU (Vector Processing Unit), který je napsán v SystemVerilog a testován na Zynq SoC, což je FPGA s PS (Processing System), který slouží jako hostitelský CPU, a PL (Programmable Logic), který obsahuje návrh VPU. Zatímco skalární součin je hlavní operací, tento návrh může také provádět operace součtu, minima a maxima dvou velkých vektorů. Rychlá komunikace mezi PS a PL je implementována prostřednictvím dvou DMA IP jader, která přenášejí oba vektory paralelně, aby se urychlila doba přenosu. Vzhledem k flexibilitě a škálovatelnosti návrhu jsou různé konfigurace návrhu testovány vzájemně a proti sekvenčnímu řešení na CPU, aby se dosáhlo nejlepší konfigurace s nejnižším využitím zdrojů FPGA pro skalární součin a další operace. Doba provádění skalárního součinu a dalších operací navrhovaného návrhu je porovnána se sekvenčním návrhem na CPU, aby se prokázalo, že navrhovaný návrh je výrazně rychlejší.

Matrix multiplication is a widely used operation in many fields, especially in AI field. Matrix multiplication can be represented as a dot product of vectors, thus fast and parallel calculation of dot product of large vectors with million and more entries is very important. This work presents a simple, flexible, and scalable design of VPU (Vector Processing Unit), which is written in SystemVerilog and tested on Zynq SoC, which is an FPGA with PS (Processing System), which serves as host CPU, and PL (Programmable Logic), which contains the design of VPU. While dot product is the main operation, this design can also perform sum, minimum, and maximum operations of two large vectors. Fast communication between PS and PL is implemented via two DMA IP cores, which transfer both vectors in parallel to speed up the transfer time. Due to flexibility and scalability of the design, different configurations of the design are tested against each other and against the sequential solution on CPU to obtain the best configuration, with the lowest utilization of FPGA resources, for dot product and other operations. Time of execution of dot product and other operations of proposed design is compared with sequential design on CPU to prove that proposed design is significantly faster.

Description

Citation

Underlying research data set URL

Rights/License

Vysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem v platném znění.

A university thesis is a work protected by the Copyright Act of the Czech Republic. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one`s own expense. The use of thesis should be in compliance with the Copyright Act.

Endorsement

Review

Supplemented By

Referenced By