Консультация № 184764
12.12.2011, 23:58
93.89 руб.
0 2 0
Уважаемые эксперты! Пожалуйста, ответьте на вопрос:Помогите написать программу на языке Фортран под Юникс.
Распараллелить исходный линейный участок программы на языке ФОРТРАН:
J=H+Y+F+P+Q+O+B+S+X+U
E=B+Z
B=X
B=T+A+U+Y+S+R+G+P+L
T=L+Q+D+N+Z
P=S+Z+M+O+K+L+H+E+T+Y
B=V+U+G+Q+P+T+I
J=G
A=J+G
R=Y
L=O+M+K+V+T
M=V+S+K
T=H+K+S+N+Q+Z
P=T+R+S+J
Y=B+P+M+T+X+V+O+F

Приложение:
ПРИМЕР ВЫПОЛНЕННОЙ РАБОТЫ
Исходный линейный участок
J=I+U+R
U=C+F
Q=H+K+Q
B=V+B+I
V=Q+H
S=Z+R+T+U+F+W+G
W=G+N
Z=B+C+S
V=Q+H
S=Z+R+T+U+F+W+G
W=G+N
Z=O+P+C
A=E+N+Y
Z=B+C+S
U=C+F
Q=T+H+K
B=Q+V+B
V=S+K+B
D=D+V+H
Текст программы
позиции
1234567
I=1.0
U=2.0
R=3.0
C=4.0
F=5.0
H=6.0
K=7.0
Q=8.0
Z=9.0
T=10.0
W=11.0
G=12.0
N=13.0
O=14.0
P=15.0
E=16.0
Y=17.0
D=19.0
V=20.0
B=21.0
\
J=I+U+R
U=C+F
Q=H+K+Q
B=V+B+I
V=Q+H
S=Z+R+T+U+F+W+G
W=G+N
Z=B+C+S
V=Q+H
S=Z+R+T+U+F+W+G
W=G+N
Z=O+P+C
A=E+N+Y
Z=B+C+S
U=C+F
Q=T+H+K
B=Q+V+B
V=S+K+B
D=D+V+H
\
1 3 4
2 5
6
7 8 9
10
11 12 13
14 15 16
17
18
19

Результат выполнения программы
Исходные данные
Инициализация переменных
A= 1.000
B= 2.000
C= 3.000
D= 4.000
E= 5.000
F= 6.000
G= 7.000
H= 8.000
I= 9.000
J= 10.000
K= 11.000
L= 12.000
M= 13.000
N= 14.000
O= 15.000
P= 16.000
Q= 17.000
R= 18.000
S= 19.000
T= 20.000
U= 21.000
V= 22.000
W= 23.000
X= 24.000
Y= 25.000
Z= 26.000
Последовательная программа
1 Q=R+G+J
2 L=D+K+L
3 D=S+N
4 A=M+L+X
5 Z=V+N+B
6 A=Y+X+I
7 J=I+U+R
8 P=W+Q+P
9 W=G+N+Q
10 G=Q+T+U
11 Z=O+P+C
12 A=E+N+Y
13 H=G+I+F
14 S=Q+F+Z
15 M=U+N+X
Матрица параллельной формы, предложенная пользователем
1 2 5
3 4 7
6 8
9
10 11 12
13 14 15
Выполнение последовательной программы
Значения переменных
A= 44.000
B= 2.000
C= 3.000
D= 33.000
E= 5.000
F= 6.000
G= 76.000
H= 91.000
I= 9.000
J= 48.000
K= 11.000
L= 27.000
M= 59.000
N= 14.000
O= 15.000
P= 74.000
Q= 35.000
R= 18.000
S= 133.000
T= 20.000
U= 21.000
V= 22.000
W= 56.000
X= 24.000
Y= 25.000
Z= 92.000
Выполнение параллельной программы
Значения переменных
A= 44.000
B= 2.000
C= 3.000
D= 33.000
E= 5.000
F= 6.000
G= 76.000
H= 91.000
I= 9.000
J= 48.000
K= 11.000
L= 27.000
M= 59.000
N= 14.000
O= 15.000
P= 74.000
Q= 35.000
R= 18.000
S= 133.000
T= 20.000
U= 21.000
V= 22.000
W= 56.000
X= 24.000
Y= 25.000
Z= 92.000
Результаты последовательных и параллельных вычислений совпадают
Операторы 4 и 2 информационно зависимы по переменной L
Операторы 8 и 1 информационно зависимы по переменной Q
Операторы 9 и 1 информационно зависимы по переменной Q
Операторы 10 и 1 информационно зависимы по переменной Q
Операторы 11 и 8 информационно зависимы по переменной P
Операторы 13 и 10 информационно зависимы по переменной G
Операторы 14 и 11 информационно зависимы по переменной Z
Операторы 14 и 1 информационно зависимы по переменной Q
Операторы 3 и 2 конкуренционно зависимы по переменной D
Операторы 6 и 4 конкуренционно зависимы по переменной A
Операторы 7 и 1 конкуренционно зависимы по переменной J
Операторы 9 и 8 конкуренционно зависимы по переменной W
Операторы 10 и 9 конкуренционно зависимы по переменной G
Операторы 11 и 5 конкуренционно зависимы по переменной Z
Операторы 12 и 6 конкуренционно зависимы по переменной A
Операторы 12 и 4 конкуренционно зависимы по переменной A
Операторы 14 и 3 конкуренционно зависимы по переменной S
Операторы 15 и 4 конкуренционно зависимы по переменной M
Результат автоматического распараллеливания
1 Ярус
Оператор 1
Оператор 2
Оператор 5
2 Ярус
Оператор 3
Оператор 4
Оператор 7
Оператор 8
3 Ярус
Оператор 6
Оператор 9
Оператор 11
Оператор 15
4 Ярус
Оператор 10
Оператор 12
Оператор 14
5 Ярус
Оператор 13
Лабораторная работа выполнена
Завершение работы программы

Обсуждение

давно
Посетитель
276566
297
15.12.2011, 22:22
общий
Здравствуйте! Можете закрыть данный вопрос.
давно
Посетитель
276566
297
16.12.2011, 23:11
общий
Здравствуйте! Можете закрыть консультации по вопросам 184764 и 184763.
Форма ответа