ТЕСТОВАЯ ПРОГРАММА "ПАУК" КАК ПОЛИГОН ДЛЯ АПРОБАЦИИ АЛГОРИТМОВ И ТЕХНОЛОГИЙ ПАРАЛЛЕЛЬНОГО ПРОГРАММИРОВАНИЯ
А. А. Нуждин Вопросы атомной науки и техники. Сер. Математическое моделирование физических процессов 2020. Вып.4. С. 48-61.
В тестовой программе ПАУК с помощью разностного Sn-метода численно решается трехмерное одногрупповое уравнение переноса нейтронов на ортогональной пространственной сетке. Представлены результаты исследований по адаптации тестовой программы к гетерогенной вычислительной системе, содержащей сопроцессоры Intel Xeon Phi поколения Knights Corner. При этом апробированы различные алгоритмы и технологии параллельного программирования: векторизация циклов по направлениям и элементам гиперплоскостей, автовекторизация и intrinsic-программирование, явная и неявная предвыборка данных, реализации KBA-алгоритма распараллеливания в трех моделях памяти (общая, распределенная, PGAS). Эффективность адаптации программы подтверждается результатами исследований производительности в различных режимах использования гетерогенной вычислительной системы: на универсальных процессорах (CPU-only), сопроцессорах (native) и в симметричном режиме (symmetric) (рис. - 2, табл. - 7, список лит. - 27). Ключевые слова: Sn-метод, алгоритм бегущего счета, KBA-алгоритм, Intel Xeon Phi, векторизация, предвыборка данных, MPI-3 SHM.
Полный текст статьи
|