GPU-Softwareentwicklung

Die GPU-Beschleunigung bietet neue und innovative Möglichkeiten für rechenintensive Software. Wir verwenden die GPU-Beschleunigung in unserer Walzwerksoftware, um sie für den Einsatz in der Prozessautomatisierung fit zu machen. Wir haben ein kompaktes und leistungsstarkes Toolkit für GPU-basierte FEM- und FVM-Anwendungen entwickelt, das wir auch für Kundensoftwareprojekte anbieten.

GPU Benchmark

Als relativ einfaches Beispiel einer Finite-Volumen (FV)-Berechnung verwenden wir eine Röhrenkühlungssimulation, um den möglichen Gewinn eines GPU-beschleunigten Ansatzes aufzuzeigen. Wir vergleichen die numerische Lösung der transienten Wärmeleitungsgleichung mit verschiedenen Methoden, sowohl auf einer CPU (AMD Ryzen 5 3600, Single Thread) als auch auf einer GPU (Nvidia RTX 2080 Ti). Die Bilder der Temperaturverteilungsergebnisse können Sie in der Galerie rechts, beginnend mit 1200°C nach 0 Sekunden, in 10 Sekunden Schritten durchschalten.

Das Problem wird durch explizites und implizites Zeitschritten gelöst, letzteres durch direktes oder iteratives Invertieren der Systemmatrix. Die Auflösung und damit die Anzahl der Unbekannten im System wird variiert, um den Einfluss der Problemgröße zu untersuchen. Bei mehr als 200.000 Unbekannten sehen wir einen Beschleunigungsfaktor von bis zu ~45, wenn die GPU schneller ist als die CPU. Wenn das Problem kleiner wird, hilft der CPU-Cache etwas, diese Lücke zu schließen.

Anwendungsfall

Die Wärmebehandlung von Blechstapeln in einem flachen Ofengefäß wurde simuliert, um sowohl den Prozess als auch die Automation zu optimieren. Besonderes Merkmal ist der Kontaktalgorithmus an den Außenflächen, welcher beliebige Positionierung der Blechstapel im Gefäß ermöglicht. Die Abbildung stellt die Temperaturverteilung am Ende der Heizphase dar.