Master's Thesis

Solution of differential equations on GPU using a numerical method based on the Taylor series

Final Thesis 2.22 MB

Author of thesis: Ing. Petr Bém

Acad. year: 2025/2026

Supervisor: Ing. Petr Veigend, Ph.D.

Reviewer: Ing. Gabriela Nečasová, Ph.D.

Abstract:

Ordinary differential equations are often used to model and simulate problems in many fields, such as mathematics, physics, economics, chemistry. Even though, that these equations are well studied and have analytical solution, for big problems -- systems of thousands or even millions of equations -- it is impossible to obtain the analytical or obtain the solution by hands. Therefore, we use numerical methods to approximate the solution of such system of ordinary differential equations.

  The general purpose graphics processing units are massively parallel devices containing of dozens to thousands arithmetic units. Which means that they are efficient for accelerating computations that consist of thousands to millions lightweight threads.
 
  This thesis implements and compares several numerical methods for computation on the graphical processing units. The implemented methods are well-known Euler method, popular Runge-Kutta with 4 stages and higher-order modern Taylor series method.

  The efficient use of GPU scales with the number of equations of the systems of linear ordinary differential equations. The results for 4-stage Runge-Kutta and modern Taylor series method with 4-th order has similar results. However, the precalculated variant of modern Taylor series method proven faster and was able to use better the GPUs resources with smaller problems.

Keywords:

Numerical methods, ordinary differential equations, GPU, OpenMP, modern Taylor series method.

Date of defence

22.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 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í studenta na položené otázky rozhodla práci hodnotit stupněm A.

Topics for thesis defence

  1. V sekci 4.4.1 zmiňujete neúspěšný pokus o překrytí (overlap) výpočtu na GPU a asynchronního přenosu dat na hosta pomocí direktivy nowait a závislostí depend. Jaké konkrétní technické omezení OpenMP runtime nebo kompilátoru podle Vás toto chování způsobilo a pokoušel jste se problém obejít explicitním použitím OpenMP streamů/front?
  2. V experimentální části uvádíte, že verze s datovým typem double je o cca 25 % pomalejší než verze s datovým typem float. Odpovídá tento propad teoretickému výkonu použité karty AMD Radeon RX 9060 XT v FP64 operacích nebo je dán jiným úzkým hrdlem (např. propustností paměti či registrů)?
  3. Jak daleko je vaše řešení od teoretického maxima?

Language of thesis

English

Faculty

Department

Study programme

Information Technology and Artificial Intelligence (MITAI)

Specialization

High Performance Computing (NHPC)

Composition of Committee

prof. Ing. Jiří Jaroš, Ph.D. (předseda)
doc. Ing. Zdeněk Vašíček, Ph.D. (místopředseda)
doc. Ing. Ondřej Lengál, Ph.D. (člen)
Ing. Jiří Novák, Ph.D. (člen)
Ing. Josef Strnadel, Ph.D. (člen)
Ing. Vladimír Bartík, Ph.D. (člen)

Supervisor’s report
Ing. Petr Veigend, Ph.D.

Celkově jako vedoucí hodnotím práci studenta jako velmi dobrou. Je škoda, že nemohla být ještě lepší a že značná část vznikala tak pozdě. Ale i tak si myslím, že vznikla velmi pěkná diplomová práce. Proto tedy hodnotím práci stupněm B / 80b a doporučuji ji k obhajobě.

Evaluation criteria Verbal classification
Information about assignment

Cílem práce bylo pochopení principu architektur GPU a experimentální implementace algoritmu pro vysoce přesné výpočty diferenciálních rovnic pomocí Taylorova polynomu právě na GPU. Student výborně využil znalosti, které získal při studiu předmětů na FIT i v zahraničí a výsledná práce, i když dokončovaná hodně na poslední chvíli, je kvalitní. Jen je škoda, že student nestihl další plánované experimenty a lepší zpracování výsledků. Jinak by se jednalo o, dle mého názoru, opravdu výbornou diplmovou práci.

Activity during solution, consultations, communication

Jednotlivé části práce a kapitly jsem měl možnost připomínkovat průběžně, všechny mé připomínky student vždy zapracoval. Definitivní verzi, která šla do tisku, jsem ale dostal až v den odevzdání, kdy tedy již nebyl příliš prostor na ladění textu a struktury práce. Student ale v posledním týdnu před odevzdáním udělal ohromný kus práce a dokázal práci dokončit do, dle mého názoru, velmi slušného stavu.

Publication activity, awards

Není známa. Student má podanou přihlášku na doktroské studium (školitel prof. Jaroš / specialista dr. Šátek), uvažujeme o konferenční publikaci, ve které bychom mohli dosažené výsledky lépe prezentovat.

Work with literature

Student s literaturou pracoval samostatně a aktivně, vyhledával si vlastní materitály a využíval i knihy a podklady poskytnuté vedoucím.

Activity during solution, consultations, communication

Studnet byl po většinu řešení aktivní, na domluvené konzultace chodil vždy perfektně připraven a bylo vidět, že řešení se posouvá kupředu. Bohužel, vysokou aktivitu neudržel, i kvůli dalším studijním povinnostem, po celou dobu semestru a jeho pomalejší tempo psaní práce poté ovlivnilo i její dokončení (viz dále).

Points proposed by supervisor: 80

Grade proposed by supervisor: B

Předložená diplomová práce Bc. Petra Béma je na vysoké inženýrské úrovni. Autor se úspěšně vypořádal s netriviální problematikou mapování matematických metod na masivně paralelní architektury pomocí OpenMP offloadingu. Práce obsahuje cenné analytické i praktické poznatky o chování kompilátorů a efektivitě výpočtů na GPU. Výsledky jasně ukazují, v jakých situacích MTSM dominuje nad RK4. Práci doporučuji k obhajobě s hodnocením 90 A

Evaluation criteria Verbal classification Points Max. points
The extent to which the requirements of the assignment have been met

Evaluation level: assignment fulfilled

Student beze zbytku splnil všechny body oficiálního zadání. Seznámil se s metodami řešení ODE, nastudoval architekturu GPU a úspěšně navrhl i naimplementoval algoritmus MTSM v prostředí OpenMP.

Extent of the technical report

Evaluation level: is within the usual extent

Vlastní text technické zprávy má přibližně 70 stran textu včetně bohatého obrazového materiálu, grafů a tabulek. Rozsah práce plně odpovídá standardům FIT VUT pro diplomové práce. Text je hutný, informačně bohatý a neobsahuje zbytečné informace.

Presentation level of the technical report

Práce má velmi dobrou logickou strukturu. Student postupuje od teoretického úvodu do oblasti diferenciálních rovnic a chyb numerických metod přes popis architektury GPU až k samotné implementaci a experimentům. Kapitoly na sebe přirozeně navazují. Kladně hodnotím detailní rozbor chování OpenMP direktiv (např. vysvětlení rozdílů mezi SPMD a generic módem), což přispívá k vysoké pochopitelnosti textu. Drobné výhrady mám k občasnému strohému přechodu mezi teoretickými koncepty v kapitole 2. 

95 100
Formal preparation of a technical report

Práce je sepsána v anglickém jazyce na velmi dobré úrovni a s vysokou mírou srozumitelnosti. Typografické zpracování striktně dodržuje standardy profesionální šablony systému LaTeX; matematické vztahy a rovnice jsou vysázeny zcela korektně. Mimořádně zdařilé jsou grafické diagramy, zejména přehledná schémata distribuce vláken v OpenMP, která výrazně usnadňují pochopení textu. V textu se sice objevují naprosto ojedinělé překlepy či drobné interpunkční nepřesnosti v popiscích kapitol a zdrojových kódů, tyto drobnosti však nijak nesnižují vynikající estetickou a formální úroveň celé technické zprávy.

95 100
Work with literature

Student prokázal schopnost efektivně pracovat s doporučenou i pokročilou zahraniční literaturou. Cituje celkem 19 relevantních zdrojů, které zahrnují jak základní monografie pro numerické metody, tak oficiální specifikace standardu OpenMP a nejnovější disertační/předchozí výzkumné práce z FIT VUT v oblasti MTSM. Bibliografické citace jsou úplné, etika citování byla dodržena a převzaté myšlenky jsou jasně odděleny od vlastního přínosu

95 100
Realisation output

Implementační část je funkční a velmi robustní. Student vytvořil jednotné rozhraní nad formátem HDF5 pro definování problémů lineárních ODE, což umožňuje snadné srovnání metod. Implementace explicitního solveru (Euler, RK4, MTSM) pro husté i řídké matice je vysoce optimalizovaná. Vysoce oceňuji odhalení problému se SPMD módem a jeho vyřešení restrukturalizací kódu. Validace vůči analytickým řešením a vyhodnocení chyb způsobených paralelizací (porovnání GPU vs. single-thread CPU) prokázala korektnost řešení.

95 100
Usability of results

Práce rozšiřuje již publikované výsledky výzkumu FIT VUT v oblasti moderní Taylorovy metody (MTSM). Výstupy práce – zejména verze MTSM s předvýpočtem (precalculation) na GPU – vykazují vysoké zrychlení a efektivní využití hardwarových prostředků u velkých systémů rovnic. Výsledný software je přímo využitelný v praxi pro simulace rozsáhlých fyzikálních systémů (např. v elektrotechnice při modelování telegrafního vedení či v hydromechanice pro Stokesův systém)

The difficulty of the assignment

Evaluation level: moderately difficult assignment

Zadání práce se věnuje vysoce aktuálnímu tématu paralelní akcelerace numerických metod pro řešení obyčejných diferenciálních rovnic (ODE) na grafických kartách (GPU) s využitím moderních standardů OpenMP. Náročnost spočívá v nutnosti skloubit pokročilou matematickou teorii (metoda moderní Taylorovy řady – MTSM) s hardwarovou architekturou GPU a specifiky direktivního paralelního programování. Zadání je pro úroveň magisterského studia adekvátní a standardně obtížné.

Topics for thesis defence:
  1. V sekci 4.4.1 zmiňujete neúspěšný pokus o překrytí (overlap) výpočtu na GPU a asynchronního přenosu dat na hosta pomocí direktivy nowait a závislostí depend. Jaké konkrétní technické omezení OpenMP runtime nebo kompilátoru podle Vás toto chování způsobilo a pokoušel jste se problém obejít explicitním použitím OpenMP streamů/front?
  2. V experimentální části uvádíte, že verze s datovým typem double je o cca 25 % pomalejší než verze s datovým typem float. Odpovídá tento propad teoretickému výkonu použité karty AMD Radeon RX 9060 XT v FP64 operacích nebo je dán jiným úzkým hrdlem (např. propustností paměti či registrů)?
Points proposed by reviewer: 90

Grade proposed by reviewer: A

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