Closed sjsprecious closed 3 years ago
I'm going to merge this directly into the release/cam branch so I can make the tag for your CAM PR easier.
I'm going to merge this directly into the release/cam branch so I can make the tag for your CAM PR easier.
Thanks Kate. That will be much helpful for our CAM PR!
In this PR, we add the OpenACC directives to MG3 codes so that the MG3 parameterization could be run on GPU. We also make a few code changes for some calculations, which would lead to a non-BFB result.
The detailed changes related to OpenACC include:
The detailed changes other than OpenACC directives include:
Note that the change related to avg_diameter_vec subroutine is a non-BFB change for CPU run but passes the ensemble consistency test (ECT).
Test suite: [aux_cam] Test baseline: generated with CAM codes from https://github.com/PUMASDevelopment/CAM/tree/sjsp_cam_gpus_p3 and PUMAS codes from https://github.com/ESCOMP/PUMAS/tree/sjsp_cam_gpus_pumas_p3 Test machine: [Cheyenne] Test result: [NBFB]