Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab5.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
354 Кб
Скачать
☆

2. Хід роботи

  1. Ознайомитися з теоретичними відомостями.

  2. В додатку до лабораторної роботи наведено дві програми на мові програмування С: matrs.c та matromp.c. Програма matrs.c реалізовує послідовний алгоритм множення двох матриць, програма matromp.c – паралельний алгоритм множення двох матриць з використанням технології OpenMP. Модифікувати обидві програми згідно з варіантом, отриманим у викладача, змінити розмір і вміст матриць (любий вміст) А і В.

  3. Переписати модифіковані програми на паралельний комп’ютер Marabu та скомпілювати їх. Командна стрічка для компіляції послідовної програми gcc matrs.c -o matrs.

Командна стрічки для компіляції паралельної програми з використанням технології OpenMP gcc matromp.c -o matromp –fopenmp.

  1. Завантажити на виконання послідовну програму і скопіювати результат її виконання у звіт. Наприклад, для матриць розміром 4х4, цей результат може виглядати наступним чином як показано на рис. 5.1.

Рис. 5.1. Результат виконання послідовної програми

  1. Завантажити на виконання паралельну програму і виконати її на кількості потоків 1..np, де np має бути меншим розміру любої з матриць Size. Змінна np задається в програмі та використовується як параметр функції omp_set_num_threads. Наприклад, для паралельної програми з матрицею розміром 4х4, результати роботи паралельної програми на 1, 2 та 4-х потоках можуть виглядати наступним чином як показано на рис. 5.2 - 5.4.

Рис. 5.2. Результат виконання паралельної програми на 1 потоці

Рис. 5.3. Результат виконання паралельної програми на 2 потоках

Рис. 5.4. Результат виконання паралельної програми на 4 потоках

  1. Обчислити прискорення та ефективність розпаралелення, використовуючи дані про час роботи паралельної програми з проведених вище експериментів.

3. ЗМІСТ ЗВІТУ

  1. Короткі теоретичні відомості.

  2. Лістинги змінених послідовної та паралельної програм.

  3. Копії екранів з результатами виконання програм.

  4. Графіки прискорення та ефективності розпаралелення.

  5. Висновки.

4. Контрольні запитання

  1. Для програмування яких обчислювальних систем використовується стандарт OpenMP?

  2. Складовi частини стандарту OpenMP.

  3. Прагми OpenMP.

  4. Функцiї та змiннi середовища OpenMP.

  5. Директива for.

  6. Спільні і приватні змінні в паралельних блоках.

  7. Параметр private.

  8. Параметр firstprivate.

  9. Параметр lastprivate.

  10. Параметр reduction.

5. Варіанти індивідуальних завдань

№ варіанту

Розмір матриці

2

3

5

6

7

8

2

3

5

6

7

8

2

3

5

6

7

8

2

3

5

6

7

8

2

3

5

6

7

8

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]