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 |
mjs2369
left a comment
There was a problem hiding this comment.
Remove these identical comments -
DART/assimilation_code/modules/utilities/no_cray_win_mod.f90
Lines 32 to 33 in 8c54973
DART/assimilation_code/modules/utilities/no_cray_winf08_mod.f90
Lines 32 to 33 in 8c54973
|
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.
This is the template model_mod, it it just in there to compile the tests.
There was a problem hiding this comment.
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.
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.
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 |
mjs2369
left a comment
There was a problem hiding this comment.
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