Page 50 - 6601
P. 50
№7
Л Ла аб бо ор ра ат то ор рн на а р ро об бо от та а №7
Тема роботи: Паралельне множення матриці на вектор.
Мета роботи: Вивчення паралельних алгоритмів матрично-
векторного множення та їх реалізація в середовищі МРІ.
7.1 Основні теоретичні відомості
Матриці і матричні операції широко використовуються при
математичному моделюванні найрізноманітніших процесів, явищ і
систем. Матричні обчислення складають основу багатьох наукових
і інженерних розрахунків в області обчислювальної математики,
фізики, економіки і ін. Будучи обчислювально-трудомісткими,
матричні обчислення є класичною задачею для застосування
паралельних обчислень.
Послідовні алгоритми матично-векторного множення
використовують класичні математичні методи, а при паралельній
реалізації алгоритмів однією із важливих задач є розподіл
фрагментів матриці між процесорами та подальша їх обробка.
Найбільш загальні і широко використовувані способи розділення
матриць полягають в розбитті даних на смуги (по вертикалі або
горизонталі).
В загальному випадку в результаті множення матриці А
розмірності n х m і вектора В, що складається з n елементів,
отримуємо вектор С розміру m, кожен i-тий елемент якого є
результат скалярного множення i-того рядка матриці А (позначимо
цей рядок a i) і вектора В:
n
i
c a ij b j , 1 i . m
j 1
Послідовний алгоритм множення матриці на вектор може
бути представлений наступним чином:
for (i = 0; i < m; i++)
{ c[i] = 0;
for (j = 0; j < n; j++)
{
48