Nový přístup používá techniky jako je vektorizace, meta-programování a dynamický polymorfismus.
Vědci z IT4Innovations národního superpočítačového centra vyvinuli novou metodu pro optimalizaci výkonu výpočtů metodou konečných prvků (FEM). Jejich inovativní adaptivní řešení, které upravuje výpočty na základě parametrů zadaných během běhu programu, dosahuje až osminásobného zrychlení výpočtů a bylo publikováno v časopise Computer Physics Communications.
Metody konečných prvků (FEM) jsou klíčové pro simulace fyzikálních jevů, jako je přenos tepla a rozložení napětí. FEM rozkládají složité problémy na jednodušší části, kterým se přiřazují různé fyzikální parametry a jsou následně samostatně numericky řešeny. Optimalizace výkonu těchto výpočtů je náročná, zvlášť když je potřeba zohlednit různé parametry, jako jsou vlastnosti materiálů nebo výchozí a mezní podmínky.
Kristián Kadlubiak, Ondřej Meca, Lubomír Říha a Tomáš Brzobohatý z IT4Innovations vyvinuli nový přístup, který usnadňuje a zrychluje výpočty. Používá techniky jako je vektorizace, meta-programování a dynamický polymorfismus, které umožňují flexibilní přizpůsobení a výběr specifických funkcí sestavovače matic během běhu programu.
Pro testování nového přístupu použili čtyři různé typy procesorů: AMD 7H12, AMD 7763 (superpočítač Karolina), Intel Cascade Lake 6240 a Intel Skylake Gold 6126 (superpočítač Barbora). AMD a Intel procesory vykazují různé úrovně výkonu v závislosti na použitých metodách optimalizace a vektorování. Například Intel Skylake Gold 6126 dosáhl nejlepšího výkonu v určitých testech, zatímco AMD 7H12 vykazoval výkonnostní variabilitu v závislosti na kompilátoru.
Během simulace jsou fyzikální parametry převedeny na systém lineárních rovnic pomocí funkcí sestavovače, které se aplikují na jednotlivé prvky mřížky. Tyto funkce, označované jako „kernely“, jsou klíčové pro numerické řešení. Vědci dosáhli významných pokroků v optimalizaci těchto funkcí pomocí pokročilých technik. Vektorizace napříč elementy umožňuje transformaci standardního kódu na formát schopný efektivně zpracovávat více datových bodů současně. Metaprogramování využívá schopnosti kompilátorů k vytvoření specializovaných funkcí přizpůsobených konkrétním parametrům. Dynamický polymorfismus umožňuje dynamicky vybírat pouze nezbytné funkce během běhu programu.
An approach for dynamically adaptable SIMD vectorization of FEM kernels
https://doi.org/10.1016/j.cpc.2024.109319