Auswahl des linearen Lösers für die GPGPU-Berechnung (OpenCL)


10

Ich habe bereits eine funktionierende Lösung der Finite-Elemente-Methode entwickelt, um Wärmeübertragungsprobleme mit GPU und OpenCL mithilfe der Conjugate Gradient-Methode zu lösen. Der Hauptnachteil dieses Verfahrens ist der hohe Speicherbedarf. Darüber hinaus ist bei Grafikkarten der Speicher oft sehr begrenzt. Ich sehe zwei Möglichkeiten:

  1. Erstellen Sie Subdomains und tauschen Sie Teile des Netzes mit dem Hostspeicher aus
  2. Verwenden Sie multifrontale Methoden

Ich muss die spezifische Architektur berücksichtigen. Tauschen kann sehr teuer sein. Die CG-Methode ist im Zusammenhang mit GPGPU-Computing beliebt, aber ich kann keinen Vergleich zwischen CG- und multifrontalen Methoden finden (im Fall von GPGPU). Kann die multifrontale Methode schneller sein als die CG? Dies ist eine allgemeine Frage, die immer noch von der Implementierung abhängt.


2
Führen Sie eine globale Montage der Matrizen in Ihrem FEM-Code durch? oder verwenden Sie matrixfreie Implementierungen? (dh keine explizite Bildung der Matrizen)
Allan P. Engsig-Karup

3
Welchen Vorkonditionierer verwenden Sie und wie ist die Domain? Ein zehn Jahre alter Desktop, der einen guten Algorithmus verwendet, schlägt eine Gruppe von GPUs mit einem beschissenen Algorithmus.
Jed Brown

Verwenden Sie hexaedrische oder einfache Netze? Wenn Speicher ein Problem darstellt und Sie Hex-Elemente mit Tensor-Produktbasisfunktionen verwenden, können Sie in einigen Fällen Speicher sparen, indem Sie nur 1D-Operatoren speichern und eine matrixfreie Implementierung verwenden (wie von Allan erwähnt).
Jesse Chan

Antworten:


2

Ich bin der Projektleiter von LibGeoDecomp , also dachte ich, ich könnte mitmachen .

Ja, Sie können eine FEM mit LibGeoDecomp implementieren. Wir arbeiten derzeit an einem verbesserten Datencontainer für genau diesen Anwendungsfall. Aber um fair zu sein: Der Abschluss dieser Arbeit ist noch Monate entfernt, und bis dahin wird die Leistung nicht optimal sein. Sie können mich gerne per E-Mail kontaktieren, wenn Sie LibGeoDecomp noch ausprobieren möchten.

Eine weitere Option wäre Fenics , das die Löser für unregelmäßige Probleme gut optimiert hat. Aber AFAIK, Sie können in diesem Fall keinen eigenen Löser schreiben.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.