Я уже разработал рабочее решение метода конечных элементов для решения задач теплопередачи, используя GPU и OpenCL, используя метод сопряженных градиентов. Основным недостатком этого метода является высокий спрос на память. Более того, в случае видеокарт память часто очень ограничена. Я вижу два варианта:
- Создание поддоменов и замена частей сетки с памятью хоста.
- Используйте мультифронтальные методы
Я должен принять во внимание конкретную архитектуру. Обмен может быть очень дорогим. Метод CG популярен в контексте вычислений GPGPU, но я не могу найти никакого сравнения между CG и мультифронтальными методами (в случае GPGPU). Может ли мультифронтальный метод быть быстрее, чем CG? Это общий вопрос, на самом деле он все еще зависит от реализации.
parallel-computing
opencl
linear-solver
Кшиштоф Бзовски
источник
источник
Ответы:
Я руководитель проекта на LibGeoDecomp , так что я подумал, что могу вмешаться.
Да, вы можете реализовать FEM с LibGeoDecomp. В настоящее время мы работаем над улучшенным контейнером данных именно для этого варианта использования. Но, честно говоря, до завершения этой работы еще много месяцев, и до тех пор производительность не будет оптимальной. Не стесняйтесь связаться со мной по электронной почте, если вы все еще хотите попробовать LibGeoDecomp.
Другим вариантом будет Fenics , который имеет хорошо оптимизированные решатели для нерегулярных задач. Но AFAIK, вы не можете написать свой собственный решатель в этом случае.
источник
Я не знаю, поможет ли это вам. Здесь вы найдете ссылку на libgeodecomp , инструмент, который использует настраиваемые методы декомпозиции домена (с сайта). Насколько я знаю, его можно использовать с графическими процессорами. Если это поможет вам, проголосуйте за меня ;-)
источник