Regisztráció és bejelentkezés

Nagyméretű paramétertanulmányok hatékony megoldása CPU-n és GPU-n

A közönséges differenciálegyenlet-rendszerek mind a mai napig jelentős szerepet játszanak a tudomány különböző területein. Ezek között is különösen fontosak az alacsony dimenziós modellek, amelyek gyakran megfelelő közelítést nyújtanak kisebb számítási igény mellett.

A modellekben központi szerepet játszanak a paraméterek, amelyek különböző értékei különböző viselkedést idézhetnek elő a rendszerekben: egyensúlyi helyzetek, periodikus pályák vagy akár káosz jelenhet meg. Klasszikus példa erre a Lorenz-egyenlet. A paraméterek hatásának feltérképezése, azaz paramétertanulmányok készítése alapvető feladat a műszaki tervezésben, amelyet a paraméterek lehetséges nagy száma tehet számítástechnikai kihívássá. Sokdimenziós paramétertérben a felbontás növelésével az összes kombináció száma rohamosan növekszik. Már viszonylag alacsony felbontás mellett is a megoldandó differenciálegyenletek száma elérheti a több milliárdot. Így tehát a paramétertanulmányokhoz a megfelelő megoldó kiválasztása, illetve optimalizálása számottevő idő megtakarítását eredményezheti.

Ezen dolgozat a paramétertanulmányok hatékony megoldását tárgyalja, különös tekintettel az elérhető megoldó szoftverek teljesítményére, párhuzamosítási képességeire, illetve arra, hogy hogyan lehet adott architektúrára optimalizálni, legyen az processzor (CPU) vagy professzionális videókártya (GPU). Az eredményekből már egy publikáció is született, amit a „Communications in Nonlinear Science and Numerical Simulation” folyóiratba adtunk be, ezen TDK dolgozat ezeket az eredményeket részletesebben tárgyalja. Három differenciálegyenlet-megoldó szoftvert hasonlítunk össze, a Julia nyelv DifferentialEquations.jl csomagját, a C++ nyelven írt ODEINT és a CUDA alapú GPU-ra írt MPGOS csomagot.

A megoldókat három tesztproblémán vizsgáljuk. Az első a Lorenz-egyenlet, ami a legtöbb programcsomag példakódjai között megtalálható, így kézenfekvő választás. A második a szonokémiában jól ismert Keller-Miksis egyenlet, ahol adaptív lépésközt alkalmazunk, amely több nagyságrendet változhat a különböző paraméterértékek hatására, így az egyes egyenletek megoldásához szükséges számítási igény nagyságrendekkel eltér. A harmadik egy nyomáshatároló-szelep modell, amelyben ütközés is előállhat, azaz bizonyos értékeknél meg kell szakítani az integrálást, hogy egy egyszerű newtoni ütközést szimulálhassunk. Ezzel pedig a programcsomagok eseménykezelési képességeit és teljesítményét tudjuk vizsgálni.

szerzők

  • Nagy Dániel
    Mechatronikai mérnöki alapszak (BSc)
    alapképzés (BA/BSc)

  • Plavecz Lambert
    Mechatronikai mérnöki alapszak (BSc)
    alapképzés (BA/BSc)

konzulens

  • Dr. Hegedűs Ferenc
    Docens, Hidrodinamikai Rendszerek Tanszék

helyezés

I. helyezett