лабораторки MPI. Принципы работы mpi в операционной системе Windows Краткая теория
Скачать 0.61 Mb.
|
Запуск MPI-программДля запуска MPI-программ в комплект MPICH входит программа с графическим интерфейсом Wmpiexec, которая представляет собой оболочку вокруг соответствующей утилиты командной строки Mpiexec. К сожалению, Wmpiexec не всегда работает корректно, поэтому самый подходящий способ запускать MPI-программы — это пользоваться непосредственно Mpiexec. Однако, рассмотрим Wmpiexec, так как эта программа интуитивно понятнее. Окно программы Wmpiexec показано на рис. 1.2. (обратите внимание, что включён флажок «more options»). Рис. 1.2. Программа Wmpiexec Элементы управления окна имеют следующий смысл: Поле ввода «Application»: сюда вводится путь к MPI-программе. Как уже было сказано ранее, путь передаётся в неизменном виде на все компьютеры сети, поэтому желательно, чтобы программа располагалась в общей сетевой папке. «Number of processes»: число запускаемых процессов. По умолчанию процессы распределяются поровну между компьютерами сети, однако это поведение можно изменить при помощи конфигурационного файла. Кнопка «Execute» запускает программу; кнопка «Break» принудительно завершает все запущенные экземпляры. Флажок «run in a separate window» перенаправляет вывод всех экземпляров MPI-программы в отдельное консольное окно. Кнопка «Show Command» показывает в поле справа командную строку, которая используется для запуска MPI-программы (Wmpiexec — оболочка над Mpiexec). Командная строка собирается из всех настроек, введённых в остальных полях окна. Далее идёт большое текстовое поле, в которое попадает ввод-вывод всех экземпляров MPI-программы, если не установлен флажок «run in a separate window». Флажок «more options» показывает дополнительные параметры. «working directory»: сюда можно ввести рабочий каталог программы. Опять же, этот путь должен быть верен на всех вычислительных узлах. Если путь не указан, то в качестве рабочего каталога будет использоваться место нахождения MPI-программы. «hosts»: здесь можно указать через пробел список вычислительных узлов, используемых для запуска MPI-программы. Если это поле пустое, то используется список, хранящийся в настройках менеджера процессов текущего узла. «environment variables»: в этом поле можно указать значения дополнительных переменных окружения, устанавливаемых на всех узлах на время запуска MPI-программы. Синтаксис следующий: имя_1=значение_1, имя_2=значение_2. «drive mappings»: здесь можно указать сетевой диск, подключаемый на каждом вычислительном узле на время работы MPI-программы. Синтакис: Z:\\winsrv\wdir. «channel»: позволяет выбрать способ передачи данных между экземплярами MPI-программы. «extra mpiexec options»: в это поле можно ввести дополнительные ключи для командной строки Mpiexec. Пример работы MPI-программы К пакету MPICH прилагается образец MPI-программы: C:\Program Files\MPICH2\examples\cpi.exe (исходный код см. ниже). Это простая программа, приближённо вычисляющая значение числа Пи путём численного вычисления следующего интеграла:
Вначале запустим один, два, и четыре процесса на «головном» компьютере. Чтобы MPICH не распределял запускаемые процессы между имеющимися узлами, отключим работу с сетью; для этого существует ключ командной строки -localonly. При его добавлении менеджер процессов не используется. Это очень полезно, если по каким-либо причинам MPICH не удаётся настроить. Введите этот ключ в поле «extra mpiexec options». Получено следующее время вычисления на одном компьютере: 1 процесс — 1.424 секунды, 2 процесса — 0.7801 секунды, 4 процесса — 0.7766 секунды. Видно, что два процесса выполнили вычисления почти в 2 раза быстрее, чем один процесс, в то время как использование 4-х процессов не дало дальнейшего выигрыша в скорости. |