gpt4 book ai didi

parallel-processing - MPI Fortran WTIME 运行不正常

转载 作者:行者123 更新时间:2023-12-04 08:07:20 25 4
gpt4 key购买 nike

我正在使用 Fortran MPI 进行编码,我需要获取程序的运行时间。因此,我尝试使用 WTIME() 函数,但得到了一些奇怪的结果。

部分代码是这样的:

    program heat_transfer_1D_parallel
implicit none
include 'mpif.h'

integer myid,np,rc,ierror,status(MPI_STATUS_SIZE)

integer :: N,N_loc,i,k,e !e = number extra points (filled with 0s)
real :: time,tmax,start,finish,dt,dx,xmax,xmin,T_in1,T_in2,T_out1,T_out2,calc_T,t1,t2
real,allocatable,dimension(:) :: T,T_prev,T_loc,T_loc_prev

call MPI_INIT(ierror)
call MPI_COMM_SIZE(MPI_COMM_WORLD,np,ierror)
call MPI_COMM_RANK(MPI_COMM_WORLD,myid,ierror)
...
t1 = MPI_WTIME()
time = 0.
do while (time.le.tmax)
...
end do
...
call MPI_BARRIER(MPI_COMM_WORLD,ierror)
t2 = MPI_WTIME()
call MPI_FINALIZE(ierror)

if(myid.eq.0) then
write(*,"(8E15.7)") T(1:N-e)
write(*,*)t2
write(*,*)t1
end if

并且 t1 和 t2 的输出值相同且非常大:1.4240656E+09任何想法为什么?非常感谢。

最佳答案

来自documentation :返回值:自过去任意时间以来的时间(以秒为单位)。他们没有具体说明有多远 ;-) 这里只有 t2-t1 有意义...

此外,MPI_Wtime() 的返回值是 double ! t1t2 声明为单精度 float 。

关于parallel-processing - MPI Fortran WTIME 运行不正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28530072/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com