ВУЗ:
Рубрика:
103
end do
end do
c Конец прямого хода
c Обратный ход
c Циклы по k и p аналогичны, как и при прямом ходе
do k=m,1,-1
do p=size-1,0,-1
nom=(k-1)*size+p+1
if (rank.eq.p) then
ch=a(k,n+1)
call MPI_Bcast(ch, 1, MPI_DOUBLE_PRECISION, p,
$ comm, ierr)
do i=k-1,1,-1
a(i,n+1)=a(i,n+1)-a(k,n+1)*a(i,nom)
end do
end if
if (rank.gt.p) then
call MPI_Bcast(ch, 1, MPI_DOUBLE_PRECISION, p,
$ comm, ierr)
do i=k-1,1,-1
a(i,n+1)=a(i,n+1)-ch*a(i,nom)
end do
end if
if (rank.lt.p) then
call MPI_Bcast(ch, 1, MPI_DOUBLE_PRECISION, p,
$ comm, ierr)
do i=k,1,-1
a(i,n+1)=a(i,n+1)-ch*a(i,nom)
end do
end if
end do
end do
c Конец обратного хода
c Вычисляем время работы программы
if (rank.eq.0) time = MPI_Wtime() - time
c Сбор решения на нулевом процессе
Страницы
- « первая
- ‹ предыдущая
- …
- 101
- 102
- 103
- 104
- 105
- …
- следующая ›
- последняя »
