Skip to content
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

MYNN SFC OpenACC acceleration #693

Merged
merged 3 commits into from
Sep 14, 2023
Merged

Conversation

grantfirl
Copy link
Collaborator

@grantfirl grantfirl commented Sep 8, 2023

Description

See ufs-community/ccpp-physics#97 for a complete description.

Overview from the developer:

With very minimal changes to the original code of the scheme, the MYNN surface scheme has been enhanced with OpenACC statements which introduce the capability for offloading computational execution to OpenACC-supported accelerator devices (e.g. Nvidia GPUs). Since the scheme operates by looping multiple times over independent vertical columns, the overall computational strategy maps well to GPU hardware where multiple iterations of each loop can be run in parallel with SIMD methods. Data movement has been optimized to ensure data transfers from host memory to device memory are limited as data movement is a significant source of latency when performing offloading to accelerator devices. Performance increases on a GPU ranged from a 3.3x slowdown to a 41.9x speedup versus CPU execution (See the Performance section for more information).

Issue(s) addressed

Testing

See ufs-community/ccpp-physics#97 for a description of testing the GPU-accelerated code.

This work is also regression tested (on CPU only) using the existing RT suite on Hera. No changes should be expected on CPU.

Dependencies

ufs-community/ccpp-physics#97

@BrianCurtis-NOAA
Copy link
Collaborator

Branch conflicts must be resolved before we can move forward.

@zach1221
Copy link
Collaborator

@jkbk2004 we're ready to merge here. Feel free when you're able.

@jkbk2004 jkbk2004 merged commit bbc5bf8 into NOAA-EMC:develop Sep 14, 2023
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.

Add OpenACC directives to speed up the MYNN SFC scheme
5 participants