CAM icon indicating copy to clipboard operation
CAM copied to clipboard

Excessive data movement in extend_panel_interpolate

Open johnmauff opened this issue 4 months ago • 1 comments

What happened?

The subroutine extend_panel_interpolate is written such that the compiler will generate more data movement than is necessary. This excessive data movement intensifies a computational load imbalance in the CSLAM advection. While it is impossible to eliminate the load imbalance that is caused by the special treatment of panels at the corners of the cubed sphere, it is possible to reduce the cost of this subroutine by changing the way that the subroutine is written.

What are the steps to reproduce the bug?

Any CAM configuration that uses the spectral element dynamical core with CSLAM advection will encounter this issue.

What CAM tag were you using?

cam6_4_100

What machine were you running CAM on?

CISL machine (e.g. cheyenne)

What compiler were you using?

Intel

Path to a case directory, if applicable

No response

Will you be addressing this bug yourself?

Yes, but I will need some help

Extra info

I have placed a modified version of fvm_reconstruction_mod.F90 in the directory ~dennis/CAM_mods/DataMovement/cam/src/dynamics/se/dycore

Note that this change is B4B, and it reduces the execution time of CAM in a likely CMIP configuration by ~3.5%

johnmauff avatar Aug 15 '25 14:08 johnmauff

PR opened: https://github.com/ESCOMP/CAM/pull/1365

PeterHjortLauritzen avatar Aug 18 '25 14:08 PeterHjortLauritzen