Skip to content

Add option to auto-compute an IO LAYOUT when auto masking is on#342

Merged
alperaltuntas merged 1 commit into
NCAR:dev/ncarfrom
alperaltuntas:auto_io_layout
Apr 11, 2025
Merged

Add option to auto-compute an IO LAYOUT when auto masking is on#342
alperaltuntas merged 1 commit into
NCAR:dev/ncarfrom
alperaltuntas:auto_io_layout

Conversation

@alperaltuntas
Copy link
Copy Markdown
Member

@alperaltuntas alperaltuntas commented Mar 4, 2025

This is one of three PRs to enable automated parallel IO in MOM6 within CESM by making use of the existing parallel IO implementation that comes with FMS. These series of PRs (1) enable FMS parallel IO, (2) make sure the IO PE Layout is compatible with auto-land block elimination (i.e., masking), and (3) that partitioned files are automatically merged after a run is completed.

When auto-masking (land-block elimination) is enabled, the compute PE LAYOUT is unknown a priori, so it's not possible to predetermine an IO_LAYOUT compatible with LAYOUT. This PR introduces an option to set a target number of IO PEs (TARGET_IO_PES), to be used as a reference for the auto-masking routine to determine an IO_LAYOUT compatible with LAYOUT on-the-fly. If original TARGET_IO_PES is not achievable without having to sacrifice too much auto land masking, then the number of IO PEs is decremented until a feasible combination of LAYOUT and IO_LAYOUT is found.

testing: aux_mom.derecho
status: b4b, except for masking in static files due to changing compute layout.
Performance: varies depending on the resolution, pe count and IO layout, from no enhancement or degradation to more than 50% enhancement.

This PR should be evaluated in conjunction with:
ESCOMP/FMS#5
ESCOMP/MOM_interface#235

When Auto Masking is enabled, the LAYOUT is unknown a priori,
so it's not possible to predetermine a compatible IO_LAYOUT.
This commit introduces an option to set a target number of
IO PEs (TARGET_IO_PES), to be used as a reference for the
auto masking routine to come up with an IO_LAYOUT compatible
with LAYOUT on the fly. If original TARGET_IO_PES is not
achievable without having to sacrifice too much land masking,
IO PEs is decremented until a feasible combination of LAYOUT
and IO_LAYOUT is found.
Copy link
Copy Markdown
Collaborator

@mnlevy1981 mnlevy1981 left a comment

Choose a reason for hiding this comment

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

Details of my testing in ESCOMP/FMS#5 (review)

@alperaltuntas alperaltuntas merged commit 81cad45 into NCAR:dev/ncar Apr 11, 2025
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