ВУЗ:
Составители:
Рубрика:
- 124 -
Ok: (k=1..kMAX).
OA: (Oi; Ok). ! определение двумерных областей
OB: (Ok; Oj).
OC: (Oi; Oj).
VARIABLE a DEFINED ON OA DOUBLE. ! определение переменных на областях
VARIABLE b DEFINED ON OB DOUBLE.
VARIABLE c DEFINED ON OC DOUBLE.
OUTPUT c(FILE='MMmatrix.out') ON OC. ! операция вывода результирующей матрицы [C]
DOMAIN PARAMETERS iMAX=500. ! определение констант
DOMAIN PARAMETERS jMAX=1000.
DOMAIN PARAMETERS kMAX=1000.
FOR OA ASSUME a=(i-1)+(k-1). ! коллективная операция для задания
FOR OB ASSUME b=(k-1)
×
(j-1). ! начальных значений элементам a[i][k] и b[k][j] матриц
COMPUTE Pmatrix(a ON OA, b ON OB RESULT c ON OC). ! вызов процедуры Pmatrix
END PART. ! конец основного раздела
PART Pmatrix. ! начало раздела Pmatrix
a,b RESULT c ! a,b - входные параметры, с - выходной
! тело процедуры Pmatrix
BEGIN
DOMAIN
PARAMETERS iMAX=500.
DOMAIN PARAMETERS jMAX=1000.
DOMAIN PARAMETERS kMAX=
1000.
Oi: (i=1..iMAX).
Oj: (j=1..jMAX).
Ok: (k=1..kMAX).
OA: (Oi; Ok).
OB: (Ok; Oj).
OC: (Oi; Oj).
VARIABLE a DEFINED ON OA DOUBLE.
VARIABLE b DEFINED ON OB DOUBLE.
VARIABLE c DEFINED ON OC DOUBLE.
DISTRIBUTION INDEX i=1..12, k=1. ! описание топологии многопроцессорной системы
FOR OC ASSUME c=SUM((Ok)a[i,k]
×
b[k,j]). ! коллективная операция
b
aс
kj
kMAXk
1k
ikij
×=
∑
=
=
END PART. ! конец раздела Pmatpix
- 124 - Ok: (k=1..kMAX). OA: (Oi; Ok). ! определение двумерных областей OB: (Ok; Oj). OC: (Oi; Oj). VARIABLE a DEFINED ON OA DOUBLE. ! определение переменных на областях VARIABLE b DEFINED ON OB DOUBLE. VARIABLE c DEFINED ON OC DOUBLE. OUTPUT c(FILE='MMmatrix.out') ON OC. ! операция вывода результирующей матрицы [C] DOMAIN PARAMETERS iMAX=500. ! определение констант DOMAIN PARAMETERS jMAX=1000. DOMAIN PARAMETERS kMAX=1000. FOR OA ASSUME a=(i-1)+(k-1). ! коллективная операция для задания FOR OB ASSUME b=(k-1) × (j-1). ! начальных значений элементам a[i][k] и b[k][j] матриц COMPUTE Pmatrix(a ON OA, b ON OB RESULT c ON OC). ! вызов процедуры Pmatrix END PART. ! конец основного раздела PART Pmatrix. ! начало раздела Pmatrix a,b RESULT c ! a,b - входные параметры, с - выходной ! тело процедуры Pmatrix BEGIN DOMAIN PARAMETERS iMAX=500. DOMAIN PARAMETERS jMAX=1000. DOMAIN PARAMETERS kMAX=1000. Oi: (i=1..iMAX). Oj: (j=1..jMAX). Ok: (k=1..kMAX). OA: (Oi; Ok). OB: (Ok; Oj). OC: (Oi; Oj). VARIABLE a DEFINED ON OA DOUBLE. VARIABLE b DEFINED ON OB DOUBLE. VARIABLE c DEFINED ON OC DOUBLE. DISTRIBUTION INDEX i=1..12, k=1. ! описание топологии многопроцессорной системы k = kMAX FOR OC ASSUME c=SUM((Ok)a[i,k] × b[k,j]). ! коллективная операция с ij = ∑ a ik × bkj k =1 END PART. ! конец раздела Pmatpix