Skip to content

Generalized indices: mpp_group_update#1853

Open
J-Lentz wants to merge 8 commits intoNOAA-GFDL:mainfrom
J-Lentz:mpp_group_update_rebased
Open

Generalized indices: mpp_group_update#1853
J-Lentz wants to merge 8 commits intoNOAA-GFDL:mainfrom
J-Lentz:mpp_group_update_rebased

Conversation

@J-Lentz
Copy link
Copy Markdown
Contributor

@J-Lentz J-Lentz commented Mar 31, 2026

Description
Update mpp_group_update to work with non-standard index orders. This update introduces new logic into inner packing loops, which could be a potential source of performance regressions.

How Has This Been Tested?
Builds with ifx 2025.2.1 on C5, and unit tests pass. Must be tested for performance.

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • Any dependent changes have been merged and published in downstream modules
  • New check tests, if applicable, are included
  • make distcheck passes

Jesse Lentz added 4 commits March 30, 2026 14:15
Rough draft of generalized indices for group_update
- Inline `group_assign_bounds`
- Replace `mpi_get_address` with `c_loc`
Calculate the indices of the original array from (i,j,k), instead of
looping over all lower values of k.
Copy link
Copy Markdown
Contributor

@uramirez8707 uramirez8707 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just some minor comments, but it looks good!

Comment thread mpp/include/group_update_pack.inc
Comment thread mpp/include/mpp_group_update.fh Outdated
Comment thread mpp/mpp_domains.F90 Outdated
Jesse Lentz added 3 commits April 2, 2026 12:10
Store result of `c_loc()` in a temporary variable before passing it to
`c_f_pointer`. This is needed because `call c_f_pointer(c_loc(...), ...)`
doesn't work with GFortran.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants