Распределенные вычисления на FreePascal под Windows
Категория реферата: Рефераты по информатике, программированию
Теги реферата: доклад на тему, реферат стиль
Добавил(а) на сайт: Dionina.
Предыдущая страница реферата | 9 10 11 12 13 14 15 16 17 18 19 | Следующая страница реферата
teg := 0;
MPI_Comm_size(MPI_COMM_WORLD, numprocs);
MPI_Comm_rank(MPI_COMM_WORLD, myid);
for i := 0 to num do
case myid of
0:
if i mod 2 = 0 then arr[i] := f(1.0*i)
else
begin
MPI_Recv(@x,1,MPI_DOUBLE,1,teg,MPI_COMM_WORLD,status);
arr[i] := x
end;
1:
if i mod 2 = 1 then
begin
z := f(1.0*i);
MPI_Send(@z,1,MPI_DOUBLE,0,teg,MPI_COMM_WORLD);
end;
end; // case statement
if myid = 0 then for i := 0 to num do writeln(i,' ',arr[i]);
MPI_Finalize;
end.
Формируется массив заданного числа элементов так, что элементы с четными номерами рассчитывает процесс с myid=0, а нечетными — с myid=1. Конечно, вместо функции sqr может стоять любая другая. Программа написана, конечно же, в расчете на то, что процессов будет всего два. Поскольку значения myid, отличные от 0 и 1, не используются, процессы с такими номерами будут простаивать.
Улучшить программу, то есть написать такой ее вариант, чтобы использовались все процессы, предоставляю читателю :)
Функции коллективного обмена.
Рекомендуем скачать другие рефераты по теме: куплю диплом о высшем образовании, реферат людина.
Предыдущая страница реферата | 9 10 11 12 13 14 15 16 17 18 19 | Следующая страница реферата