!-------------------------------------------------------------------- ! test cpu !-------------------------------------------------------------------- Module ARRAYS integer, parameter :: N=2e5 real*8, DIMENSION(N) :: X, Y, Z real*8, parameter :: epsilon=1.d-3, eps2 =epsilon**2 EndModule ARRAYS !------------------------------------------------------------------- Program TestNode use ARRAYS real*8 :: xx,yy,zz,Etot =0. write(*,*) ' Required Memory(MB)=',3.*8.*N/1024.**2 CALL RANDOM_NUMBER(X) CALL RANDOM_NUMBER(Y) CALL RANDOM_NUMBER(Z) call system_clock(i1,i2) call cpu_time(t0) !$OMP PARALLEL DO DEFAULT(SHARED) & !$OMP PRIVATE(i,xx,yy,zz,j) reduction(+:Etot) Do i=1,N-1 xx = X(i) yy = Y(i) zz = Z(i) Do j=i+1,N Etot = Etot + 1./sqrt((xx-X(j))**2+ & (yy-Y(j))**2+ & (zz-Z(j))**2 +eps2 ) EndDo EndDo call cpu_time(t1) call system_clock(i1b,i2b) write (*,'(2(a,g12.4))') ' E=',Etot/N**2, & ' cpu time=',t1-t0 write(*,*) ' wall-clock dtime=',float(i1b-i1)/i2b stop end program TestNode