Высокопроизводительные вычисления на кластерах. Беликов Д.А - 188 стр.

UptoLike

188
2 Tpas(1,1), m*Nx,
3 MPI_DOUBLE_PRECISION,
4 0, comm, ierr)
If (rank.eq.0) then
Do i=1,Nx
Do j=1,Ny
T(i,j)=Tpas(i,j)
T(0,j)=1.0
T(Nx+1,j)=10.0
T(i,0)=10.0
T(i,Ny+1)=10.0
End do
End do
Do i=0,Nx+1
write (2,'(760f15.4)') (T(i,j),j=0,Ny+1)
End do
Write (2,'(a,i15,a,f15.9)') 'Size=',size,' TimeC=',TimeStop
Write (2,'(a,f15.9,a,f15.9)') ' TimeF=',time, ' tau=',tau
Write (2,'(a,f15.9,a,f15.9)') ' Tcomp=',TimeStop-TimeStop1,
1 ' Tcomm=',TimeStop1
Write(2,*) ‘ T(Nx/2,Ny/2)= ’, T(Nx/2,Ny/2)
Close(2)
End if
Call MPI_FINALIZE(ierr)
End
PROGRAM Example2
c Решение двумерного уравнения теплопроводности в
c единичном квадрате с использованием явной разностной
c схемы. 2d-декомпозиция
Implicit none
Include 'mpif.h'
c Параметры:
c Nx,Ny - количество точек области в каждом направлении,
c idim, kdim - количество процессоров в каждом направлении,
c T,Tnew - численное решение задачи
Integer i, j, l, ki, kj, Ny, Nx, idim, kdim, is, ks, icoor,kcoor
Integer comm, ierr, size, rank, tag, status(100)
Integer left, right, lower, upper,
1 vertical_border, horizontal_border