Skip to content

Refactor Fluxes, change data layout. #572

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

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

sriharshakandala
Copy link
Member

Purpose

Refactor Fluxes, change data layout.
Use (ncol, nlev) ordering instead of (nlev, ncol).


  • I have read and checked the items on the review checklist.

Use (ncol, nlev) ordering instead of (nlev, ncol).
@sriharshakandala sriharshakandala force-pushed the sk/refactor_fluxes_change_datalayout branch from 31850d6 to 8531023 Compare March 10, 2025 22:54
@sriharshakandala sriharshakandala marked this pull request as draft March 10, 2025 23:25
@sriharshakandala
Copy link
Member Author

@sriharshakandala
Copy link
Member Author

@sriharshakandala sriharshakandala marked this pull request as ready for review March 11, 2025 00:02
@sriharshakandala sriharshakandala requested a review from szy21 March 11, 2025 00:02
Copy link
Member

@szy21 szy21 left a comment

Choose a reason for hiding this comment

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

Please make necessary changes in ClimaAtmos and ClimaCoupler to make sure this change works correctly in atmos runs and AMIP, thanks!

@sriharshakandala
Copy link
Member Author

Please make necessary changes in ClimaAtmos and ClimaCoupler to make sure this change works correctly in atmos runs and AMIP, thanks!

@szy21 : Would you prefer making changes when we make the next breaking release or would you like them changed after each PR? I believe there is a set of about 5 reverted PRs we need to merge back!

@szy21
Copy link
Member

szy21 commented Mar 11, 2025

Please make necessary changes in ClimaAtmos and ClimaCoupler to make sure this change works correctly in atmos runs and AMIP, thanks!

@szy21 : Would you prefer making changes when we make the next breaking release or would you like them changed after each PR? I believe there is a set of about 5 reverted PRs we need to merge back!

Will all the 5 PRs have breaking changes? In any case, I would prefer a change after this PR as the data layout change seems like a pretty important change. More practically, merging breaking PRs will break this pipeline: https://buildkite.com/clima/climacoupler-coarse-nightly-amip, which many people use for debugging other things now, so it would be good for other people to know what changes in atmos and coupler are needed at least.

@sriharshakandala
Copy link
Member Author

Please make necessary changes in ClimaAtmos and ClimaCoupler to make sure this change works correctly in atmos runs and AMIP, thanks!

@szy21 : Would you prefer making changes when we make the next breaking release or would you like them changed after each PR? I believe there is a set of about 5 reverted PRs we need to merge back!

Will all the 5 PRs have breaking changes? In any case, I would prefer a change after this PR as the data layout change seems like a pretty important change. More practically, merging breaking PRs will break this pipeline: https://buildkite.com/clima/climacoupler-coarse-nightly-amip, which many people use for debugging other things now, so it would be good for other people to know what changes in atmos and coupler are needed at least.

I started a draft PR here: CliMA/ClimaAtmos.jl#3690

@charleskawczynski
Copy link
Member

Can we not realize this performance gain by changing the threeading pattern?

@sriharshakandala
Copy link
Member Author

Can we not realize this performance gain by changing the threeading pattern?

RRTMGP distributes work by assigning one thread per each column. Updating data layouts for some variables is the easiest way to realize performance gains.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants