Алгоритмы параллельных вычислений и программирование. Бурова И.Г - 185 стр.

UptoLike

13) { netGalaxyNet(Nofg, TestGroupSize, NofB)g;
}
}
Система программирования mpC отображает виртуальные
процессоры абстрактной сети g на реальные параллельные процес-
сы, составляющие параллельную программу. При этом система ис-
пользует информацию о конфигурации и производительности фи-
зических процессоров и коммуникационных каналов и информацию
о параллельных алгоритмах.
Рассмотрим приведенный фрагмент программы по строкам.
1) nettype Galaxy(m,k,n[m]) вводится имя Galaxy сетевого
типа и список формальных параметров:
m, k скалярные величины типа целый;
n[m] вектор длины m;
2) coord I=m обьявляется координатная переменная I, изме-
няющаяся от 0 до m-1.
3) node{ I>=0; bench*((n[I]/k)*(n[I]/k)));}; виртуаль-
ные процессоры привязываются к этой системе координат; описы-
ваются объемы вычислений, которые должны быть выполнены эти-
ми виртуальными процессорами. При этом
а) в качестве единицы измерения испольуется обьем вы-
числений, необходимый для расчета группы из k тел;
б) предполагается, что i элемент n[i] равен числу тел в
группе, обрабатываемых i виртуальным процессором;
в) число операций, необходимых для обработки одной
группы, пропорционально квадрату числа тел в группе;
4) link { I>0: length * (n[I]*sizeof(Body))[I]->[0]};
специфицируются обьемы данных в байтах, передавемых вирту-
альным процессором во время выполнения; здесь i виртуальный
процессор посылает данные всех своих тел хосту;
5) parent[0] указание, что родитель имеет координату 0;
6) scheme{
7) int i;
8) par(i=0;i<m;i++)100%%[i];
9) par(i=1;i<m;i++)100%%[i]->[0];
};
186