Читайте также:
|
|
Якщо сформулювати коротко, MPI - це бібліотека функцій, що забезпечує взаємодію паралельних процесів за допомогою механізму передачі повідомлень. Це досить об'ємна і складна бібліотека, що складається приблизно з 130 функцій, до числа яких входять:
1) Функції ініціалізації та закриття MPI процесів.
2) Функції, що реалізують комунікаційні операції типу точка-точка.
3) Функції, що реалізують колективні операції.
4) Функції для роботи з групами процесів і комунікаторами.
5) Функції для роботи зі структурами даних.
6) Функції формування топології процесів.
Набір функцій бібліотеки MPI далеко виходить за рамки набору функцій, мінімально необхідних для підтримки механізму передачі повідомлень, в обчислювальних задачах малої і середньої складності. Проте складність цієї бібліотеки не повинна лякати користувачів, оскільки, в кінцевому підсумку, всі ці безліч функцій призначені для полегшення розробки ефективних паралельних програм. Врешті-решт, користувачеві належить право самому вирішувати, які кошти з наданого арсеналу використовувати, а які ні. У принципі, будь-яка паралельна програма може бути написана з використанням всього 6 MPI функцій, а досить повне і зручне середовище програмування становить набір з 24 функцій. Кожна з MPI функцій характеризується способом виконання:
1) Локальна функція - виконується всередині що викликає процес. Її завершення не вимагає комунікацій.
2) Нелокальна функція - для її завершення потрібно виконання MPI-процедури іншим процесом.
3) Глобальна функція - процедуру повинні виконувати всі процеси групи. Недотримання цієї умови може приводити до зависання завдання.
4) Блокуюча функція - повернення управління з процедури гарантує можливість повторного використання параметрів, що беруть участь у виклику. Ніяких змін у стані процесу, що викликав блокуючий запит, до виходу з процедури не може відбуватися.
5) Неблокуюча функція - повернення з процедури відбувається негайно, без очікування закінчення операції і до того, як буде дозволено повторне використання параметрів, що беруть участь у запиті. Завершення неблокуючих операцій здійснюється спеціальними функціями.
У мові FORTRAN більшість MPI-процедур є підпрограми (викликаються за допомогою оператора CALL), а код помилки повертають через додатковий останній параметр процедури. Кілька процедур, оформлених у вигляді функцій, код помилки не повертають. Не потрібно суворого дотримання регістру символів в іменах підпрограм і іменованих констант. Масиви індексуються з 1. Нижче наведено відповідність наперед визначених в MPI типів стандартним типам мови FORTRAN.
Тип MPI Тип мови FORTRAN
MPI_INTEGER INTEGER
MPI_REAL REAL
MPI_DOUBLE_PRECISION DOUBLE PRECISION
MPI_COMPLEX COMPLEX
MPI_LOGICAL LOGICAL
MPI_CHARACTER CHARACTER (1)
MPI_BYTE
MPI_PACKED
Вивчення MPI почнемо з розгляду базового набору з 6 функцій, що утворюють мінімально повний набір, достатній для написання найпростіших програм.
Дата добавления: 2015-01-05; просмотров: 119 | Поможем написать вашу работу | Нарушение авторских прав |