add deferred-rank-less versions of mpp_pack and mpp_global_field#1873
add deferred-rank-less versions of mpp_pack and mpp_global_field#1873rem1776 wants to merge 5 commits into
Conversation
|
Do we have a way of tracking that when NVIDIA fixe their bug we should revert this change? Maybe an issue in FMS so that we dont forget this? |
|
@laurenchilutti There's an issue put in by marshall, its linked above. I just tested again and it looks like its working with the new beta version of nvhpc actually. Not sure why i had issues the last time i tested main with it, could be specific flags i was using. I still think we should include this though since it will most likely be a while until the beta is available on any production systems. |
|
i ran into another issue in the rebase re: tests. the generalized indices refactored the group update tests ( I can see 3 options for adding working openmp offload tests:
|
| character(len=:), allocatable :: att_name !< Name of the attribute | ||
| contains | ||
| #ifndef __NVCOMPILER | ||
| procedure :: add => fms_add_attribute |
There was a problem hiding this comment.
Shouldn't this also be #ifdef as well?
FMS/diag_manager/fms_diag_axis_object.F90
Lines 294 to 308 in 586ca99
We also should probably print out a NOTE on the write_metadata saying that the metadata is not being written (if it applies)
@edoyango Sorry for the extra work. I think the first option is reasonable. We can skip the existing non-functional tests and fix them once the generalized indices work is complete. |
Description
adds a workaround for nvhpc's lack of support for deferred-rank arrays. Copies over the nice new routines that use deferred ranks and makes them worse by using explicit rank sizes, then adds them to the corresponding interfaces to support all required dimensions the classic fortran way.
Open to any advice for how to name/manage the macro. not sure if i should just leave it as __NVCOMPILER, but it would be more convenient.
Fixes #1864
How Has This Been Tested?
nvhpc 26.1ng (beta release) + mpich was able to compile and pass most of the mpp tests. I got 3 failures, but I think they are all unrelated to these updates.
25.1 was able to compile too, but many of the mpp tests fail.
Checklist:
make distcheckpasses