Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Применение MPI для расчета






Расчет модели с одним ядром не дает достаточной скорости вычислений, поэтому обычная практика в таких случаях запускать расчет на нескольких узлах кластера. Это позволяет ускорить вычисления задач, решаемых прецизионными кодами, в разы. Расчет проводился на узле кластера с 80 Гб оперативной памяти и 32 нодами(вычислительными узлами). В задаче было задано 15 предварительных циклов по 50000 нейтронов для подготовки среды и 30 циклов расчетов. В работе продемонстрировано распараллеливание от 2 до 12 вычислительных узлов и соответствующее ускорение. Данное распараллеливание было проведено с помощью использования технологии MPI и планировщика задач PBS/Torque. Для этого был написан соответствующий скрипт для PBS, позволяющий проводить вычисления и запускать их в очередь(см. Приложение Б).

Для того, чтобы корректно запустить работу, необходимо было создать соответствующий скрипт. Сначала с помощью программы «touch» был создан пустой файл, после чего в этом файле были записаны все необходимые команды:

· «#PBS -N mcnp» — команда создания названия исполняемой работы для отображения в очереди;

· «#PBS -l nodes=node4.basnet.by: ppn=14» — количество используемых узлов и их имя в кластере;

· «#PBS -e mcnp_job.err» — имя для файла ошибок;

· «#PBS -o mcnp_job.log» — имя файла лога работы;

· «WORKDIR=/home/ivanton» — имя рабочей директории(где будет находиться исполняемый файл и выходные файлы)

· «INPUT=dipl» — имя входного файла модели;

· «NCORE=14» — суммарное количество используемых узлов;

Командой «cd `pwd`» программа переходила в домашний каталог пользователя. Команды «cat < < EOF >.mpd.conf» и «cat < < EOF > mpd.hosts» записывали в указанные файлы «MPD_SECRETWORD=mr45-j9z» и «node4». Данные файлы являются специальными и нужны для корректного запуска MPI.

Для корректной работы скрипта переда запуском программы необходимо было прописать расположение переменных среды, где находились библиотеки для MPI, исполняемые файлы среды, для чего в скрипт были добавлены следующие строки:

export PATH=$PATH: /opt/exp_soft/any/mpich2/1.5/bin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH: /usr/lib64/mpich/lib

export DATAPATH=/opt/exp_soft/nuclearby/mcnp/5/data

Команда «chmod +r mpd.hosts» давала всем пользователям право читать данный файл без ограничений. Команда «cd $WORKDIR» делала текущей директорией скрипта указанную рабочую директорию, а команда «mpirun -np $NCORE /opt/exp_soft/nuclearby/mcnp/5/bin/mcnp5.mpi i=$INPUT» запускала выполнение параллельного алгоритма.

Сам скрипт запускался с помощью команды «qsub имя_скрипта». Данная команда ставит исполнение скрипта в очередь задач и позволяет планировщику задач задать корректно выполнение команд, указанных в скрипте.

Последние две команды в скрипте удаляют промежуточные файлы. Команды, начинающиеся со знака «#», но без символов «PBS» — закомментированы.

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

Таблица 4.1 — Результаты моделирования АЭС на разном количестве вычислительных узлов

Количество узлов, шт.            
Затраченное время, сек.            
Прирост производительности   2, 5109 3, 5083 4, 196 4, 7841 5, 3745

 

Значение Keff при этом равнялось 1.00131, а дисперсия σ = 0.00071.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.