ВУЗ:
Рубрика:
134
версии имеем
commap
pt
p
n
)p(t
p
n
T 12
2
. Здесь
a
t – время вы-
полнения одной арифметической операции;
comm
t – время на пере-
сылку одного числа. Тогда ускорение можно оценить как
n
p)p(
p
nt)p(t
p
n
tn
T
T
S
comma
a
p
p
2
1
1
12
2
2
2
1
, где
acomm
t/t
.
Выполним оценку ускорения.
Пусть
100
100
,
n
, 10
p
. Тогда 1
1002
100109
1
10
10
S .
При
100
1000
,
n
,
10
p
. Тогда 2
10002
100109
1
10
10
S .
Таким образом, рассмотренная параллельная процедура решения
системы ОДУ при небольшом числе используемых процессорных
элементов имеет преимущество лишь для задач большой размерно-
сти.
Приведем текст параллельной программы решения систем ОДУ
вида (7.1) с начальными условиями (7.2) с использованием много-
шаговых методов Адамса и схемы «предиктор–корректор».
program predictor_corrector
c
implicit none
include 'mpif.h'
include 'dim.h'
integer i, rank, size, m, ierr, k
double precision h, x, xk, time
double precision y(n), y1(n), yy(0:3,n), ff(0:3,n), f1(n), y0(n)
common/parallel/ rank, size, m
c Инициализация параллельной части программы
call MPI_INIT(ierr)
call MPI_COMM_SIZE(MPI_COMM_WORLD, size, ierr)
call MPI_COMM_RANK(MPI_COMM_WORLD, rank,
$ ierr)
c Задание начального и конечного значений независимой
Страницы
- « первая
- ‹ предыдущая
- …
- 132
- 133
- 134
- 135
- 136
- …
- следующая ›
- последняя »
