diff options
author | lanfer <lanfer@89daf98e-ef62-4674-b946-b8ff9de2216c> | 1999-10-20 09:54:30 +0000 |
---|---|---|
committer | lanfer <lanfer@89daf98e-ef62-4674-b946-b8ff9de2216c> | 1999-10-20 09:54:30 +0000 |
commit | 6ff49aaead97e6e5f3f066cb8c30a1086210c053 (patch) | |
tree | 724c8e28e27f8150c15ac9084f1689655e5eeafe /src/AHFinder_int.F | |
parent | b74b2a738738bd33ce1c8819d0f71dbbc865910b (diff) |
The AHFinder is now without mpi calls, using only CCTK_Reduce operations.
I left the old mpi calls commented out, if you need to see how things relate,
but it is straightforward handling. Tested against original screen output.
gerd
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/AHFinder/trunk@15 89daf98e-ef62-4674-b946-b8ff9de2216c
Diffstat (limited to 'src/AHFinder_int.F')
-rw-r--r-- | src/AHFinder_int.F | 72 |
1 files changed, 33 insertions, 39 deletions
diff --git a/src/AHFinder_int.F b/src/AHFinder_int.F index b93f4eb..8ae847d 100644 --- a/src/AHFinder_int.F +++ b/src/AHFinder_int.F @@ -965,7 +965,7 @@ c#endif $ inside_min_neg_count, aux, CCTK_VARIABLE_REAL) inside_min_neg_count=aux call CCTK_ReduceLocalScalar(ierror, cctkGH, -1, reduction_handle, - $ inside_min_neg_count, aux, CCTK_VARIABLE_REAL) + $ inside_min_count, aux, CCTK_VARIABLE_REAL) inside_min_count=aux @@ -1011,23 +1011,17 @@ c $ hflow0, tempv, auxi, CCTK_VARIABLE_REAL) hflow0 = tempv end if if (cw.ne.zero) then -c write(*,*) "AHFinder_int1 cflow0:", cflow0 -c write(*,*) "AHFinder_int1 tempv:", tempv -c call CCTK_ReduceLocalArray1D(ierror, cctkGH, -1, reduction_handle, -c $ cflow0, tempv, auxi, CCTK_VARIABLE_REAL) - call mpi_allreduce(cflow0,tempv,auxi,MPI_DOUBLE_PRECISION, - . MPI_SUM,MPI_COMM_WORLD,ierror) -c write(*,*) "AHFinder_int2 cflow0:", cflow0 -c write(*,*) "AHFinder_int2 tempv:", tempv + call CCTK_ReduceLocalArray1D(ierror, cctkGH, -1, reduction_handle, + $ cflow0, tempv, auxi, CCTK_VARIABLE_REAL) +c call mpi_allreduce(cflow0,tempv,auxi,MPI_DOUBLE_PRECISION, +c . MPI_SUM,MPI_COMM_WORLD,ierror) cflow0 = tempv -c write(*,*) "AHFinder_int3 cflow0:", cflow0 -c write(*,*) "AHFinder_int3 tempv:", tempv end if if (nw.ne.zero) then -c call CCTK_ReduceLocalArray1D(ierror, cctkGH, -1, reduction_handle, -c $ nflow0, tempv, auxi, CCTK_VARIABLE_REAL) - call mpi_allreduce(nflow0,tempv,auxi,MPI_DOUBLE_PRECISION, - . MPI_SUM,MPI_COMM_WORLD,ierror) + call CCTK_ReduceLocalArray1D(ierror, cctkGH, -1, reduction_handle, + $ nflow0, tempv, auxi, CCTK_VARIABLE_REAL) +c call mpi_allreduce(nflow0,tempv,auxi,MPI_DOUBLE_PRECISION, +c . MPI_SUM,MPI_COMM_WORLD,ierror) nflow0 = tempv end if @@ -1038,48 +1032,48 @@ c $ nflow0, tempv, auxi, CCTK_VARIABLE_REAL) auxi = lmax*lmax if (nw.ne.zero) then -c call CCTK_ReduceLocalArray1D(ierror, cctkGH, -1, reduction_handle, -c $ hflowc, tempm, auxi, CCTK_VARIABLE_REAL) - call mpi_allreduce(hflowc,tempm,auxi, - . MPI_DOUBLE_PRECISION,MPI_SUM,MPI_COMM_WORLD,ierror) + call CCTK_ReduceLocalArray1D(ierror, cctkGH, -1, reduction_handle, + $ hflowc, tempm, auxi, CCTK_VARIABLE_REAL) +c call mpi_allreduce(hflowc,tempm,auxi, +c . MPI_DOUBLE_PRECISION,MPI_SUM,MPI_COMM_WORLD,ierror) hflowc = tempm end if if (cw.ne.zero) then -c call CCTK_ReduceLocalArray1D(ierror, cctkGH, -1, reduction_handle, -c $ cflowc, tempm, auxi, CCTK_VARIABLE_REAL) - call mpi_allreduce(cflowc,tempm,auxi, - . MPI_DOUBLE_PRECISION,MPI_SUM,MPI_COMM_WORLD,ierror) + call CCTK_ReduceLocalArray1D(ierror, cctkGH, -1, reduction_handle, + $ cflowc, tempm, auxi, CCTK_VARIABLE_REAL) +c call mpi_allreduce(cflowc,tempm,auxi, +c . MPI_DOUBLE_PRECISION,MPI_SUM,MPI_COMM_WORLD,ierror) cflowc = tempm end if if (nw.ne.zero) then -c call CCTK_ReduceLocalArray1D(ierror, cctkGH, -1, reduction_handle, -c $ nflowc, tempm, auxi, CCTK_VARIABLE_REAL) - call mpi_allreduce(nflowc,tempm,auxi, - . MPI_DOUBLE_PRECISION,MPI_SUM,MPI_COMM_WORLD,ierror) + call CCTK_ReduceLocalArray1D(ierror, cctkGH, -1, reduction_handle, + $ nflowc, tempm, auxi, CCTK_VARIABLE_REAL) +c call mpi_allreduce(nflowc,tempm,auxi, +c . MPI_DOUBLE_PRECISION,MPI_SUM,MPI_COMM_WORLD,ierror) nflowc = tempm end if if (.not.refy) then if (hw.ne.zero) then -c call CCTK_ReduceLocalArray1D(ierror, cctkGH, -1, reduction_handle, -c $ hflows, tempm, auxi, CCTK_VARIABLE_REAL) - call mpi_allreduce(hflows,tempm,auxi, - . MPI_DOUBLE_PRECISION,MPI_SUM,MPI_COMM_WORLD,ierror) + call CCTK_ReduceLocalArray1D(ierror, cctkGH, -1, reduction_handle, + $ hflows, tempm, auxi, CCTK_VARIABLE_REAL) +c call mpi_allreduce(hflows,tempm,auxi, +c . MPI_DOUBLE_PRECISION,MPI_SUM,MPI_COMM_WORLD,ierror) hflows = tempm end if if (cw.ne.zero) then -c call CCTK_ReduceLocalArray1D(ierror, cctkGH, -1, reduction_handle, -c $ cflows, tempm, auxi, CCTK_VARIABLE_REAL) - call mpi_allreduce(cflows,tempm,auxi, - . MPI_DOUBLE_PRECISION,MPI_SUM,MPI_COMM_WORLD,ierror) + call CCTK_ReduceLocalArray1D(ierror, cctkGH, -1, reduction_handle, + $ cflows, tempm, auxi, CCTK_VARIABLE_REAL) +c call mpi_allreduce(cflows,tempm,auxi, +c . MPI_DOUBLE_PRECISION,MPI_SUM,MPI_COMM_WORLD,ierror) cflows = tempm end if if (nw.ne.zero) then -c call CCTK_ReduceLocalArray1D(ierror, cctkGH, -1, reduction_handle, -c $ nflows, tempm, auxi, CCTK_VARIABLE_REAL) - call mpi_allreduce(nflows,tempm,auxi, - . MPI_DOUBLE_PRECISION,MPI_SUM,MPI_COMM_WORLD,ierror) + call CCTK_ReduceLocalArray1D(ierror, cctkGH, -1, reduction_handle, + $ nflows, tempm, auxi, CCTK_VARIABLE_REAL) +c call mpi_allreduce(nflows,tempm,auxi, +c . MPI_DOUBLE_PRECISION,MPI_SUM,MPI_COMM_WORLD,ierror) nflows = tempm end if end if |