[MITgcm-devel] [MITgcm-cvs] MITgcm/pkg/obcs CVS Commit
Jean-Michel Campin
jmc at ocean.mit.edu
Wed Nov 24 11:04:31 EST 2010
Hi Martin,
On Wed, Nov 24, 2010 at 09:49:45AM +0100, Martin Losch wrote:
> This cost me most of yesterday, before I noticed that (o:
Well, we know how to avoid this problem, and the solution would
be to have an AD test using OBCS.
> The reason why it took me so long to track down this problem was that my compiler is really slow on large fields (e.g. ad_taf_output.f takes about 1h to compile). I found a c-program (f77split) that divides ad_taf_output.f into many small files. I do not want to propose to do this in general, but I'd like to occasionally patch my own makefile, so I can be faster in debugging. Do you have a feeling if it is possible to do that, e.g. change the target:
> ad_taf_output.f: ad_input_code.f
> $(TAF) $(AD_TAF_FLAGS) $(TAF_EXTRA) ad_input_code.f
> ls -l ad_input_code_ad.f
> cat ad_input_code_ad.f | sed -f $(TOOLSDIR)/adjoint_sed > ad_taf_output.f
> f77split ad_taf_output.f
> and then append $(OBJFILES).
> Do you, off-hand, know if this possible and how?
I am not sure how this will fit into the current genmake/Makefile.
And that's why I fwd this to devel list.
One thing I sometimes do is putting ad_taf_output.f in the NOOPTLIST
(with -ieee option in the optfile) and cooking some specific options
for NOOPTFLAG that speed up the compiler (e.g., drop the optimization
across S/R, drop some debug/check, lower the optimization ...).
And once you know everything is working, then you can return to a
normal (but long) compilation.
Thanks,
Jean-Michel
>
> Martin
> On Nov 23, 2010, at 9:39 PM, Jean-Michel Campin wrote:
>
> > Update of /u/gcmpack/MITgcm/pkg/obcs
> > In directory forge:/tmp/cvs-serv9571
> >
> > Modified Files:
> > obcs_ad_diff.list
> > Log Message:
> > forgot to add back obcs_prescribe_exchanges.f (Thanks to Holly)
> >
> >
> > _______________________________________________
> > MITgcm-cvs mailing list
> > MITgcm-cvs at mitgcm.org
> > http://mitgcm.org/mailman/listinfo/mitgcm-cvs
>
More information about the MITgcm-devel
mailing list