[Dart-dev] DART/branches Revision: 12434
dart at ucar.edu
dart at ucar.edu
Wed Mar 7 11:44:17 MST 2018
nancy at ucar.edu
2018-03-07 11:44:16 -0700 (Wed, 07 Mar 2018)
64
adding a long comment about our plans to the top of this file.
Modified: DART/branches/rma_distrib/assimilation_code/modules/utilities/ensemble_manager_mod.f90
===================================================================
--- DART/branches/rma_distrib/assimilation_code/modules/utilities/ensemble_manager_mod.f90 2018-03-07 18:37:33 UTC (rev 12433)
+++ DART/branches/rma_distrib/assimilation_code/modules/utilities/ensemble_manager_mod.f90 2018-03-07 18:44:16 UTC (rev 12434)
@@ -5,6 +5,36 @@
! $Id$
!>@todo FIXME
+!>
+!> after discussions with johnny, we are going to tackle the distributed
+!> static data problem in pieces. first up, we are going to try to
+!> distribute multiple copies of the ensemble mean across subsets of the
+!> total job tasks. right now the user choices are 1) a copy of the ensemble
+!> mean on every task or 2) the ensemble mean distributed across all tasks
+!> in the %copies array. the former may not fit in memory; the latter can
+!> be very very slow during the vertical conversion step as part of get_close.
+!> we are looking at distributing read-only copies of the ensemble mean
+!> across MPI groups, where the group size can be 1 to N tasks, with the
+!> logical first size would either be the number of tasks on a single node
+!> or a small set of nodes.
+!>
+!> this only requires changes to the mpi utilities (to create a group
+!> communicator), the window code, and the ensemble manager. any calls
+!> to init_ensemble_manager() might need an additional group size which
+!> should be stored in the ensemble handle. or less flexibly we could
+!> make it a namelist for the window code or mpi code and have the ensemble
+!> manager query it if the transpose_type selected is 3.
+!>
+!> i am also going to try to fold in changes i made for steve g. to
+!> take an already created communicator from the outside - as long as we
+!> are in the mpi code it should have all the capabilities we foresee
+!> needing in the near future.
+!>
+!>
+!> these are older comments related to supporting quad filter and
+!> block distributions, which are currently orthogonal to the limited
+!> tranpose option:
+!>
!> looking at design decisions to support distributed static data.
!> also looking at how to support the quad filter layout. it replicates
!> each of the state vector items and then distributes pairs of items
More information about the Dart-dev
mailing list