Ознайомлення з технологією паралельного програмування засобами МРІ

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2024
Тип роботи:
Лабораторна робота
Предмет:
Паралельні та розподілені обчислення

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки Національний університет “Львівська політехніка” Кафедра ЕОМ / Звіт з лабораторної роботи № 1 з дисципліни: “Паралельні та розподілені обчислення” на тему: “Ознайомлення з технологією паралельного програмування засобами МРІ” Мета лабораторної роботи Вивчити основні поняття та визначення МРІ. Набути навиків розробки паралельних програм з використанням MPI. Теоретичні відомості У обчислювальних системах з розподіленою пам'яттю процесори працюють незалежно один від одного. Для організації паралельних обчислень в таких умовах необхідно мати можливість розподіляти обчислювальне навантаження і організувати інформаційну взаємодію (передачу даних) між процесорами. Одним з способів взаємодії між паралельними процесами є передача повідомлень між ними, що відображено в самій назві технології МРІ (message passing interface) – інтерфейс передачі повідомлень. Для розподілу обчислень між процесорами необхідно проаналізувати алгоритм розв’язку задачі, виділити інформаційно незалежні фрагменти обчислень, виконати їх програмну реалізацію і розмістити отримані частини програми на різних процесорах. В MPI використовуються простіший підхід - для виконання завдання розробляється одна програма, яка запускається одночасно на виконання на всіх наявних процесорах. При цьому для того, щоб уникнути ідентичності обчислень на різних процесорах, можна, по-перше, підставляти різні дані для програми на різних процесорах, а по-друге, використовувати наявні в MPI засоби для ідентифікації процесора, на якому виконується програма (тим самим надається можливість організувати відмінності в обчисленнях залежно від використовуваного програмою процесора). Інтерфейс МРІ підтримує реалізацію програм для MIMD систем (Multiple Instructions Multiple Data), проте відлагодження таких програм є не тривіальною задачею. Тому на практиці для написання програм в більшості випадків застосовується SPMD (single program multiple processes) модель паралельного програмування - "одна програма безліч процесів". Завдання Встановити та налаштувати бібліотеку МРІ для розробки програм у середовищі програмування Microsoft Visual Studio 2005. Написати програму обміну повідомлень між процесами з використанням МРІ. Кожен процес має визначати свій ранг та пересилати його значення головному процесу. Головний процес повинен виводити отримане значення на екран. Виконати розроблену програму для різної кількості процесів. Зробити висновок про порядок прийому повідомлень головним процесом та звернути увагу на його зміну від виклику до виклику розробленої програми. Варіант № Кількість процесів 1 Кількість процесів 2  2 8 22   Код програми #include <stdio.h> #include <mpi.h> int main(int argc, char *argv[]) { int ProcNum, ProcRank, RecvRank; MPI_Status Status; MPI_Init(&argc, &argv); MPI_Comm_size(MPI_COMM_WORLD, &ProcNum); MPI_Comm_rank(MPI_COMM_WORLD, &ProcRank); if (ProcRank == 0) { printf("Hello from Mazurenko %d\n", ProcRank); for (int i = 1; i < ProcNum; i++) { MPI_Recv(&RecvRank, 1, MPI_INT, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &Status); printf("Hello from Mazurenko %d\n", RecvRank); } } else { MPI_Send(&ProcRank, 1, MPI_INT, 0, 0, MPI_COMM_WORLD); } MPI_Finalize(); return 0; } Результат виконання програми / Висновок На лабораторній роботі я вивчити основні поняття та визначення МРІ, набув навиків розробки паралельних програм з використанням MPI. Порядок прийому повідомлень головним процесом – довільний.
Антиботан аватар за замовчуванням

07.05.2017 15:05-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!