В данной работе мы познакомимся с организацией высокопроизводительных вычислений на уровне параллельных процессов. При этом большую задачу приходится разделить на несколько частей, а выполнение каждой части работы поручить отдельному процессу.Первые шаги мы рассмотрим подробно, а потом отпустим читателя в свободное плавание.
Приведённый ознакомительный фрагмент книги Организация параллельных процессов. Учебное пособие предоставлен нашим книжным партнёром — компанией ЛитРес.
Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других
2. Установка библиотеки MPI
В данной работе мы рассмотрим работу в среде Microsoft Visual Studio Community Edition — бесплатной для учебных и некоммерческих целей. В предыдущих работах мы рассмотрели процедуру установки Visual Studio [10]. Желающие могут использовать любой другой компилятор м поддержкой MPI.
Компилятор позволяет организовать вызовы библиотечных функций MPI. Но для этого потребуется установить библиотеку MPI. В данной работе мы рассмотрим работу с библиотекой MPICH. Это одна из реализаций стандарта MPI. Желающие могут использовать любую другую библиотеку MPI.
Задание. Прочитайте в Википедии статью «MPICH» и выясните, какие известные компании участвовали в разработке и как расшифровывается название библиотеки.
Процедура установки библиотеки MPI в общих чертах демонстрируется в ролике [15]. Далее мы разберём каждый шаг установки более подробно.
Задание. Посмотрите видеоролик [15].
Нам нужно скачать и установить библиотеку MPICH2. Переходим на сайт проекта:
http://www.mpich.org/
Переходим в раздел Downloads.
Находим ссылку на предыдущие выпуски:
Older releases are available here (рис.2.1).
Рис. 2.1. Сайт проекта
Переходим по указанной ссылке и получаем список разных версий (рис. 2.2).
Рис. 2.2. Версии библиотеки
При первом знакомстве с библиотекой начнём с чего-нибудь простого. Последние версии предлагаются в виде исходных текстов. Мы будем искать предыдущие версии с готовой программой установки MSI. Но для начала разберёмся, что означает это слово из трёх букв.
Задание. Прочитайте в Википедии статью «Установщик Windows» и выясните, что такое MSI.
Нас интересует программа-установщик приложения для ОС Microsoft Windows.
Мало того, нас интересует 32-разрядная версия библиотеки.
Даже если на компьютере 64-разрядная операционная система, мы всё-таки поставим 32-разрядную версию. И в среде разработки мы будем разрабатывать 32-разрядные приложения Win32.
Конечно, желающие могут установить что-нибудь 64-разрядное. Мы здесь просто разбираем сквозной работающий пример, на базе которого можно развить свои собственные идеи — в любом направлении.
Итак, находим что-нибудь 32-разрядное (рис. 2.3).
В названии файла видим знакомые ключевые слова:
— Win;
— 32;
— msi.
Рис. 2.3. Выбор 32-разрядного установщика
Задание. Найдите и скачайте 32-разрядный установщик формата MSI.
Скачиваем установщик и запускаем его (рис. 2.4).
Может потребоваться дополнительное согласие на установку, если Windows 10 будет сомневаться в чистоте наших намерений и задавать разные вопросы.
Рис. 2.4. Начало установки
Нажимаем Next. Появляется привычное окно установки программы (рис. 2.5).
Но не будем торопиться и щёлкать по кнопкам OK — Next — Next — OK.
В данном случае можно узнать много полезного, если пролистать текст и попытаться понять написанное (см. задание ниже).
Только после этого можно с облегчением вздохнуть и нажать-таки Next.
Рис. 2.5. Окно установщика
Задание. Просмотрите текст в окне установщика и выясните следующее:
— Какие компиляторы C/C++ поддерживает данная библиотека?
— Какие каталоги будут созданы?
— Где будут размещена библиотеки DLL?
— Какие настройки нужно сделать в компиляторе?
— Что нужно сделать при запуске программы на нескольких машинах?
— Как запустить параллельное приложение?
— В чём заключается минимальная установка?
— Как выполнить запуск из сетевого каталога?
В следующем окне появляется лицензионное соглашение (рис. 2.6).
Такой текст мало кто дочитывает до конца, а зря.
Здесь тоже можно кое-что для себя почерпнуть (см. задание).
Только после выполнения задания выбираем согласие с условиями I agree и нажимаем кнопку Next.
Рис. 2.6. Лицензионное соглашение
Задание. Изучите лицензионное соглашение и выясните следующее:
— Что нам разрешается делать с данной библиотекой?
— От каких претензий отказываются разработчики в разделе Disclaimer?
На следующем нам предлагают установить пароль Pass Phrase (рис. 2.7).
При этом пояснения занимают аж четыре строчки. И это не просто слова, а полезная информация.
Здесь нам сообщают несколько важных моментов:
Установку нужно делать с правами администратора.
Будет установлена системная служба (service) под названием SMPD. Она нужна для работы параллельного приложения MPI.
Пароль должен быть одинаковым на всех компьютерах, на которых будем запускать нашу параллельную программу.
Другими словами, мы запускаем одну программу, а выполняются несколько процессов на нескольких компьютерах. Но работать они будут как одна большая программа. И мы это проделаем.
Пароль запомним на будущее. А лучше запишем на стикере и приклеим на монитор. Так обычно поступают начинающие пользователи. Так они надеются обеспечить безопасность компьютерной системы.
Чтобы легче было запомнить этот сложный пароль, можно послушать популярную песенку «Don’t Worry, Be Happy» и почитать её историю где-нибудь в сети.
Рис. 2.7. Задание пароля
Задание. Установите и запишите пароль.
Судя по непроверенным сообщениям из достоверных источников в интернете, SMPD расшифровывается как Simple Multi-Purpose Daemon. Они же утверждают, что эта служба относится к средствам управления процессами — Process managers. Эта часть названия более-менее понятна.
Название заканчивается словом Daemon. Интересно, про каких таких «демонов» здесь идёт речь? Программисты обожают образные названия. А ещё в компьютерах встречаются «сироты», «зомби» и другие явления природы.
Задание. Прочитайте в Википедии статью «Демон (программа)» и выясните, что компьютерщики называют словом «демон» и как появился этот термин.
Нажимаем кнопку Next.
Получаем новое диалоговое окно (рис. 2.8).
Мы выбираем каталог для установки библиотеки.
Обратим внимание на выбор по умолчанию:
C:\Program Files (x86) \MPICH2\
Это ещё одно подтверждение того, что мы устанавливаем именно 32-разрядную версию.
Рис. 2.8. Каталог для установки
Задание. Обратите внимание на каталог для установки и запишите его в отчёт.
Напомним, что нам желательно следить за разрядностью во всех её проявлениях:
— компьютер;
— операционная система;
— компилятор;
— библиотека;
— прикладная программа.
При этом на 64-разрядный компьютер можно установить 64-разрядную ОС. А прикладные программы могут быть и 32 — и 64-разрядными.
Что бы всё окончательно запутать, прикладные программы устанавливаются в каталог Program Files.
Если у нас 64-разрядная ОС, в этот каталог будут установлены 64-разрядные приложения. А вот каталог Program Files (x86) предназначен для 32-разрядных программ (рис. 2.9).
При этом в 32-разрядной ОС программы 32-разрядные, и они устанавливаются в каталог Program Files.
В нашем примере (рис. 2.9) можно видеть, что компьютер и ОС 64-разрядные, а каталоги есть для обоих типов программ.
Рис. 2.9. Разрядность ОС и программ
Задание. Изучите свойства системы и каталоги для установки прикладных программ на своём компьютере.
Если говорить об установке приложений, x86 прозрачно намекает на 32-разрядные программы. Эта традиция сложилась исторически. Дело было давно, когда невозможно было даже мечтать о 64 разрядах.
Задание. Прочитайте в Википедии статью «x86» и выясните, как появилось такое обозначение.
Нажимаем кнопки Next — Next и следим за процессом установки.
Читаем сообщение о завершении установки (рис. 2.10).
Похоже, в дальнейшем нам придётся установить ещё кое-что, но об этом потом.
Нажимаем кнопку Close.
Рис. 2.10. Завершение установки
Задание. Установите библиотеку MPICH.
Рассмотрим содержимое каталога MPICH2 (рис. 2.11).
Нас будут интересовать три каталога:
— bin;
— include;
— lib.
Они нам понадобятся при настройке компилятора.
Ещё один полезный каталог называется examples. Судя по названию, здесь находятся примеры использования данной библиотеки. Примеры — во множественном числе. Угадайте с одного раза, сколько примеров можно найти в каталоге examples?
Рис. 2.11. Каталог MPICH2
Задание. Изучите содержимое каталога examples.
Приведённый ознакомительный фрагмент книги Организация параллельных процессов. Учебное пособие предоставлен нашим книжным партнёром — компанией ЛитРес.
Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других