Opracowałem już działające rozwiązanie metody elementów skończonych do rozwiązywania problemów związanych z przenoszeniem ciepła za pomocą GPU i OpenCL przy użyciu metody gradientu sprzężonego. Główną wadą tej metody jest duże zapotrzebowanie na pamięć. Co więcej, w przypadku kart graficznych pamięć jest często bardzo ograniczona. Widzę dwie opcje:
- Twórz poddomeny i zamieniaj części siatki za pomocą pamięci hosta
- Stosuj metody wielopłaszczyznowe
Muszę wziąć pod uwagę specyficzną architekturę. Zamiana może być bardzo droga. Metoda CG jest popularna w kontekście obliczeń GPGPU, ale nie mogę znaleźć żadnego porównania między CG a metodami wielopłaszczyznowymi (w przypadku GPGPU). Czy metoda wielopłaszczyznowa może być szybsza niż CG? To jest ogólne pytanie, w rzeczywistości wciąż zależy od wdrożenia.
parallel-computing
opencl
linear-solver
Krzysztof Bzowski
źródło
źródło
Odpowiedzi:
Jestem liderem projektu w LibGeoDecomp , więc pomyślałem, że mógłbym wejść.
Tak, możesz zaimplementować MES za pomocą LibGeoDecomp. Aktualnie pracujemy nad ulepszonym kontenerem danych dla dokładnie tego przypadku użycia. Ale szczerze mówiąc: ukończenie tej pracy jest jeszcze za kilka miesięcy i do tego czasu wydajność nie będzie optymalna. Jeśli nadal chcesz wypróbować LibGeoDecomp, skontaktuj się ze mną przez e-mail .
Inną opcją byłyby Fenics , który ma dobrze zoptymalizowane rozwiązania dla nieregularnych problemów. Ale AFAIK, w takim przypadku nie możesz napisać własnego solvera.
źródło
Nie wiem czy ci to pomaga. Znajdziesz tutaj link do libgeodecomp , narzędzia, które wykorzystuje dostosowywane techniki dekompozycji domen (z witryny). O ile mi wiadomo, można go używać z procesorami graficznymi. Jeśli ci to pomoże, zagłosuj mi ;-)
źródło