Revision 77c2ded42b130dab310c075a92835b1982011846 authored by Jon Wolfe on 13 April 2022, 16:09:30 UTC, committed by Jon Wolfe on 13 April 2022, 16:09:30 UTC
Fixes OpenACC bugs introduced by recent layerThickEdge changes

During a recent addition of layerThickEdgeFlux/Mean variables, some GPU
errors were introduced:
* layerThickEdgeXXX vars were missing from some OpenACC update
  directives
* the use of array syntax when layerThickEdgeFlux set to
  layerThickEdgeMean was causing the operation to happen on
  host (with bad data) rather than device when OpenACC turned on
* replaced complicated string conditionals with case construct to
  improve performance and clarity
* the conditionals above were moved to diagnostics init
* cleaned up the thickness edge routine a little
* fixed related OpenACC present data issues in surface pressure
  calculation by moving option conditionals outside loop and splitting
  loop accordingly
Tested on Summit w/ PGI in QU240 and bfb when OpenACC turned on

Fixes #4865
[BFB]
2 parent s 4af11ef + ac5cf5a
History
File Mode Size
.circleci
cime @ 4f9ce69
cime_config
components
driver-mct
driver-moab
externals
share
.gitignore -rw-r--r-- 253 bytes
.gitmodules -rw-r--r-- 1.9 KB
CONTRIBUTING.md -rw-r--r-- 1.7 KB
LICENSE -rw-r--r-- 5.3 KB
README.md -rw-r--r-- 3.3 KB
codemeta.json -rw-r--r-- 504 bytes
run_e3sm.template.sh -rwxr-xr-x 12.9 KB

README.md

back to top