Skip to content

FATES Performance Optimizations and Patch(PFT) level Shared Memory Paralellism#8143

Draft
rgknox wants to merge 32 commits into
E3SM-Project:masterfrom
rgknox:patch-parallel-v1lb
Draft

FATES Performance Optimizations and Patch(PFT) level Shared Memory Paralellism#8143
rgknox wants to merge 32 commits into
E3SM-Project:masterfrom
rgknox:patch-parallel-v1lb

Conversation

@rgknox
Copy link
Copy Markdown
Contributor

@rgknox rgknox commented Mar 5, 2026

This set of changes introduces two features aimed improving performance of the FATES model:

  1. Re-structuring the land-energy-balance solver (a newton raphson iteration) to minimize calls to FATES photosynthesis. FATES photosynthesis dominates the computational burden of land-energy balance to the order of +95% and about 2/3rds of runtime in land-only simulations
  2. Adding an alternative shared memory parallelism that applies threads uniquely at the patch(pft) level in canopy fluxes (land-energy-balance) and canopy radiation scattering. This is mutually exclusive with grid-level parallelism, ie setting clump_pproc > 1.

@rgknox rgknox added FATES ELM land model wip work in progress labels Mar 5, 2026
@rgknox
Copy link
Copy Markdown
Contributor Author

rgknox commented Mar 5, 2026

This is a WIP. Currently coordinating with @peterdschwartz so that these changes play nice with his openacc changes.

Collaborators: @bishtgautam @peterdschwartz @ckoven

@@ -297,7 +303,7 @@ subroutine get_clump_bounds_new (n, bounds)
!write(iulog,*) 'SPM omp debug decompMod 1 ', &
!OMP_GET_NUM_THREADS(),OMP_GET_MAX_THREADS(),OMP_GET_THREAD_NUM()

if ( OMP_GET_NUM_THREADS() == 1 .and. OMP_GET_MAX_THREADS() > 1 )then
if (.not.use_fates .and. ( OMP_GET_NUM_THREADS() == 1 .and. OMP_GET_MAX_THREADS() > 1 ))then
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

change this logic to be if nclumps>1

@rgknox
Copy link
Copy Markdown
Contributor Author

rgknox commented Mar 5, 2026

This PR must follow FATES PR:

NGEET/fates#1540

@rljacob
Copy link
Copy Markdown
Member

rljacob commented Mar 6, 2026

@rgknox if this is a work in progress, convert it to a draft PR.

@rgknox rgknox marked this pull request as draft March 9, 2026 18:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ELM land model FATES wip work in progress

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants