-
Notifications
You must be signed in to change notification settings - Fork 371
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
GPU port of thickness tendency with OpenACC #4792
GPU port of thickness tendency with OpenACC #4792
Conversation
- replace mesh pool variables and arrays with counterparts in ocn_mesh module - remove meshPool from ocn_tend_thick subroutine calls in time integrator routines
- resolve OpenACC error in mpas_ocn_diagnostics.F by copying needed arrays onto device in ocn_compute_land_ice_flux_input_fields routine - add OpenACC directives to loops in ocn_tend_thick and associated subroutines - copyout tendThick, surfaceThicknessFlux, and surfaceThicknessFluxRunoff back to host at end of ocn_tend_thick
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved based on visual inspection and confirmation of earlier bfb tests on Summit in both CPU-only and GPU runs. Also passes compass pr test suite on Compy.
@philipwjones, thanks very much for testing with compass! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This now matches bfb for nightly suite with both gnu and intel between the branch point for #4785 (bc5a2cc) and the head of #4785, plus these two commits cherry-picked on top. That was the easiest way to make a clean comparison. I also tested the head of this PR with gnu and intel 19, optimized and debug, and it passed everything. I also looked through the code, and tested head with:
SMS_D.T62_oQU120_ais20.MPAS_LISIO_TEST.cori-haswell_gnu
SMS_D.T62_oQU120_ais20.MPAS_LISIO_TEST.cori-haswell_intel
@brian-oneill thanks for fixing these problems, and the clean-up of removing the mesh pool.
) GPU port of thickness tendency with OpenACC GPU port of ocn_tend_thick and all subprocesses. Changes include: * replace mesh pool variables and arrays with counterparts in ocn_mesh module * remove meshPool from ocn_tend_thick subroutine calls in time integrator routines * resolve OpenACC error in mpas_ocn_diagnostics.F by copying needed arrays onto device in ocn_compute_land_ice_flux_input_fields routine * add OpenACC directives to loops in ocn_tend_thick and associated subroutines [BFB]
Passes the following e3sm_developer tests on chrysalis:
Merged to next |
merged to master |
GPU port of ocn_tend_thick and all subprocesses
Changes include:
Bit-for-bit for QU240 test problem with PGI on Summit in CPU-only and GPU builds. Passed compass PR suite on Chrysalis with Intel/IMPI and GNU/OpenMPI
[BFB]