-
Notifications
You must be signed in to change notification settings - Fork 632
Update include mpif.h to use mpif08 #1498
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
Update include mpif.h to use mpif08 #1498
Conversation
UFS Intel RTs pass bit-for-bit. GNU fails to compile
…nto mpi2f08develop
More fixes to develop for use_mpif08
|
@mickaelaccensi - Can you share more info about your environment? @NickSzapiro-NOAA found this: pmodels/mpich#6423 and is curious if it might be related? |
The first one is mod_def.ww3 (binary) and the second two are ww3.196806.nc (binary) and ww3_ounf.out. I'm running another set of regtests on develop so I can see which files are in the known set of non-b4b results on our machine, but if you can see that from Juan's previous PRs then let me know. |
|
@ukmo-kitstokes apologies for not following up. From Juan's previous PRs it doesn't look like that's a known nonb4b. That being said, that the mod_def is different is strange --- how big are the diffs in ww3.196806.nc ? In your regtest directory, look at output/ww3_ufs1.3/ww3_tp2.10//work_MPI there should be diff files from ncdumps of the netcdf files that you can look at. |
|
Hi Jessica, I can't seem to find anything specifically referring to |
|
I've run the regtests again on develop to double check what the known b4b differences should be on our machine, which are: ********************* non-identical cases **************************** mww3_test_03/./work_PR3_UNO_MPI_d2 (15 files differ) This list does look a bit different from the one I posted above. Quite a few mww3 tests have different number of files differing and the tp2 list is different too. I want to make sure I've compared your branch to the correct revision of develop - I just synced our fork and did a git pull on develop to get the latest version when I did the regtests, so this could have some differences I guess? |
|
Actually, looking again at your email where you specified the commit you based your branch on, I am comparing with the correct revision of develop ('Update grib2 outputs to have complex packing (#1496)') |
|
I've tried with but not changes or more verbose log. I've requested a newer version of mpi to check if it can solve the issue. In the meantime I'll try with scotch librairy compiled with mpt instead of mpi. If you have any other thoughts ? |
|
@mickaelaccensi are you using -g -traceback in the compile options? I'm assuming you are. I was hoping a line number would come. @NickSzapiro-NOAA do you have any suggestions ? |
|
It's hard without a traceback ... but there aren't so many mpi_allgather calls. This line could be suspicious: WW3/model/src/PDLIB/yowpdlibmain.F90 Line 578 in 91c6fcc
as in the realm of temporary array copies and MPI_INTEGER .ne. INTEGER |
|
I'm also not sure what's happening from the indexing mismatch between allocate(np_perProcSum(0:nTasks), stat=stat) and allocate(vtxdist(nTasks+1),stat=stat) |
|
If this is it, one suggestion is to send from np_perProcSum, receive in vxdist, then increment by 1 |
|
I'm using -g -traceback |
|
how do you force the |
|
To add in things to cmake build options like debug I usually just add in a line defining CMAKE_OPTIONS which is used in the cmake calls, for example here: https://github.com/NOAA-EMC/WW3/blob/develop/regtests/bin/run_cmake_test#L447C23-L447C36 You can also hard code things here: https://github.com/NOAA-EMC/WW3/blob/develop/model/src/CMakeLists.txt#L49-L92 depending on which compiler you are using. |
can you suggest the related code that I can test ? |
|
These are untested, but instead of option 1: option 2: |
|
both solutions work and provide the same results as the develop branch ! |
|
@JessicaMeixner-NOAA - let me know if you want me to re-run regtests on our machine once the fix @NickSzapiro-NOAA suggested above has been put into the branch |
@NickSzapiro-NOAA - Is there a preferred solution here since @mickaelaccensi said both work. |
|
@mickaelaccensi @ukmo-kitstokes - Apologies for the delay. I have implemented option 2. As an extra sanity check I will run one more round of regression tests over night. Assuming those will go well, we will merge this tomorrow. @ukmo-kitstokes I don't think it's necessary that you re-run things on your end, but you are of course welcome to. Just let me know if you have any objections to merging - and we'll wait for those issues to be resolved if you do. |
|
I'm re-running the regtests now and will let you know if anything has changed. |
|
I re-ran the tests with the latest update on Hercules intel. All passed. |
|
@mickaelaccensi @ukmo-kitstokes - We'd like to get this merged today, please let me know if you have any objections. |
|
go for it, I have not the regtests but no reasons it crashes now |
@ukmo-kitstokes how are your regtests going? Please let us know if you still see any issues. |
|
For some reason I got a load of |
Pull Request Summary
Updates code from using include mpif.h statements to using mpif08
Description
To avoid compile warnings and update MPI usage, use updated mpif08 and no longer use include mpi.h statements
This work was done by @NickSzapiro-NOAA w/a few minor updates from me. Thank you Nick!!
Please also include the following information:
Issue(s) addressed
Note a follow up PR with additional updates for dev/ufs-weather-model branch is coming soon.
Commit Message
Update include mpif.h to use mpif08
Check list
Testing
matrixCompFull.txt
matrixCompSummary.txt
matrixDiff.txt