
TBHydro sp. z o.o. jest firmą specjalizującą się w projektowaniu, produkcji oraz remontach armatury i innych urządzeń na potrzeby energetyki wodnej oraz ciepłownictwa. Początki firmy sięgają 1989 roku. Główna siedziba znajduje się w Poznaniu, a zakład produkcyjny w Wągrowcu.
Wstęp – analizy numeryczne w TBHydro
W TBHydro analizy numeryczne są obecne praktycznie od początku istnienia firmy. Początkowo były to tylko symulacje wytrzymałościowe (MES), a obecnie wykonujemy również analizy przepływowe (CFD) i sprzężone (FSI). TBHydro produkuje zawory na zlecenie klientów według konkretnej, często unikatowej specyfikacji, dlatego większość naszych produktów jest analizowana wytrzymałościowo, a także zmęczeniowo. Od roku 2018 rozszerzyliśmy nasze kompetencje o analizy CFD. Początkowo było to Ansys CFX, jednak z czasem przeszliśmy na dającego dużo więcej możliwości Ansys Fluent. Głównym czynnikiem zmiany solvera było wprowadzenie technologii Fluent Mosaic Meshing, która znacznie skraca czas przygotowania modelu numerycznego, dając siatkę o bardzo dobrych parametrach jakościowych przy stosunkowo małym nakładzie pracy i czasu. Kolejnym ważnym powodem był dla nas sam czas obliczeń, który wraz z pojawieniem się solvera GPU uległ drastycznej zmianie.

Przez lata jedyną możliwością przyspieszenia obliczeń CFD było wykorzystanie dużej ilości procesorów (CPU) lub wykorzystanie GPU do przyspieszenia niektórych typów symulacji. Natomiast obecnie możemy korzystać z zupełnie nowego solvera, który wykorzystuje wyłączenie karty GPU. Początkowo w przemysłowych realiach wykorzystywanie tej technologii nie było popularne i może wynikało to z dostępności odpowiednich kart GPU. Dziś, posiadając Ansys w najnowszej wersji 2023R1, można z całą pewnością powiedzieć, że wsparcie GPU działa i realnie skraca czas symulacji!
W TBHydro do symulacji CFD wykorzystujemy stację roboczą HP Z4 G4 (Intel Xeon W-2133, 64GB DDR4 ECC RAM, Nvidia Quadro P4000 8GB) lub elastyczną chmurę obliczeniową Google Cloud (w zależności od potrzeb do 128 CPU, 512GB RAM).
CPU + GPU – Różnica?
W TBHydro wykonaliśmy serię porównawczych symulacji celem poznania, jaki wpływ na czas symulacji ma wsparcie CPU za pomocą GPU. W tym celu wykorzystano typowy dla nas przypadek symulacji przepustnicy typu BTV, który jest naszym popularnym produktem. Analizy CFD dla tego typu zaworów z reguły wykorzystywane są do wyznaczenia współczynnika strat, a także do analiz momentów hydraulicznych działających na dysk. Model badawczy składał się z około 1,75mln elementów wykonanych metodą poly-hexcore (Fluent Mosaic Meshing). Wykonano szereg symulacji dla kilku wersji zasobów: 4CPU i 3CPU+1GPU (na co pozwala standardowa licencja 1-stanowiskowa) oraz dodatkowo 5CPU+1GPU (co wymaga już licencji HPC). Symulacje wykonano także na 2 wersjach oprogramowania Ansys: 2022R1 oraz 2023R1.
Poniżej przedstawiono wykres, dla którego punktem wyjścia jest symulacja wykonana na 4CPU w Ansys Fluent w wersji 2022R1 (100%) oraz procentowe porównanie szybkości symulacji dla innych wersji (zasobów i/lub wersji oprogramowania). Wszystkie symulacje wykonały 100 iteracji w steady-state osiągając podobną zbieżność.
Wzrost wydajności z wersji na wersję (2022R1 vs 2023R1) jest odczuwalny.
W przypadku najprostszej konfiguracji 4CPU mamy wzrost szybkości o około 7%, natomiast w przypadku 3CPU+1GPU ten przyrost to już 10%.
Co najważniejsze, wsparcie GPU jest także doskonale widoczne w obu analizowanych wersjach oprogramowania. Zamieniając 4CPU na 3CPU+1GPU, czyli mieszcząc się w limitach standardowej licencji, otrzymujemy wzrost wydajności rzędu 31% (dla wersji 2022R1) i 35% (dla wersji 2023R1).
Obliczenia tylko na GPU
Wersja Fluent 2023R1 wprowadza także znaczącą nowość – solver native GPU. Solver ten mocno przyspiesza czas symulacji (nawet kilkukrotnie!), a wykorzystuje do tego w całości naszą kartę GPU. Co prawda jest on jeszcze dość mocno ograniczony – ograniczona liczba modeli turbulencji (obecny jest k-w SST), dostępny tylko schemat SIMPLE (brak COUPLED) oraz kilka innych ograniczeń. Native GPU dostępny jest tylko w licencji CFD Enterprise. Jednak jeśli poziom ograniczeń jest dla nas akceptowalny, to finalnie możemy uzyskać naprawdę szybką symulację o jakości wyników nie odbiegającej od klasycznego solvera CPU. TBHydro wraz z MESco przeprowadziło symulacje porównawcze między solverem CPU (wykorzystując procesory Intel Xeon W-2133 oraz Intel Xeon Gold 6242R), a solverem native GPU (wykorzystując układy GPU Quadro P4000 oraz Quadro RTX 8000). Otrzymano bardzo obiecujące wyniki, które dają nadzieję na realne skrócenie czasu symulacji i ograniczenie kosztów związanych z symulacją CFD.
Na karcie P4000 uzyskaliśmy przyspieszenie rzędu 500%, a w przypadku karty RTX 8000 to było to prawie 700%! Oznacza to, że w tym samym czasie możemy wykonać znacznie więcej symulacji, co daje nam większą elastyczność w procesie rozwoju naszych produktów.
Podsumowanie
Posiadając aktualną wersja oprogramowania Ansys 2023R1 oraz stację roboczą wyposażoną w choćby średniej klasy kartę GPU można znacząco wpłynąć na czas symulacji, który bezpośrednio można przełożyć na redukcję kosztów. Każde z rozwiązań (łącznie CPU z GPU lub native GPU solver) ma jednak pewne ograniczenie – analizowany case musi się mieścić w RAMie karty GPU. W naszym przypadku (Nvidia Quadro P4000 8GB) dla tryb “double precision” jest to limit około 2mln elementów, co dla siatkowania metodą poly-hexcore to wcale niemało. Dodatkowo liczbę elementów można 2-krotnie zwiększyć działając w trybie “single precision”. Dla solvera native GPU dochodzi dodatkowo cały szereg innych ograniczeń. Należy mieć na uwadze, że solver native GPU dopiero co debiutuje i można przypuszczać, że będzie szybko aktualizowany i wzbogacany o kolejne funkcjonalności. Można zatem pokusić się o stwierdzenie, że w niedalekiej przyszłości solver GPU na stałe zagości w świecie CFD.
Autor: Szymon Wróblewski, TBHydro sp. z o.o.