E3SM-Project / E3SM-Project/E3SM
New ZM sensitive to opimization
- Dominant language
- Fortran
- Stars
- 441
- Forks
- 481
- Avg merge
- 4d 7h
- Merged PRs (30d)
- 33
Description
The new ZM features in https://github.com/E3SM-Project/E3SM/pull/5478 are sensitive to optimization on some machines/compilers. Sensitivity is seen both with new features on and off.
With new features **OFF**:
On anlgce/gnu (gcc 11.1): Have to reduce from -O2 to no optimization on `zm_conv.F90` to avoid ICE. See https://github.com/E3SM-Project/E3SM/pull/5478/commits/fe44772cbe4deb313106a3a8f81156da4d1ae2d0
On pm-cpu/gnu (gcc 11.2): Have to add `zm_conv.F90` to NOOPT to ensure BFB with master even when features are turned off. Testing against baselines: answers changed for all cases with EAM EXCEPT those with MMF.
When new features are **ON**:
pm-cpu/nvidia ERS test failed. ERS_D.ne4pg2_oQU480.F2010.pm-cpu_nvidia.eam-zm_enhancements. A fix was made.
On chrysalis/intel: have to reduce opt for two files (`zm_conv.F90` and `zm_microphysics.F90`) from -O3 to -O2 or RESTOM was changed significantly (compared to a baseline on compy)
Testing against baselines no change to answers?
These problems were found in testing before PR #5478 was merged to master.
Contributor guide
Research direction
Start with zm_conv.F90 and zm_microphysics.F90, then review PR #5478 and commit fe44772cbe4deb313106a3a8f81156da4d1ae2d0. Reproduce the optimization-sensitive behavior on the named compiler and machine configurations, including the ERS test and baseline comparisons. Done means the affected configurations build and preserve expected answers without unexplained optimization changes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- fortran
- Domain
- compilers, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100