-
Notifications
You must be signed in to change notification settings - Fork 237
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
cleaning tamc.h : collect previous comments #608
Comments
@jm-c could you please explain, for reference, why |
I suggest a (draft) PR where we remove |
Regarding nthreads_chkpt , you are right: each time it appears in the code (in: the_main_loop.F and in pkg/smooth/smooth_diff2/3d.F) it's multiplied by nSx*nSy. But whether we run single thread or mutlple threads, the size of multi-tile arrays don't change, always nSx*nSy tiles per proc. So there is no need to reserve more space than the array size. |
@mjlosch I agree with your plan for a draft PR. |
An other simplification we could do when computing "key" to store a single tile array: MITgcm/model/src/convective_adjustment.F Line 104 in 1575dc0
grouping the tiles by thread. This ordering is not necessary (if we were running multi-threads, they would not run sequentially anyway) and we could just use simply the tile indices bi,bj :ikey = bi + (bj - 1)*nSx + (ikey_dynamics - 1)*nSx*nSy
|
Thanks for this suggestion! The key computation was always hard for my to understand, but I never dared to touch this in fear of breaking something that was well tested. MITgcm/pkg/thsice/thsice_advection.F Line 276 in 1575dc0
So I am all for it! |
In PR #579 discussion, removing some un-used parameters within "tamc.h" was mentionned but postponed until "nthreads_chkpt" could also be removed (after removing it from tape initialisations).
Raise this issue here to give this task more visibility (+ also as a reminder).
The relevant part in the discussion were:
#579 (comment)
and
#579 (comment)
The text was updated successfully, but these errors were encountered: