Для выполнения лабораторных работ используется WMPI-1.3 – полная реализация стандарта Message Passing Interface для платформы Microsoft Win32, разработанная в университете Coimbra (Португалия). Это единственная бесплатная реализация, позволяющая реализовать работу коллектива персональных компьютеров начиная с Windows’98. Библиотека откомпилирована для использования с Microsoft Visual C++ 6 и Digital Visual Fortran 6.0. Необходимые файлы:
wmpi_daemon.exe | Загрузчик параллельных программ, необходим для удаленного запуска WMPI-приложений |
cwmpi.dll | Динамическая библиотека функций WMPI. |
bcwmpi.lib, cvwmpi.lib, cdvlibf.lib | Переходные библиотеки для компоновки с Borland C++ (Builder), Microsoft Visual C++ и Visual Fortran соотвественно. |
mpi.h | Заголовочные файлы. |
program.pg | Файл, описывающий коллектив компьютеров, на которых будет организована работа параллельного приложения. |
program.c | Исходный текст программы |
Для компиляции программ, использующих WMPI, с помощью Borland C++, необходимо: написать консольное приложение (например, program.c), скопировать в рабочую папку файлы «mpi.h» и «bcwmpi.lib», и в командной строке набрать: bcc32 program.c bcwmpi.lib.
Для компиляции программ, использующих WMPI, с помощью Visual Fortran, необходимо: создать проект консольного приложения, присоединить к нему библиотеки «cvwmpi.lib» и «cdvlibf.lib», установить: Project Settings Fortran Libraries: Multithreaded DLL.
Для компиляции программ, использующих WMPI, с помощью Visual С++, необходимо создать проект консольного приложения, присоединить к нему библиотеку «cvwmpi.lib», установить: Project Settings C Libraries: Multithreaded DLL.
Для запуска программ, использующих WMPI, необходимо описать в файле «program.pg» рабочую группу компьютеров, например:
local 0 Lab40-2 1 c:\wmpi\myname\program.exe Lab40-3 1 c:\wmpi\myname\program.exe Lab40-4 1 c:\wmpi\myname\program.exe
Предполагается, что пользователь работает на машине Lab40-1. На машинах Lab40-2, Lab40-3, Lab40-4 должен быть запущен сервис wmpi_daemon.exe. К папкам «c:\wmpi\myname» на этих машинах должен быть открыт пользователю полный лоступ. В эти папки должны быть помещены копии исходной программы, созданной на машине пользователя L40-1. Можно объединить компиляцию и рассылку программы в одном bat-файле:
bcc32 program.c bcwmpi.lib copy program.exe Lab40-2\\c:\wmpi\myname\program.exe copy program.exe Lab40-3\\c:\wmpi\myname\program.exe copy program.exe Lab40-4\\c:\wmpi\myname\program.exe
После выполнения подготовительных действий, достаточно на машине пользователя запустить программу «program.exe». В случае «зависания» программы необходимо принудительно завершить работу параллельного приложения на всех машинах коллектива.