-
Notifications
You must be signed in to change notification settings - Fork 54
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
OpenACC directives #98
Conversation
esclapez
commented
May 27, 2024
- Move OpenACC porting into dev.
New namelist option in PHYSICS: lfast_thermo. Default is .false. for the old icethermo. Set to .true. for the new version. New idea: always use two iterations to determine ql, for better vectorization. When iterating, don't calculate numeric derivatives but use Clausius-Clapeyron. Using tabulated esl and esi as in the original icethermo, but read from a table combining them, interpolated with ilratio. Future optimization possibilities: don't always store esl, qvsl, qvsi, perhaps also qsat and tmp0. Instead calculate them as needed.
Offload forces and gravity wave damping
- Allocate GPU fields in modfields.f90 - Create modgpu.f90/initgpu for updating GPU fields after startup routine - Removed data directive from modadvection.f90
Hmmm, tests are failing in
@fjansson looks like the same NetCDF/HDF5 error we saw previously in debug builds? |
It looks like the crash now is in icethermo and not from HDF5 this time. That crash would happen when opening a netcdf file. |
I'm having the same issue on my local machine and Snellius. Release build works though. |
Okay, got it. A couple of things missing from the refactoring of the surface schemes. |
One more single-precision error. Perhaps the 5.0 needs a _field_r
|