Page 29 - 6601
P. 29
Л Ла аб бо ор ра ат то ор рн на а р ро об бо от та а №2
№2
Тема роботи: Створення простих паралельних програм з
використанням бібліотек МРІ.
Мета роботи: Освоєння навиків використання основних
функцій бібліотеки МРІ.
2.1 Основні теоретичні відомості
MPI - message passing interface - бібліотека функцій, та пакет
утіліт, призначених для підтримки роботи паралельних процесів в
термінах передачі повідомлень.
Номер процесу - ціле додатнє число, що є унікальним
атрибутом кожного процесу.
Атрибути повідомлення - номер процесу-відправника, номер
процесу-одержувача і ідентифікатор повідомлення. Для них
заведена структура MPI_Status, що містить три поля: MPI_Source
(номер процесу відправника), MPI_Tag (ідентифікатор
повідомлення), MPI_Error (код помилки); можуть бути і додаткові
поля.
Ідентифікатор повідомлення (msgtag) - атрибут
повідомлення, що є цілим додатнім числом, що лежить в діапазоні
від 0 до 32767.
Процеси об'єднуються в групи, можуть бути вкладені групи.
Усередині групи всі процеси перенумеровані. З кожною групою
асоційований свій комунікатор. Тому при здійсненні пересилки
необхідно вказати ідентифікатор групи, усередині якої проводиться
ця пересилка. Всі процеси містяться в групі з визначеним
ідентифікатором MPI_COMM_WORLD.
При описі процедур MPI користуватимемося словом OUT
для позначення "вихідних параметрів", тобто таких параметрів,
через які процедура повертає результати.
2.1.1 Загальні процедури MPI
int MPI_Init( int* argc, char*** argv)
MPI_Init - ініціалізація паралельної частини додатку.
Реальна ініціалізація для кожного додатку виконується не більше
одного разу, а якщо MPI вже ініціалізував, то ніякі дії не
виконуються і відбувається негайне повернення з підпрограми. Всі
27