ВУЗ:
Рубрика:
192
Call MPI_SENDRECV (T(0,ks),1,horizontal_border,upper,tag,
1 T(0,ks+1),1,horizontal_border,upper,
2 tag,comm,status,ierr)
Call MPI_SENDRECV (T(0,1),1,horizontal_border,lower,tag,
1 T(0,0),1,horizontal_border,lower,
2 tag,comm,status,ierr)
Call MPI_SENDRECV (T(is,0),1,vertical_border,right,tag,
1 T(is+1,0),1,vertical_border,right,
2 tag,comm,status,ierr)
Call MPI_SENDRECV (T(1,0),1,vertical_border,left,tag,
1 T(0,0),1,vertical_border,left,
2 tag,comm,status,ierr)
If (rank.eq.0) timeStop2=timeStop2+MPI_Wtime()-timeStart2
End do
c Фиксация времени окончания расчетов
If (rank.eq.0) timeStop=MPI_Wtime()-timeStart
l=0 !!! Организация сбора решения на одном процессоре
Do i=1,is
Do j=1,ks
Tpas(l)=T(i,j)
l=l+1
End do
End do
c Сбор результатов на нулевом процессорном элементе
Call MPI_GATHER(Tpas(0),(ks)*(is),
1 MPI_DOUBLE_PRECISION,
2 Tpas(0),(is)*(ks),
3 MPI_DOUBLE_PRECISION,
4 0,comm,ierr)
If (rank.eq.0) then
l=0
Do ki=1,idim
Do kj=1,kdim
Do i=1,is
Do j=1,ks
T(i+(ki-1)*is,j+(kj-1)*ks)=Tpas(l)
l=l+1
End do
End do
End do
Страницы
- « первая
- ‹ предыдущая
- …
- 190
- 191
- 192
- 193
- 194
- …
- следующая ›
- последняя »
