NCAR / ccpp-physics

GFS physics for CCPP
Other
59 stars 146 forks source link

GPU-enabled version of Grell-Freitas convection #859

Closed DomHeinzeller closed 2 years ago

DomHeinzeller commented 2 years ago

This PR augments the Grell-Freitas convection schemes to be runnable on GPUs.

Mostly this is in form of acc directives, but a few minor code modifications were made to avoid inefficient operations on GPUs. For example, replace a string identifier with an integer switch.

These new schemes were regression tested on Hera with Intel and GNU. The results are summarized here: https://github.com/ufs-community/ufs-weather-model/pull/1043

All credit for this work goes to @danielabdi-noaa (NOAA-GSL).

Fixes https://github.com/NCAR/ccpp-physics/issues/860

Dependent PRs:

https://github.com/NOAA-EMC/fv3atm/pull/479 https://github.com/ufs-community/ufs-weather-model/pull/1043

climbfuji commented 2 years ago

How would we implement a regression test for this? Do the RDHPCS or WCOSS2 clusters have GPU nodes that can support this?

Not foreseen (with the UFS). The testing with the UFS will be for the CPU version (same file, just ignoring the acc directives). The Single Column Model (SCM) will be able to test the GPU directives with a few upcoming changes in the ccpp-scm repository.

SamuelTrahanNOAA commented 2 years ago

How would we implement a regression test for this? Do the RDHPCS or WCOSS2 clusters have GPU nodes that can support this?

Not foreseen (with the UFS). The testing with the UFS will be for the CPU version (same file, just ignoring the acc directives). The Single Column Model (SCM) will be able to test the GPU directives with a few upcoming changes in the ccpp-scm repository.

Is this intended to be able to run in the UFS?

climbfuji commented 2 years ago

As far as I know (but little do I know these days), there is no plan to run physics on GPUs in th near term future in the UFS.