НА ГЛАВНУЮГЕНЕРАТОРPARMONCMONCОБ АВТОРЕ
 

 

Программная библиотека PARMONC для распределенного статистического моделирования на суперкомпьютерах

PARMONC logoБиблиотека PARMONC (сокращение от PARallel MONte Carlo) предназначена для использования на кластерах ССКЦ КП СО РАН для распараллеливания широкого круга трудоемких приложений метода Монте-Карло.

"Ядром" библиотеки является тщательно протестированный, быстрый и надежный длиннопериодный генератор псевдослучайных чисел, разработанный в Лаборатории методов Монте-Карло ИВМиМГ СО РАН.
Библиотечные подпрограммы могут быть использованы в пользовательских программах, написанных на языках C, C++ и Fortran, причем от пользователя не требуется знание языка MPI. В процессе счета происходит автоматическое получение выборочных средних и границ погрешностей для статистических оценок, алгоритм моделирования которых задается в пользовательской подпрограмме. Имя такой подпрограммы передается в качестве аргумента в соответствующую библиотечную подпрограмму. В процессе счета результаты вычислений периодически сохраняются на жестком диске в удобном для дальнейшей обработки виде. Библиотечные подпрограммы автоматически распределяют вычислительную нагрузку по процессорам кластера. С помощью библиотеки PARMONC можно легко организовать продолжение ранее проведенных расчетов с автоматическим учетом их результатов. Также с помощью библиотеки можно получать коррелированные статистические оценки различных функционалов.

Библиотека установлена на кластере НКС-30Т ССКЦ СО РАН в директории  /ifs/apps/parmonc/.

Библиотека PARMONC состоит из следующих подпрограмм и исполняемых файлов:

  • rnd128 - функция для получения одного случайного числа, равномерно распределенного в интервале от 0 до 1, с помощью параллельного генератора случайных чисел;
  • parmoncf - процедура, осуществляющая распределенное статистическое моделирование (для программ на Fortran-е);
  • parmoncc - процедура, осуществляющая распределенное статистическое моделирование (для программ на C);
  • manaver - программа для осреднения выборочных средних, независимо рассчитанных на разных процессорах;
  • genparam - программа для расчета параметров параллельного генератора случайных чисел.

Здесь rnd128, parmoncf and parmoncc являются библиотечными подпрограммами для использования в пользовательских программах на Fortran-е, C или C++, genparam and manaver являются исполняемыми файлами для запуска из командной строки. Объектные файлы PARMONC упакованы в статическую библиотеку libparmonc.a.

Пользователь вставляет вызовы процедур rnd128 и parmoncf/parmoncc в свои программы. Главная пользовательская программа, в которой находится вызов parmoncf/parmoncc, рассматривается компилятором как MPI-программа, несмотря на то, что в самой пользовательской программе нет явных вызовов директив MPI. Это означает, что такая программа должна компилироваться и собираться с использованием команд mpiicc или mpiifort.

Результаты расчетов, выполненных с использованием процедур parmoncf/parmoncc, сохраняются в файлы, которые находятся в специальной поддиректории в рабочей директории пользователя. Все эти файлы обновляются всякий раз, когда центральный процессор получает данные с других процессоров, осредняет их и сохраняет на диск.

В файл .bashrc, который находится в домашней директории пользователя, необходимо добавить следующую строку:

$ source /ifs/apps/parmonc/bin/parmoncvars.sh

Тем самым объявляются три переменные окружения $PRMCBIN, $PRMCLIB and $PRMCINC. Эти переменные используются при компиляции и сборке приложений с помощью PARMONC, а также при запуске команд.

Для компиляции и сборки пользовательских программ с использованием библиотеки PARMONC следует использовать следующие команды:

  • для программ на Fortran-е:

$ mpiifort -o test -L$PRMCLIB -I$PRMCINC test.f90 -lparmonc

  • для программ на C:

$ mpiicc -o test -L$PRMCLIB -I$PRMCINC test.c -lparmonc

Здесь test - имя исполняемого файла, test.f90 и test.c - пользовательские программы.

 
Публикации

[1] M. Marchenko. PARMONC - A Software Library for Massively Parallel Stochastic Simulation // Lecture Notes in Computer Science Volume 6873, 2011, pp. 302-316 скачать статью в pdf-формате

[2] Марченко М.А. БИБЛИОТЕКА PARMONC ДЛЯ РЕШЕНИЯ «БОЛЬШИХ» ЗАДАЧ ПО МЕТОДУ МОНТЕ-КАРЛО // Вестник ННГУ, 2012, № 5(2), с. 392-397 скачать статью в pdf-формате

[3] Страница библиотеки на сайте Сибирского суперкомпьютерного центра: http://www2.sscc.ru/soran-intel/paper/2011/parmonc.htm

[4] Документация для библиотеки PARMONC

 

Rambler's Top100