[cig-commits] [commit] devel: improved replace_use_mpi_with_include_mpif_dot_h.pl and improved "use mpi" usage to make it work (0e1fa7d)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Wed Apr 9 17:12:23 PDT 2014


Repository : ssh://geoshell/specfem3d_globe

On branch  : devel
Link       : https://github.com/geodynamics/specfem3d_globe/compare/099a4d330d5b173b21e51ad441f9f429e5d37842...92f6f46926093e73b53e2b1921b0cdb1827d31cb

>---------------------------------------------------------------

commit 0e1fa7dbe2352892245cf47a9f0aaeb3f61e449d
Author: Dimitri Komatitsch <komatitsch at lma.cnrs-mrs.fr>
Date:   Thu Apr 10 02:08:48 2014 +0200

    improved replace_use_mpi_with_include_mpif_dot_h.pl and improved "use mpi" usage to make it work


>---------------------------------------------------------------

0e1fa7dbe2352892245cf47a9f0aaeb3f61e449d
 replace_use_mpi_with_include_mpif_dot_h.pl      |  8 ++++--
 src/auxiliaries/combine_vol_data.F90            |  6 ++---
 src/auxiliaries/combine_vol_data_adios_impl.f90 |  2 +-
 src/shared/parallel.f90                         | 34 ++++++++++++-------------
 src/specfem3D/write_output_ASDF.F90             |  4 +++
 5 files changed, 31 insertions(+), 23 deletions(-)

diff --git a/replace_use_mpi_with_include_mpif_dot_h.pl b/replace_use_mpi_with_include_mpif_dot_h.pl
index 8f7236c..97f1dcc 100755
--- a/replace_use_mpi_with_include_mpif_dot_h.pl
+++ b/replace_use_mpi_with_include_mpif_dot_h.pl
@@ -61,8 +61,12 @@
 # read the whole input file
       $whole_file = <FILE_INPUT>;
 
-# make the replacement
-      $whole_file =~ s/\n\s*use mpi\s*\n*\s*implicit none\s*\n/\n\n  implicit none\n\n  include 'mpif.h'\n\n/og;
+# make the replacement (we look for "use mpi", "use:: mpi", "use :: mpi" etc.; we also handle the case of a #endif for the preprocessor between the two lines)
+      $whole_file =~ s/\n\s*use\s*mpi\s*\n*\s*implicit\s*none\s*\n/\n\n  implicit none\n\n  include 'mpif.h'\n\n/og;
+      $whole_file =~ s/\n\s*use\s*::\s*mpi\s*\n*\s*implicit\s*none\s*\n/\n\n  implicit none\n\n  include 'mpif.h'\n\n/og;
+
+      $whole_file =~ s/\n\s*use\s*mpi\s*\n*\s*#endif\s*\n*\s*implicit\s*none\s*\n/\n\n#endif\n\n  implicit none\n\n  include 'mpif.h'\n\n/og;
+      $whole_file =~ s/\n\s*use\s*::\s*mpi\s*\n*\s*#endif\s*\n*\s*implicit\s*none\s*\n/\n\n#endif\n\n  implicit none\n\n  include 'mpif.h'\n\n/og;
 
       print FILEF90 "$whole_file";
 
diff --git a/src/auxiliaries/combine_vol_data.F90 b/src/auxiliaries/combine_vol_data.F90
index 6771f32..3d84713 100644
--- a/src/auxiliaries/combine_vol_data.F90
+++ b/src/auxiliaries/combine_vol_data.F90
@@ -28,16 +28,16 @@ program combine_vol_data_vtk
 
   ! outputs vtk-files (ascii format)
 
+  use constants
+
   ! combines the database files on several slices.
   ! the local database file needs to have been collected onto the frontend (copy_local_database.pl)
 #ifdef ADIOS_INPUT
-  use mpi
   use adios_read_mod
   use combine_vol_data_adios_mod
+  use mpi
 #endif
 
-  use constants
-
   implicit none
 
   include "OUTPUT_FILES/values_from_mesher.h"
diff --git a/src/auxiliaries/combine_vol_data_adios_impl.f90 b/src/auxiliaries/combine_vol_data_adios_impl.f90
index d505598..6b21adc 100644
--- a/src/auxiliaries/combine_vol_data_adios_impl.f90
+++ b/src/auxiliaries/combine_vol_data_adios_impl.f90
@@ -1,7 +1,7 @@
 
 module combine_vol_data_adios_mod
-  use mpi
   use adios_read_mod
+  use mpi
   implicit none
 contains
 
diff --git a/src/shared/parallel.f90 b/src/shared/parallel.f90
index 51adb9f..a31c662 100644
--- a/src/shared/parallel.f90
+++ b/src/shared/parallel.f90
@@ -164,8 +164,8 @@
 
   subroutine irecv_cr(recvbuf, recvcount, dest, recvtag, req)
 
-  use mpi
   use constants
+  use mpi
 
   implicit none
 
@@ -207,8 +207,8 @@
 
   subroutine isend_cr(sendbuf, sendcount, dest, sendtag, req)
 
-  use mpi
   use constants
+  use mpi
 
   implicit none
 
@@ -301,8 +301,8 @@
 
   subroutine min_all_cr(sendbuf, recvbuf)
 
-  use mpi
   use constants
+  use mpi
 
   implicit none
 
@@ -366,8 +366,8 @@
 
   subroutine max_all_cr(sendbuf, recvbuf)
 
-  use mpi
   use constants
+  use mpi
 
   implicit none
 
@@ -477,8 +477,8 @@
 
   subroutine bcast_all_cr(buffer, countval)
 
-  use mpi
   use constants
+  use mpi
 
   implicit none
 
@@ -537,7 +537,7 @@
 
   subroutine bcast_all_dp(buffer, countval)
 
-  use :: mpi
+  use mpi
 
   implicit none
 
@@ -556,7 +556,7 @@
 
   subroutine bcast_all_singledp(buffer)
 
-  use :: mpi
+  use mpi
 
   implicit none
 
@@ -575,7 +575,7 @@
 
   subroutine bcast_all_ch(buffer, countval)
 
-  use :: mpi
+  use mpi
 
   implicit none
 
@@ -594,7 +594,7 @@
 
   subroutine bcast_all_ch_array(buffer,ndim,countval)
 
-  use :: mpi
+  use mpi
 
   implicit none
 
@@ -613,7 +613,7 @@
 
   subroutine bcast_all_ch_array2(buffer,ndim1,ndim2,countval)
 
-  use :: mpi
+  use mpi
 
   implicit none
 
@@ -632,7 +632,7 @@
 
   subroutine bcast_all_l(buffer, countval)
 
-  use :: mpi
+  use mpi
 
   implicit none
 
@@ -720,8 +720,8 @@
 
   subroutine recv_cr(recvbuf, recvcount, dest, recvtag)
 
-  use mpi
   use constants
+  use mpi
 
   implicit none
 
@@ -827,8 +827,8 @@
 
   subroutine send_cr(sendbuf, sendcount, dest, sendtag)
 
-  use mpi
   use constants
+  use mpi
 
   implicit none
 
@@ -870,8 +870,8 @@
   subroutine sendrecv_cr(sendbuf, sendcount, dest, sendtag, &
                          recvbuf, recvcount, source, recvtag)
 
-  use mpi
   use constants
+  use mpi
 
   implicit none
 
@@ -968,8 +968,8 @@
 
   subroutine gather_all_cr(sendbuf, sendcnt, recvbuf, recvcount, NPROC)
 
-  use mpi
   use constants
+  use mpi
 
   implicit none
 
@@ -1016,8 +1016,8 @@
 
   subroutine gatherv_all_i(sendbuf, sendcnt, recvbuf, recvcount, recvoffset,recvcounttot, NPROC)
 
-  use mpi
   use constants
+  use mpi
 
   implicit none
 
@@ -1042,8 +1042,8 @@
 
   subroutine gatherv_all_cr(sendbuf, sendcnt, recvbuf, recvcount, recvoffset,recvcounttot, NPROC)
 
-  use mpi
   use constants
+  use mpi
 
   implicit none
 
diff --git a/src/specfem3D/write_output_ASDF.F90 b/src/specfem3D/write_output_ASDF.F90
index 0b1b529..ad83fbd 100644
--- a/src/specfem3D/write_output_ASDF.F90
+++ b/src/specfem3D/write_output_ASDF.F90
@@ -602,6 +602,7 @@ subroutine write_asdf_data_sub (asdf_container, adios_handle, rank, &
   use mpi
 
   implicit none
+
   integer                       :: adios_err, i
   integer(kind=8),intent(in)    :: adios_handle
   integer,intent(in)            :: rank, nproc, comm
@@ -831,6 +832,7 @@ subroutine gather_offset_info(local_dim, global_dim, offset,&
                               rank, nproc, comm, ierr)
 
   use mpi
+
   implicit none
 
   integer,intent(inout) :: local_dim, global_dim, offset
@@ -881,6 +883,7 @@ subroutine gather_string_total_length(local_dim, global_dim,&
                                           rank, nproc, comm, ierr)
 
   use mpi
+
   implicit none
 
   integer,intent(inout) :: local_dim, global_dim
@@ -921,6 +924,7 @@ subroutine gather_string_offset_info(local_dim, global_dim, offset,  &
                                      string_piece, string_total, &
                                      rank, nproc, comm, ierr)
   use mpi
+
   implicit none
 
   integer,intent(inout) :: local_dim, global_dim, offset



More information about the CIG-COMMITS mailing list