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:
- Erstellen Sie Subdomains und tauschen Sie Teile des Netzes mit dem Hostspeicher aus
- 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.
parallel-computing
opencl
linear-solver
Krzysztof Bzowski
quelle
quelle
Antworten:
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.
quelle
Ich weiß nicht, ob es dir hilft. Hier finden Sie einen Link zu libgeodecomp , einem Tool, das anpassbare Domänenzerlegungstechniken (von der Site) verwendet. Soweit ich weiß, kann es mit GPUs verwendet werden. Wenn es dir hilft, stimme mich ab ;-)
quelle