Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Распараллеливание программ. Учебник
.pdf
81
2
2
Доказательство.
Пример 87
for(i=1; i <= N; ++i)
for(j=1; j <= M; ++j)
{
{
X[j] = Y[i-1,j]*Z[i-1]
}
{
Y[i,j] = Y[i,j-1]*D[j];
Z[i] = 1
}
}
Конец примера.

82
Пример 88.
for(i=1; i <= N; ++i)
for(j=1; j <= M; ++j)
{
a[j] = b[i,j]*c[i,j]
x[i,j] = a[j]*d[i,j];
}
for(i=1; i <= N; ++i)
for(j=1; j <= M; ++j)
{
aa[i,j] = b[i,j]*c[i,j]
x[i,j] = aa[i,j]*d[i,j];
}
for(j=1; j <= M; ++j)
{
a[j] = aa[N,j];
}
Конец примера.

83
Пример 89.
for(i=1; i <= N; ++i)
for(j=1; j <= M; ++j)
{
a[j] = a[j]+b[i,j]*c[i,j]
x[i,j] = a[j]*d[i,j];
}
for(k=1; k <= p; ++k)
for(l=1; l <= R; ++l)
for(j=1; j <= M; ++j)
{
i = (k-1)*R+l
a[j] = a[j]+b[i,j]*c[i,j]
x[i,j] = a[j]*d[i,j];
}
for(k=1; k <= p; ++k)
for(l=1; l <= R; ++l)
for(j=1; j <= M; ++j)
{
i = (k-1)*R+l
aa[k,j] = aa[k,j]+b[i,j]*c[i,j]
x[i,j] = aa[k,j]*d[i,j];
}
Конец примера.
uv

84
u vu
v
Пример 90.
{
for(i=1; i <= N; ++i)
for(j=1; j <= N; ++j)
{
a[i+j] = …
= … a[i+j-1];
}
}
Рис. 4. Решетчатый граф, построенный с помощью ОРС. Зеленые дуги – истинная
зависимость, красные – антизависимость, синие – выходная самозависимость
Конец примера.
Пример 91.
{
for(i=1; i <= M; ++i)
for(j=1; j <= N; ++j)
{
= … a;

85
a = …
}
}
{
for(i=1; i <= M; ++i)
{
aa[0] = a
for(j=1; j <= N; ++j)
{
= … aa[j-1];
aa[j] = …
}
a = aa[N]
}
}
{
aaa[0] = a
for(i=1; i <= M; ++i)
{
aa[0] = aaa[i-1]
for(j=1; j <= N; ++j)
{
= … aa[j-1];
aa[j] = …
}
aaa[i] = aa[N]
}
a = aaa[M]
}
Конец примера.

86
Пример 92.
DO 99 I = 1, N
X(I) = A(I)+B(I)
A(I) = C(I)+D(I).
Y(I) = X(I)*Z(I)
V(I) = A(I)*U(I).
W(I) = C(I)*D(I)
B(I) = Z(I)+D(I).
99 CONTINUE
DO 99 I = 1, N
X(I) = A(I)+B(I) ; W(I) = C(I)*D(I)
A(I) = C(I)+D(I); Y(I) = X(I)*Z(I)
V(I) = A(I)*U(I); B(I) = Z(I)+D(I).
99 CONTINUE
Конец примера.
Пример 93.
DO 99 I = 1, N
X(I) = A(I)+B(I)
Y(I) = X(I)*D(I).
99 CONTINUE
DO 99 I = 1, N, 3
1 X(I) = A(I)+B(I)
2 Y(I) = X(I)*D(I).
3 X(I) = A(I+1)+B(I+1)
4 Y(I) = X(I+1)*D(I+1).
5 X(I) = A(I+2)+B(I+2)
6 Y(I) = X(I+2)*D(I+2).

87
99 CONTINUE
DO 999 I = (N//3)*3+1, N
X(I) = A(I)+B(I)
Y(I) = X(I)*D(I).
999 CONTINUE
Конец примера.
Пример 94.
DO 77 I = 1, N
X(I) = A(I)+B(I)
Y(I) = С(I)-D(I).
77 CONTINUE
DO 99 I = 1, N
Z(I) = A(I)*B(I)
T(I) = X(I)*Z(I).
99 CONTINUE
DO 77 I = 1, N
X(I) = A(I)+B(I);
Z(I) = A(I)*B(I)
Y(I) = С(I)-D(I);
T(I) = X(I)*Z(I).
99 CONTINUE
Конец примера.

88
Пример 95.
DO 99 I = 1, N
X(I) = C(I)+B(I);
DO 99 J = 1, N
A(J) = A(J) + D(I,J)*X(I);
99 CONTINUE
Конец примера.
Пример 96.
DO 99 I = 1, N
X(I) = A(I)+B(I);
A(I) = C(I+1)+X(I);

89
A(I-1) = X(I-1)*B(I+3);
99 CONTINUE
Конец примера.
КОНВЕЙЕРНЫЕ ВЫЧИСЛЕНИЯ

90
Пример 97.
X = (X*A(I)+B(I))+C(I)
X * + + X
A(I) B(I) C(I)
Рис. 5. Дерево вычислений
DO 99 I=1, N
99 ТЕЛОЦИКЛА(I) (14)
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
