You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Work around CCE 19.0.0 compiler bugs for Cray+OpenACC builds
Three distinct CCE 19.0.0 compiler bugs required fixes:
Bug 1: InstCombine ICE in matmul() in m_phase_change.fpp
- Replace matmul() with explicit 2x2 arithmetic
Bug 2: IPA bring_routine_resident SIGSEGV in m_phase_change.fpp
- Add -Oipa0 per-file in CMakeLists.txt (Cray+OpenACC only)
- Use cray_noinline=True on 4 GPU_ROUTINE calls in m_phase_change.fpp
and 4 in m_variables_conversion.fpp
Bug 3: IPA castIsValid ICE in m_bubbles_EL.fpp
- Change proc_bubble_counts from VLA to allocatable
- Add -Oipa0 per-file in CMakeLists.txt (Cray+OpenACC only)
Bug 4: m_chemistry.fpp VLA ICE in case-optimized pre_process builds
- Guard 4 dimension(num_species) local arrays with USING_CCE
Bug 5: Pyrometheus GPU_ROUTINE macro missing !acc routine seq on Cray+ACC
- Post-process generated m_thermochem.f90 in toolchain/mfc/run/input.py
to replace the broken Cray INLINEALWAYS-only macro with plain
#define GPU_ROUTINE(name) !acc routine seq
Also fix uninitialized FT in s_TSat (use huge(1.0_wp) not huge(FT)).
See PR #1286.
0 commit comments