Параллельные программы библиотеки JINRLIB

5 Jul 2016, 16:45
15m
Sectional reports 8. High performance computing, CPU architectures, GPU, FPGA 8. High performance computing, CPU architectures, GPU, FPGA

Speaker

Dr Tatiana Sapozhnikova (JINR)

Description

JINRLIB (http://www.jinr.ru/programs/jinrlib/) - библиотека программ, предназначенных для решения широкого круга математических и физических задач. Программы объединяются в библиотеки объектных модулей или существуют в виде самостоятельных пакетов прикладных программ. В настоящий момент насчитывается более 60 программных пакетов. В последнее время происходит бурное развитие технологий программирования параллельных вычислений, в частности, MPI. Эта тенденция нашла свое отражение и в библиотеке JINRLIB. Была сформулирована следующая стратегия распараллеливания: программа, подготовленная для работы в среде MPI, должна успешно работать при любом количестве NP параллельных процессов, вовлекаемых в решение задачи, в том числе и при NP=1. Таким образом, возникает единый исходный текст программы, равно пригодный к эксплуатации как на традиционных последовательных вычислительных системах, так и на современных кластерах, состоящих из большого числа процессоров. Эта идея была успешно реализована при распараллеливании программ, описанных ниже. MINUIT - параллельная версия программы минимизации функций многих переменных. На примере MINUIT обсуждаются проблемы распараллеливания больших вычислительных программ. PFUMILI - модификация известной программы FUMILI, допускающая ее эффективную эксплуатацию на современных вычислительных кластерах, объединяющих сотни однотипных процессоров. CLEBSCH2 - вычисление простейшей формы коэффициентов Клебша-Гордана (k,n)=k!*(n-k)!/n!. Программа свободна от типичных при вычислении факториалов "в лоб" случаев переполнения при умножении. PRIMUS - программа Л.Александрова, реализующая классический алгоритм так называемого решета Эратосфена для генерации простых чисел. Авторский интерфейс был модифицирован для упрощения возможности использования нескольких процессоров в рамках технологии MPI. PROFILE - программный инструмент для исследования производительности программ в определяемых пользователем интервалах. Программа пригодна для использования в традиционных (последовательных) фортранных программах, так и в распараллеленных с использованием технологии MPI. Программы адаптированы для работы на кластере HybriLIT. Приведены результаты тестирования.

Primary authors

Presentation materials