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