Вибір лінійного розв'язувача для обчислення 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.