Вибір лінійного розв'язувача для обчислення GPGPU (OpenCL)


10

Я вже розробив робоче рішення методу Кінцевих елементів для вирішення проблем передачі тепла за допомогою GPU та OpenCL методом Conjugate Gradient. Основним недоліком цього методу є високий попит на пам'ять. Більше того, у випадку з відеокартами пам'ять часто дуже обмежена. Я бачу два варіанти:

  1. Створіть субдомени та обміняйте частинами мережі з пам'яттю хоста
  2. Використовуйте мультифронтальні методи

Я маю враховувати конкретну архітектуру. Обмін може бути дуже дорогим. Метод CG популярний в контексті обчислень GPGPU, але я не можу знайти порівняння між CG та мультифронтальними методами (у випадку GPGPU). Чи може мультифронтальний метод бути швидшим, ніж CG? Це загальне питання, насправді це все ще залежить від реалізації.


2
Ви робите глобальну збірку матриць у вашому FEM-коді? або ви використовуєте безресурсні матриці? (тобто немає явного формування матриць)
Allan P. Engsig-Karup

3
Який попередній кондиціонер ви використовуєте та що таке домен? Десятирічний робочий стіл за допомогою хорошого алгоритму обіграє групу графічних процесорів за допомогою хитрого алгоритму.
Джед Браун

Ви використовуєте шестигранні або спрощені сітки? Якщо пам'ять - це проблема, а ви використовуєте шістнадцяткові елементи з функціями основи тензорного продукту, ви можете зберегти пам'ять у деяких випадках, зберігаючи лише 1D-оператори та використовуючи матричну реалізацію (як, згаданий Аллан).
Джессі Чан

Відповіді:


2

Я лідер проекту в LibGeoDecomp , тому я подумав, що я можу зазвучити.

Так, ви можете реалізувати FEM за допомогою LibGeoDecomp. Зараз ми працюємо над вдосконаленим контейнером даних саме для цього випадку використання. Але якщо бути справедливим: до завершення роботи ще місяці, і до цього виконання не буде оптимальним. Не соромтеся зв’язатися зі мною електронною поштою, якщо ви все ще хочете спробувати LibGeoDecomp.

Іншим варіантом буде Fenics , який добре оптимізував вирішення проблем із нерегулярними проблемами. Але AFAIK вам не вдається написати власний вирішувач у такому випадку.


1

Я не знаю, чи допомагає вам це. Тут ви знайдете посилання на libgeodecomp , інструмент, який використовує налаштовані методи розкладання домену (з сайту). Наскільки я можу використовувати його з графічними процесорами. Якщо вам це допоможе, проголосуйте за мене ;-)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.