[MITgcm-devel] changes in exch-1
Jean-Michel Campin
jmc at ocean.mit.edu
Thu May 20 11:19:15 EDT 2010
Hi Jean,
To summarize the recent changes, 3 steps:
step 1) internal changes within exch-1 code for multi-threaded with MPI
(in exch_rx_send_put_x/y.template & exch_rx_recv_get_x/y.template)
done on May 16; I sent an email to you on devel list since
I simplify (reduce number of MPI calls) but did not know what
should be done with AMPI.
If I trust the daily test on dodongo & dokdo, this went well.
step 2) (May 18) split exch_rx.F into Forward S/R (exch1_rx.F)
and Adjoint S/R (exch1_rx_ad.F) and remove argument "simulationMode".
Then we have checkpoint62g
step 3) (May 19) change all flow dir for exch-1 and remove all autodiff/exch_*
stuff
steps 2 & 3) are the implementation of the changes I proposed in an email
I sent to devel list on May 04, and put a copy here after.
The main motivation was to get a similar AD processing with exch-2 & exch-1
(and there are more users switching to exch2, at JPL, + Gael with
ecco-v4, so it makes sense to consolidate this part).
2 short questions:
a) can you confirm that checkpoint62g (after step-2) was working with
OpenAD ? (the test I got from May 19 are OK, but want to be sure they
include the step-2 changes from May 18).
b) Did you try before OpenAD with exch-2 ? in this case, might be easier
to fix step-3 (the AD processing now start at the same level).
Thanks,
Jean-Michel
======================================================================
> Date: Tue, 4 May 2010 17:07:38 -0400
> To: mitgcm-devel at mitgcm.org
> Subject: [MITgcm-devel] changing exch-1
>
> Hi,
>
> I propose to split the basic exch1 subroutines (exch_rx.F,
> generated from exch_rx.template) in 2 S/R, 1 forward and
> 1 adjoint S/R, and then drop the "simulationMode" argument.
>
> My impression is that this way we could leave TAF see all the
> different exch_*_rx.f subroutines, just need to have the right
> flow dir for this basic exch1 S/R.
>
> This would also be much closer to what is done in pkg/exch2
> (no true "simulationMode" arg., TAF see almost all the exch2_*_rx.f
> files, with flow dir and hand written AD S/R for the 2 basic
> exch2 S/R: exch2_rx1_cube & exch2_rx2_cube)
> This way, we could avoid to have this mixed (and confusing) situation
> where:
> - without EXCH2, for each of exch_*_rx.f subroutine we need
> an hand-written AD version (generally just a call to basic exch1 S/R
> with arg. simulationMode = Reverse).
> - with EXCH2, those exch1 S/R need to be (and are already) listed
> in pkg/exch2/exch2_ad_diff.list
> and the flow dir from pkg/autodiff/exch*ad*.flow needs to
> be hidden (as well as the hand-written AD S/R version).
>
> We will need also a quick solution for the 4 exch_*_rx_cube
> (exch_rx_cube, exch_uv_rx_cube, exch_z_rx_cube, exch_bg_rx_cube)
> but presently the code corresponding to simulationMode=Reverse is
> missing; so not a big deal to leave just a stop in an empty
> hand-written AD S/R.
======================================================================
On Thu, May 20, 2010 at 01:39:33AM -0500, Jean Utke wrote:
> Hi Jean-Michel.
>
> Apparently you also changed that the exch routines get differentiated
> but before they werent and the
> manual layer that existed in exch_ad.F is apparently gone too,
> Now - it would be helpfull to find out what the extent of all these
> changes is and then I can follow up with my regression test.
> Please let me know asap.
>
> Thanks,
>
> Jean
>
>
> On 05/16/2010 10:16 PM, Jean-Michel Campin wrote:
> > Hi Jean,
> >
> > I made few changes in (eesupp/src) exch S/R
> > (exch_rx_send_put_x/y.template & exch_rx_recv_get_x/y.template)
> > to works for local array with MPI and multi-threaded.
> >
> > I had to move around few MPI calls (in exch_rx_send_put_x/y)
> > and I am not sure I did it right for the code you added
> > with ALLOW_AUTODIFF_OPENAD_AMPI
> > might be worth to check this before using it.
> >
> > Thanks,
> > Jean-Michel
> >
> > _______________________________________________
> > MITgcm-devel mailing list
> > MITgcm-devel at mitgcm.org
> > http://mitgcm.org/mailman/listinfo/mitgcm-devel
> >
>
>
> --
> Jean Utke
> Argonne National Lab. / MCS (240-1156)
> 9700 S Cass Ave., Argonne, IL, 60439, USA
> phone +1 630 252 4552 / mobile +1 630 363 5753
>
>
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel
More information about the MITgcm-devel
mailing list