Обычный способ ускорить приложение - это распараллелить приложение с использованием MPI или библиотек более высокого уровня, таких как PETSc, которые используют MPI под капотом.
Однако в настоящее время кажется, что каждый заинтересован в использовании CUDA для распараллеливания своего приложения или в использовании гибрида MPI и CUDA для решения более амбициозных / больших задач.
Есть ли заметное преимущество в использовании гибридной модели программирования MPI + CUDA по сравнению с традиционной, испытанной и проверенной моделью параллельного программирования MPI? Я спрашиваю об этом конкретно в прикладных областях методов частиц
. Одна из причин, по которой я задаю этот вопрос, заключается в том, что повсюду в сети я вижу утверждение, что «методы частиц естественным образом соответствуют архитектуре графических процессоров» или некоторые его варианты. . Но они, кажется, никогда не оправдывают того, почему мне лучше использовать CUDA, чем использовать только MPI для той же работы.