[Dart-dev] DART/branches Revision: 12826
dart at ucar.edu
dart at ucar.edu
Fri Sep 14 16:31:41 MDT 2018
hendric at ucar.edu
2018-09-14 16:31:41 -0600 (Fri, 14 Sep 2018)
138
Commiting what I have for the day. Everything compiles,
but there is a array bound problem for the group ensemble
handle's copy array.
Modified: DART/branches/rma_distrib/assimilation_code/modules/utilities/mpi_utilities_mod.f90
===================================================================
--- DART/branches/rma_distrib/assimilation_code/modules/utilities/mpi_utilities_mod.f90 2018-09-14 19:43:02 UTC (rev 12825)
+++ DART/branches/rma_distrib/assimilation_code/modules/utilities/mpi_utilities_mod.f90 2018-09-14 22:31:41 UTC (rev 12826)
@@ -71,16 +71,16 @@
! this directory. It is a sed script that comments in and out the interface
! block below. Please leave the BLOCK comment lines unchanged.
-! !!SYSTEM_BLOCK_EDIT START COMMENTED_OUT
-! ! interface block for getting return code back from system() routine
-! interface
-! function system(string)
-! character(len=*) :: string
-! integer :: system
-! end function system
-! end interface
-! ! end block
-! !!SYSTEM_BLOCK_EDIT END COMMENTED_OUT
+ !!SYSTEM_BLOCK_EDIT START COMMENTED_IN
+ ! interface block for getting return code back from system() routine
+ interface
+ function system(string)
+ character(len=*) :: string
+ integer :: system
+ end function system
+ end interface
+ ! end block
+ !!SYSTEM_BLOCK_EDIT END COMMENTED_IN
! allow global sum to be computed for integers, r4, and r8s
@@ -2096,7 +2096,7 @@
subroutine create_groups(my_group_size, my_comm)
integer, intent(inout) :: my_group_size
-integer, intent(inout), optional :: my_comm
+integer, intent(out) :: my_comm
integer, allocatable :: group_members(:)
integer :: i
@@ -2135,11 +2135,7 @@
deallocate(group_members)! this is module global
-! JPH, NOT SURE WE NEED THIS, WE CAN PROBABLY GET AWAY WITH USING THE LOCAL COMMUNICATOR
-!
-if (present(my_comm)) then
- my_comm = my_group_comm
-endif
+my_comm = my_group_comm
end subroutine create_groups
Modified: DART/branches/rma_distrib/assimilation_code/modules/utilities/no_cray_win_mod.f90
===================================================================
--- DART/branches/rma_distrib/assimilation_code/modules/utilities/no_cray_win_mod.f90 2018-09-14 19:43:02 UTC (rev 12825)
+++ DART/branches/rma_distrib/assimilation_code/modules/utilities/no_cray_win_mod.f90 2018-09-14 22:31:41 UTC (rev 12826)
@@ -127,7 +127,8 @@
! create groups of MPI processors to store
! the ensemble mean
call create_groups(group_size, group_comm)
-
+ print*, 'FINISHED - create_groups', group_size, group_comm
+ num_vars = state_ens_handle%num_vars
! Set up the ensemble storage for mean
call init_ensemble_manager(group_mean_handle, &
num_copies = 1, &
@@ -137,6 +138,8 @@
transpose_type_in = 1, & ! 1
mpi_comm = group_comm)
+ print*, 'FINISHED - init_ensemble_manager, num_vars = ', num_vars
+
call set_num_extra_copies(group_mean_handle, 0)
! temp_mean_handle is optionally returned when creating mean window.
@@ -155,15 +158,19 @@
call my_vars_to_group_copies(mean_ens_handle, &
group_mean_handle, &
label = 'my_vars_to_group_copies')
+ print*, 'FINISHED - my_vars_to_group_copies'
-
!copies (num_copies, my_num_vars)
mean_1d(:) = group_mean_handle%copies(1,:)
+ print*, 'FINISHED - assigning mean_1d'
! find out how many variables I have
my_num_vars = state_ens_handle%num_vars/group_size
+ print*, 'FINISHED - assigning my_num_vars'
call mpi_type_size(datasize, bytesize, ierr)
+ print*, 'FINISHED - mpi_type_size'
window_size = my_num_vars*bytesize
+ print*, 'FINISHED - window_size'
! Need a simply contiguous piece of memory to pass to mpi_win_create
! Expose local memory to RMA operation by other processes in a communicator.
@@ -171,6 +178,7 @@
!> and the window_size = num_vars/group_size
call mpi_win_create(mean_1d, window_size, bytesize, MPI_INFO_NULL, &
More information about the Dart-dev
mailing list