DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

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

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

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
КН
Кафедра:
Кафедра електронних обчислювальних машин

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

Рік:
2017
Тип роботи:
Лабораторна робота
Предмет:
Паралельні та розподілені обчислення
Група:
КН-31
Коротко про документ

Про що ця робота

Звіт з лабораторної роботи присвячено вивченню технології паралельного програмування MPI. Наведено теоретичні відомості, завдання, код програми мовою C та результат виконання.

У роботі розглядаються

  • Паралельне програмування
  • Технологія MPI
  • Розподілена пам'ять
  • Обмін повідомленнями між процесами
  • Модель SPMD
  • Програмування на C

Зміст і розділи

  1. Мета лабораторної роботи
  2. Теоретичні відомості
  3. Завдання
  4. Код програми
  5. Результат виконання програми та висновок
Для кого:Студенти технічних спеціальностей вищих навчальних закладів
Викладачі:Лашко О.Л.

Ключові поняття

MPIпаралельні обчисленняповідомленнярангголовний процесSPMDрозподілена пам'ятьбазовий обмін

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

Міністерство освіти і науки Національний університет “Львівська політехніка” Кафедра ЕОМ / Звіт з лабораторної роботи № 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. Порядок прийому повідомлень головним процесом – довільний.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

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

Admin

26.02.2023 12:38

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