Параллельные вычисления. Баканов В.М. - 92 стр.

UptoLike

Составители: 

- 92 -
Присутствуют избыточные
вычисления
Избыточные вычисления
отсутствуют
for(i=0;i<i_max;i++)
for(j=0;j<j_max;j++)
a[i][j]=false;
for(i=0;i<i_max;i++)
for(j=0;j<j_max;j++)
if((i+j)%2)
a[i][j]=true;
for(i=0;i<i_max;i++)
for(j=0;j<j_max;j++)
if((i+j)%2)
a[i][j]=true;
else
a[i][j]=false;
Кроме избыточных вычислений можно говорить и об избыточных пере-
сылках данных (обменах информацией); минимизация обменов данными
особенно важна для вычислительных систем с распределенной памятью (из-
за относительно больших временных задержек при передаче сообщений ин-
тенсивность взаимодействия процессоров должна быть минимальной). На
рис.25 приведена упрощенная схема ленточного алгоритма
вычисления од-
ного из прямоугольных бло-
ков результирующей матри-
цы [C]. Согласно этому ал-
горитму каждому процессо-
ру МВС пересылается ряд
строк a
ik
, где i=i1…i2,
k=1…k
max
(горизонтальная
лента) элементов матрицы
[A] и ряд столбцов (верти-
кальная лента) b
kj
, где
k=1…k
max
, j=j1…j2 элемен-
тов матрицы [B], процессор
вычисляет значение элемен-
тов одного из прямоуголь-
ных блоков результирующей
матрицы [C]=[A]
×
[B] как
for(i=i1; i<i2; i++)
for(j=j1; j<j2; j++)
for(c[i][j] = 0.0, k=0;
k<k_max; k++)
(9)
c[i][j] += a[i][k] * b[k][j];
Рисунок 25 Схема ленточного алгоритма умноже-
ния матриц [A]
×
[B]=[C]
                                        - 92 -



              Присутствуют избыточные            Избыточные вычисления
              вычисления                         отсутствуют

              for(i=0;i