CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Main CFD Forum (https://www.cfd-online.com/Forums/main/)
-   -   problem in MPI programming... (https://www.cfd-online.com/Forums/main/64435-problem-mpi-programming.html)

mehdi May 11, 2009 14:46

problem in MPI programming...
 
Hi everyone,

I've got a problem on employing MPI in my parallel code. Actually, even for a so simple following integration part!, if the #cpu's be changed, the results would be changed, too!
However, the difference will be rectified by using double precision for variables. Since the difference for single precision is quite unacceptable, how do you think if I am doing something wrong...?


thanks in advance!


Program main
include 'mpif.h'
include 'c_param .f'
include 'comm.f'
integer myid,rc,ierror
call MPI_INIT(ierror)
call MPI_COMM_RANK(MPI_COMM_WORLD, myid, ierror)
call MPI_COMM_SIZE(MPI_COMM_WORLD, size, ierror)
n2do=ny/size
n1m=nx
n2m=ny
n3m=nz
DO 20 J=1,NY
DY(J)=-YV(J-1)+YV(J)
DY(J)=0.01
20 CONTINUE
C---------------------------------
AREABODY=0.d0
DO K=1,n3m
DO I=1,n1m
DO J=1,N2DO
jj=myid*N2DO+j
AREABODY=AREABODY+DY(JJ)
ENDDO
ENDDO
ENDDO
CALL MPI_ALLREDUCE(AREABODY,WORK_AREABODY,1,MPI_double_ precision,
1 MPI_SUM, MPI_COMM_WORLD, IERROR)

write(6,101) myid,j,jj,AREABODY,WORK_AREABODY
101 format(3I10,2F25.15)


CALL MPI_FINALIZE(rc)
STOP
END


All times are GMT -4. The time now is 19:08.