Master's Thesis

Design of Instructions for Acceleration of Control Algorithms Based on MPC Technique

Final Thesis 1.74 MB

Author of thesis: Ing. Pavel Kratochvíl

Acad. year: 2025/2026

Supervisor: Ing. Václav Šimek

Reviewer: doc. Ing. Zdeněk Vašíček, Ph.D.

Abstract:

This thesis investigates profiling-driven acceleration of a Model Predictive Control (MPC) workload on a customizable RISC-V processor with support for the RISC-V Vector Extension (RVV). The evaluated implementation uses HPIPM and BLASFEO for solving the optimization problem and performing dense linear algebra. Profiling with gprof, QEMU, SPIKE log analysis, and cycle-accurate simulation shows that execution is concentrated in a small set of BLASFEO kernels for small matrices. Based on this analysis, several software and hardware acceleration options were explored, including RVV-oriented modifications, specialized instructions, and memory-subsystem changes. The selected design introduces a tightly coupled memory (TCM) connected directly to the vector unit, new instructions for accessing the TCM, and variants of selected functions that use explicit data placement. The implementation was validated by cycle-accurate simulation in both a dedicated test environment and an iteration of the MPC algorithm. Additionally, PPA analysis was performed on the final design and compared to the base model. The results show that using TCM can accelerate selected kernels, while simultaneously establishing the basis for further micro-architectural optimization and a more effective utilization of TCM within the context of MPC acceleration.

Keywords:

RISC-V, acceleration, kernel, BLAS, model predictive control, embedded devices, processor, instruction set

Date of defence

25.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm A.

Topics for thesis defence

  1. Můžete popsat, jakou zmíněnou chybu jste řešil a jak?
  2. Proč v celém procese nefiguruje verifikace?
  3. Jaká byla strategie testování? Vytvářel jste testy sám?

Language of thesis

English

Faculty

Department

Study programme

Information Technology and Artificial Intelligence (MITAI)

Specialization

Embedded Systems (NEMB)

Composition of Committee

doc. Ing. Zdeněk Vašíček, Ph.D. (předseda)
doc. Ing. Michal Bidlo, Ph.D. (místopředseda)
doc. Mgr. Adam Rogalewicz, Ph.D. (člen)
Ing. Marcela Zachariášová, Ph.D. (člen)
doc. Dr. Ing. Otto Fučík (člen)
Ing. Josef Strnadel, Ph.D. (člen)

Supervisor’s report
Ing. Václav Šimek

S ohledem na náročnost celého projektu a poměrně slibné výsledky, jichž se podařilo dosáhnout, navrhuji z pozice vedoucího souhrnné hodnoceni stupněm A - výborně, 92 bodů.

Evaluation criteria Verbal classification
Informace k zadání

Tato diplomová práce se zabývá analýzou a návrhem úprav stávající architektury RISC-V s podporou vektorového rozšíření za účelem akcelerace běhu algoritmů třídy MPC (Model Predictive Control) pro řízení motorů. Na základě detailního profilování implementace MPC algoritmu bylo navrženo rozšíření vektorové jednotky procesoru o paměť typu TCM, doplněny nové instrukce využívající TCM a modifikovány některé stávající instrukce pro práci s explicitním umístěním dat. Velmi důležitým aspektem bylo provedení syntézy RTL popisu upravené architektury s využitím 32nm technologických ASIC knihoven a její vyhodnocení formou PPA analýzy.

V tomto případě se jedná o velmi náročné zadání diplomové práce připravené ve spolupráci s firmou Codasip. Pro její úspěšné vyřešení bylo nutno využít poznatky z mnoha různých oblastí včetně syntézy ASIC obvodů. Při celkovém pohledu se domnívám, že požadavky plynoucí ze zadání byly v celé šíři splněny. Dosažené výsledky potvrzují přínos k urychlení běhu MPC algoritmů s tím, že je bude možno využít i v rámci evropských projektů ISOLDE a Rigoletto, na které je tato diplomová práce navázána.

Aktivita při dokončování

I přes veskrze systematickou práci v průběhu obou dvou semestrů dokončování projektu zkomplikovala poněkud záludná chyba v časování zřetězené linky procesoru po zabudování provedených úprav architektury. Nicméně se ji podařilo s vypětím všech sil odstranit a na poslední chvíli provést i PPA analýzu v syntézních nástrojích Synopsys v kombinaci s 32nm technologickou ASIC knihovnou. Kromě toho zbyl prostor i na jednu revizi technické zprávy, kde byly reflektovány připomínky vedoucího.

Publikační činnost, ocenění

V souvislosti s řešením této diplomové práce mi není znám zisk souvisejících ocenění či navazující publikační činnost.

Práce s literaturou

Studentovi byly potřebné informační zdroje doporučeny ze strany vedoucího projektu, některé si však také dohledal sám. Jejich konečný výběr byl konzultován a poskytuje nezbytnou teoretickou oporu při řešení projektu.

Aktivita během řešení, konzultace, komunikace

V průběhu obou dvou semestrů byla komunikace se studentem na velmi dobré úrovni, ať už vůči mojí osobě či odbornému konzultantovi ze společnosti Codasip. Student poskytoval v pravidelných intervalech informace ohledně aktuálního stavu řešení projektu. Proběhlo taktéž několik konzultací (ať už v online či prezenční formě) z podnětu studenta, na které byl odpovídajícím způsobem připraven.

Points proposed by supervisor: 92

Grade proposed by supervisor: A

Celkově hodnotím práci jako velmi kvalitní a pečlivě zpracovanou a navrhuji souhrnné hodnocení stupněm A. Vyzdvihnout je nutné především nadstandardní úsilí, které bylo řešení věnováno a díky kterému se podařilo odevzdat práci včas i přes to, že v průběhu řešení vzniklo značné zpoždění zaviněné třetí stranou.

Evaluation criteria Verbal classification Points
Rozsah splnění požadavků zadání

Evaluation level: zadání splněno

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Prezentační úroveň technické zprávy

Práce je psána v anglickém jazyce, má logickou strukturu a jednotlivé kapitoly na sebe navazují. Z hlediska čtenáře se jedná o text, který se velmi příjemně čte a kde není nutné spekulovat nad záměrem autora.

100
Formální úprava technické zprávy

Z hlediska jazykové stránky práce působí velmi čistě. Z typografického hlediska mírně kazí dojem nezalomený název funkce kernel_sgemm_nt_4x4_lib4 v závěru. S ohledem na rozsah textu se však jedná o drobnost.

90
Práce s literaturou

Výběr studijních pramenů odpovídá řešené problematice. S ohledem na charakter práce jde převážně o dokumentaci k procesoru RISC-V.  Převzaté prvky jsou řádně odlišeny od vlastních výsledků.

90
Realizační výstup

Výstupem je patch obsahující modifikované soubory v jazyce Codal, které rozšiřují funkcionalitu původního procesoru. Mimo to jsou přiloženy výsledky profilování a pomocné skripty v jazyce Python, které byly použity v rámci řešení diplomové práce. I když je zřejmé, že autorem skriptů je diplomant, chybí ve skriptech hlavičky s informacemi o autorovi.

85
Využitelnost výsledků

Získané výsledky by bylo možné využít jako podklad pro konferenční publikaci neboť práce přináší nové poznatky týkající se řešeného problému.

Náročnost zadání

Evaluation level: značně obtížné zadání

Zadání je obtížnějšího charakteru, neboť vyžaduje nastudovat a pochopit poměrně komplexní problematiku a jeho splnění bylo nutné věnovat nadprůměrné úsilí. Samotné splnění bodu č. 6 je poměrně komplexní úloha.

Points proposed by reviewer: 95

Grade proposed by reviewer: A

Responsibility: Mgr. et Mgr. Hana Odstrčilová