Параллельное программирование в стандарте MPI. Баканов В.М - 74 стр.

UptoLike

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

- 74 -
VARIABLE a DEFINED ON OA DOUBLE.
VARIABLE b DEFINED ON OB DOUBLE.
VARIABLE c DEFINED ON OC DOUBLE.
DISTRIBUTION INDEX i=1..4, j=1. ! описание топологии многопроцессорной системы
FOR OC ASSUME c=SUM((Ok)a[i,k]
×
b[k,j]). ! коллективная операция
b
aс
kj
kMAXk
1k
ikij
×=
=
=
END PART. ! конец раздела Pmatpix
В синтезированном Fortran или С-коде по этой НОРМА-программе исход-
ные массивы распределяются по процессорам в виде горизонтальных лент
(по первому индексу), в случае
DISTRIBUTION INDEX k=1..4, i=1.
распределе-
ние происходит в виде вертикальных лент (по второму индексу); для доказа-
тельства этого полезно проанализировать синтезированные Fortran/С
тексты.
Окно синтезатора (программы, генерирующей исходные тексты програм-
мы на языках
Fortran/С на основе
НОРМА-текста) да-
но на рис.6.10 (про-
грамма синтезатора
norma.exe
функцио-
нирует в среде Win-
dows). Синтез про-
грамм инициируется
выбором соответст-
вующих вариантов в
выпадающем меню
Build
, выбор формата
выходной програм-
мы (варианты язы-
ков Fortran или C)
доступен в окне
Pro-
ject
Settings… Ge
neral
, каталоги рас-
положения отладоч-
ной (
Debug
) и рабо-
чей (
Release
) версий
синтезированной
программы определяются в окне
Project Settings… Local Directories.
Синте-
затор поддерживает также режим отладки (вариант
Debug
главного меню)
при наличии соответствующей поддержки.
Следует удостовериться, что в диалоговом окне
File Options…
корректно
указаны пути к файлам компилятора и конфигуратора (файлам
normapc.exe
и
normacnf.exe
соответственно, обычно находящимся в едином с
norma.exe
ка-
талоге). При появлении сообщения вида
--- (38) size of a 2000000 bytes grater
than size of message buffer 1024000 bytes
следует увеличить размер рабочего
Рисунок 6.10 Окно синтезатора Fortran/Спрограмм по ис-
ходному тексту на языке НОРМА.
                                           - 74 -

 VARIABLE a DEFINED ON OA DOUBLE.
 VARIABLE b DEFINED ON OB DOUBLE.
 VARIABLE c DEFINED ON OC DOUBLE.
 DISTRIBUTION INDEX i=1..4, j=1. ! описание топологии многопроцессорной системы
                                                                              k = kMAX
 FOR OC ASSUME c=SUM((Ok)a[i,k] × b[k,j]). ! коллективная операция   с ij =      ∑ a ik × bkj
                                                                                k =1
END PART. ! конец раздела Pmatpix

  В синтезированном Fortran или С-коде по этой НОРМА-программе исход-
ные массивы распределяются по процессорам в виде горизонтальных лент
(по первому индексу), в случае DISTRIBUTION INDEX k=1..4, i=1. распределе-
ние происходит в виде вертикальных лент (по второму индексу); для доказа-
тельства этого полезно проанализировать синтезированные Fortran/С –
тексты.
  Окно синтезатора (программы, генерирующей исходные тексты програм-
                                                    мы       на    языках
                                                    Fortran/С на основе
                                                    НОРМА-текста) да-
                                                    но на рис.6.10 (про-
                                                    грамма синтезатора
                                                    norma.exe функцио-
                                                    нирует в среде Win-
                                                    dows). Синтез про-
                                                    грамм инициируется
                                                    выбором соответст-
                                                    вующих вариантов в
                                                    выпадающем меню
                                                    Build, выбор формата
                                                    выходной програм-
                                                    мы (варианты язы-
                                                    ков Fortran или C)
                                                    доступен в окне Pro-
                                                                ject → Settings… → Ge
                                                               neral, каталоги рас-
                                                            положения отладоч-
Рисунок 6.10 — Окно синтезатора Fortran/С – программ по ис- ной (Debug) и рабо-
     ходному тексту на языке НОРМА.                         чей (Release) версий
                                                                синтезированной
программы определяются в окне Project → Settings… → Local Directories. Синте-
затор поддерживает также режим отладки (вариант Debug главного меню)
при наличии соответствующей поддержки.
  Следует удостовериться, что в диалоговом окне File → Options… корректно
указаны пути к файлам компилятора и конфигуратора (файлам normapc.exe и
normacnf.exe соответственно, обычно находящимся в едином с norma.exe ка-
талоге). При появлении сообщения вида --- (38) size of a 2000000 bytes grater
than size of message buffer 1024000 bytes следует увеличить размер рабочего