604x
004007
26.9.2023

Paralelizace

Paralelizace v softwaru pro statické výpočty metodou konečných prvků (MKP) označuje proces rozdělení a distribuce výpočetních úloh mezi více procesory nebo jádry za účelem urychlení analýzy a simulace složitých technických problémů. Paralelní výpočty umožňují softwaru zpracovávat větší a složitější simulace díky využití výkonu moderních vícejádrových procesorů a distribuovaných výpočetních klastrů.

Zde jsou některé klíčové aspekty paralelizace v softwaru MKP:

Rozložení domény: Jedním z běžných přístupů k paralelizaci je rozdělení simulační domény na menší subdomény. Každá subdoména je pak přiřazena k jinému procesoru nebo jádru a výpočty se provádějí souběžně na těchto samostatných částech. Po dokončení lokálních výpočtů se výsledky zkombinují, aby se získalo celkové řešení.

Tato technologie se používá v programech RFEM 6 a RSTAB 9 pro paralelní výpočet zatěžovacích stavů a kombinací zatížení. Pro každé jádro se spustí instance řešiče, která pak postupně vypočítává zatěžovací stavy nebo kombinace zatížení.

Multithreading a multiprocessing: Software MKP může k paralelizaci výpočtů využívat techniky multithreading (vícevláknové zpracování) a multiprocessing (víceprocesorový systém). Multithreading zahrnuje rozdělení jednoho programu na menší vlákna, která mohou být prováděna souběžně. Multiprocessing zahrnuje souběžné spuštění více nezávislých procesů nebo úkolů.

Obě techniky jsou využívány v programu RFEM 6.

Pro paralelní výpočet zatěžovacích stavů a kombinací zatížení je spuštěno několik nezávislých procesů řešiče. Jedná se o techniku multiprocessing (víceprocesorový systém).

Pokud je pro individuální výpočet zatěžovacího stavu nebo kombinace zatížení použit přímý řešič, je pracovní zátěž rozdělena do několika vláken, aby bylo možné vyřešit soustavu rovnic.

Škálovatelnost: Škálovatelnost se týká toho, jak dobře software pro statické výpočty MKP zvládá rostoucí počet procesorů nebo jader. Dobře navržený paralelní software MKP by měl vykazovat dobrou škálovatelnost, což znamená, že s přidáním dalších procesorů dochází k významnému zlepšení výkonu a zkrácení doby simulace.

Paralelní databáze a API: Mnoho softwarových balíčků MKP využívá paralelní programovací databáze a API ("Application Programming Interfaces") k efektivní implementaci paralelizace. Mezi příklady patří OpenMP, CUDA (pro paralelizaci GPU) a další.

OpenMP se v programu RFEM 6 používá pro implementaci multithreadingu (vícevláknového zpracování).

CUDA se v programu RFEM 6 nepoužívá. Výpočet proto nelze provést na grafických kartách nebo podobných akcelerátorech výpočtů.

Paralelizace řešiče: V simulacích MKP je řešení lineárních soustav rovnic častou překážkou. Pokročilé řešiče lze paralelizovat, aby se zvýšila rychlost řešení.

Pre-processing a post-processing: Ačkoli se pozornost soustředí především na paralelizaci fáze řešiče, paralelizaci lze aplikovat i na jiné aspekty analýzy MKP, včetně úkolů předzpracování pre-processing), např. vytvoření sítě, nastavení modelu, a následného zpracování (post-processing), např. vizualizace, analýza dat.

V programech RFEM 6 a RSTAB 9 se ve fázi pre-processingu i post-processingu používá paralelizace prostřednictvím multithreadingu (vícevláknového zpracování).

Efektivní paralelizace v softwaru MKP může výrazně zkrátit dobu simulace, což umožňuje inženýrům a výzkumným pracovníkům efektivně analyzovat větší a složitější problémy.

Nadřazená kapitola