-
Notifications
You must be signed in to change notification settings - Fork 145
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
remove copy of state into mpi window #735
Conversation
using external fortran-testanything model_mod.f90 is in the work directory. This is a lazy move to avoid fiddling with EXTRA in quickbuild.sh for issue #718
mpi version with all of %copies in the window mpif08 version with all of %copies in the window null_mpi_utilities_mod.f90 version with matchin arguments to the mpi version (does nothing) fixes #718
The cray window mod was originally added because not all compilers/ mpi implemenations (mpi 2.0) supported mpi windows without using cray pointers. The cray_win_mod has not been compiled into dart for several years, and support for mpi windows has improved (mpi 3.0)
@hkershaw-brown check PMO |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove these identical comments -
DART/assimilation_code/modules/utilities/no_cray_win_mod.f90
Lines 32 to 33 in 8c54973
!>@todo should this be in the window_mod? you will have to change in both cray | |
!> and non cray versions |
DART/assimilation_code/modules/utilities/no_cray_winf08_mod.f90
Lines 32 to 33 in 8c54973
!>@todo should this be in the window_mod? you will have to change in both cray | |
!> and non cray versions |
Do we want to rename the window mods to not mention cray? no_cray_win_mod.f90 -> win_mod.f90 |
! These routines are passed through from default_model_mod. | ||
! To write model specific versions of these routines | ||
! remove the routine from this use statement and add your code to | ||
! this the file. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove this comment?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the template model_mod, it it just in there to compile the tests.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can change the quickbuild.sh to get the template model mod rather than a copying (lazy see commit 9d0f897)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doesn't matter if we aren't going to put the tests in the repo, but if we do I think we should use the template
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
used template, added fortran-test anything to developer tests.
In buildfunctions.sh and buildconvfunctions.sh, you can remove all mentions of I just pushed up my commits from when I removed the cray window a while back if you want to take a look at these or cherry pick and commits (on branch remove_craywin). It has |
Good point. I shall grab your changes from remove_craywin. |
cherry-picked your commits onto this branch |
from dennisdjensen https://github.com/dennisdjensen/fortran-testanything license included in this commit. renamed test.f08 to test.f90 because *.f90 is what we have mkmf looking for updated buildfunctions to include the fortran-testanything code for developer tests only removed the local threed_model_mod.f90 (using the template model path like other developer tests)
done |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Everything looks good, developer test working well.
419d96c
to
b97bc33
Compare
adding missing v to tags in changelog attribution to dennisdjensen for fortran-testanything
b97bc33
to
d56aa4a
Compare
Description:
Puts the %copies array into the mpi window for get_state (forward operator)
Removes the copy of the %copies(1:real_ens_members, :) to the window.
This reduces the per-code memory usage (removes a %copies(1:real_ens_members, 1:my_num_vars)
~1/2 for the state per memory core usage.
The offset is calculated from %num_copies, the get_state is only the real ensemble members
I think this is a good time to remove the cray window module.
Fixes issue
fixes #718
Types of changes
Documentation changes needed?
Tests
There is a developer test included. Note this needs fortran-testanything code to run.
Bitwase lorenz_96 mpi, mpif08, nompi
Checklist for merging
Checklist for release
Testing Datasets