New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Summarizing future work with Tapenade after PR #685 #735
Comments
hi @Shreyas911 is this the right place to mention getting tapenade to work efficiently with other packages (e.g. streamice)? Once this P/R is merged, I need to add the necessary files to avoid differentiating through the linear system solve, plus a few other things, and also I need to test tapenade's Christianson fixed-point functionality (Laurent has recently done some work with this to make it easier to use for this purpose). |
Indeed @dngoldberg, going to add this as a bullet point. :) |
I marked the second task as "done", since the reference output have been updated in PR #685. The tapenade tests are not yet fully integrated in the set of daily regression tests but I've started to run both the Adjoint and Tang-Lin at night at least once a month (supposed to be on the second but in June it was on the fourth) and every time there is an update to the GitHub master branch: @Shreyas911 one comment about |
Hi @jm-c,
This is great to hear!
I am not sure about this, since the cost functions are set up to be different depending on if ecco is used or not used. If you run Just to document everything, I am still going to add this to the list of issues to deal with. |
@jm-c, is it possible to introduce a new checkpoint so that people can clone get Tapenade capabilities in the latest tagged release? |
@Shreyas911 I agree, it's a good idea to make a new checkpoint. Will take care of this later this week. |
@Shreyas911 I 've just made a new tag "checkpoint68q" |
Thanks a lot, @jm-c! |
hi @Shreyas911 i have been doing some work on my fork to ensure tapenade doesn't differentiate through the STREAMICE linear solve and am happy with the accuracies for the verification. I will try to tackle the (more difficult) Christianson fixed point treatment with the tapenade FP-LOOP directive next. However, I am a bit confused about recomputation, I think Im seeing more than i would have expected. Can I ask for detail on how checkpointing is implemented with the tapenade adjoint? Is it revolve, or more similar to the "level" scheme with TAF, or something else? @heimbach tagging you as well, in case you know.. |
Hi @dngoldberg , It might be best to check with Laurent Hascoet. My use case of checkpointing has typically just involved using the Tapenade binomial checkpointing pragmas and I have always treated it as a black box. Happy to get on a Zoom call if needed with you and Laurent. :) Best, |
@Shreyas911 and @mjlosch and @dngoldberg: I would like to add a comment (number 3) that Martin wrote about PR #746 :
I think it could be listed here, but would appreciate your opinion. |
@jm-c @mjlosch @Shreyas911 I have a branch in my fork where i have been addressing a few issues, one of which relates to this. The branch attempts to bring the cost and control framework of streamice (with openad) somewhat in line with other packages, so that bespoke files are not needed for cost or controls. There are only a few reasons that ctrl_map_gentim2d.F, ctrl_map_ini_gentim2d.F and ctrl_map_ini_genarr.F are in the code_oad folder. One is that the activity analysis cannot seem to follow the assignments by parameter in ctrl_map_ini_genarr.F, but @mjlosch is ok with the fix for this. The other is that the OpenAD compiler cannot deal with referencing of characters of strings withing arrays, i.e. ctrl_name(iarr)(1:IL). This is trivial to handle with intermediate string variables, if you would be OK with this. I was going to work on a few other changes for my PR but with this in mind I am going to submit soon, and hope that you and/or Martin will be able to review it. If it is approved, this will remove the offending files. |
Some updates:
|
@jm-c, thanks for all the work! I have added links to the docker images in the list above. I have tested the AMD image on TACC using apptainer. It seems to work fine for testing. Can you check it out? |
Yes, all relative to |
I am creating an issue to explicitly document some future work that we already know needs to be done in association with Tapenade and a couple of non-Tapenade points too, based on discussions with @jm-c, @mjlosch, and @heimbach. This work is after we merge PR #685.
Tapenade-related issues -
-devel
flag and NaNs with the–ieee
flag (Laurent Hascoet and I will take a look, @jm-c also has some understanding of this and probably mentioned at some point that these are mostly benign)streamice
adStack.f
,adBinomial.f
,f95_test_mods.f90
exch2_*.template
for all the duplicate files for subroutines such asexch2_rl1_cube_b
pkg/autodiff
andpkg/tapenade
if needed (@heimbach and @jm-c agree this is not a priority)verification/lab_sea/code_tap.noecco
andverification/lab_sea/code_tap.adx.noecco
are needed, especially in the context of nightly tests (See PR Clean input tap #746 which deletes both of these).Other issues -
We can keep adding more issues as we find them to keep this list current.
The text was updated successfully, but these errors were encountered: