Skip to content
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

Add -hipa0 -hzero to prevent NaNs with Cray compiler on Crusher #5208

Merged
merged 3 commits into from
Oct 1, 2022

Conversation

amametjanov
Copy link
Member

@amametjanov amametjanov commented Sep 28, 2022

Update Cray compiler flags and Crusher machine config:

  • add -hipa0 -hzero to prevent NaNs
  • add -em -ef for lowercase modulename.mod files
  • increase l%360x720cru PE-layout from 1 to 2 nodes
  • increase memleak tolerance from 20 to 25%

[BFB]

@amametjanov amametjanov added Machine Files BFB PR leaves answers BFB Cray Cray compiler related issues Crusher labels Sep 28, 2022
@amametjanov amametjanov self-assigned this Sep 28, 2022
@amametjanov
Copy link
Member Author

-hipa0 sets Cray Fortran's interprocedural optimization to 0 (defaults to 3).
-hzero initializes all undefined local stack variables to 0.
Both ftn flags are needed to prevent NaNs and errors in the following cases.

These run into NaNs in phase1 ATM init reprosum:

  • SMS_Ln5.ne30pg2_r05_EC30to60E2r2.BGCEXP_LNDATM_CNPRDCTC_1850.crusher_crayclang
  • SMS_Ln5.ne30pg2_r05_EC30to60E2r2.BGCEXP_LNDATM_CNPRDCTC_20TR.crusher_crayclang
  • SMS_Ld2.ne30pg2_r05_EC30to60E2r2.BGCEXP_CNTL_CNPECACNT_1850.crusher_crayclang.elm-bgcexp
  • SMS_Ld2.ne30pg2_r05_EC30to60E2r2.BGCEXP_CNTL_CNPRDCTC_1850.crusher_crayclang.elm-bgcexp
  • PET_Ln9_PS.ne30pg2_EC30to60E2r2.WCYCL1850.crusher_crayclang.allactive-mach-pet
  • ERP_Ld3.ne30pg2_EC30to60E2r2.WCYCL1850.crusher_crayclang.allactive-pioroot1
  • ERS.ne11_oQU240.WCYCL1850NS.crusher_crayclang
  • PEM_Ln9.ne30pg2_EC30to60E2r2.WCYCL1850.crusher_crayclang

These encounter EOS bad state: dp or vtheta_dp < 0, bad state in phi_from_eos

  • SMS_D_Ln5.conusx4v1_r05_oECv3.F2010.crusher_crayclang
  • SMS_D_Ld1.ne30pg2_EC30to60E2r2.WCYCL1850.crusher_crayclang.allactive-wcprod
  • SMS_D_Ld1.ne30pg2_EC30to60E2r2.WCYCLSSP370.crusher_crayclang.allactive-wcprodssp
  • SMS_D_Ld1.ne30pg2_r05_EC30to60E2r2.WCYCL1850.crusher_crayclang

This runs into MPAS-seaice: IR negative reconstructed ice area

  • ERS.ne30pg2_r05_EC30to60E2r2.GPMPAS-JRA.crusher_crayclang.mosart-rof_ocn_2way

This errors out with xm_adj_coef in mfl less than -0.99, mx_adj_coef set to -0.99

  • NCK.ne11_oQU240.WCYCL1850NS.crusher_crayclang

amametjanov added a commit that referenced this pull request Sep 28, 2022
Add -hipa0 -hzero to prevent NaNs with Cray compiler on Crusher.

[BFB]
Also, increase memleak tolerance from 20 to 25%
amametjanov added a commit that referenced this pull request Sep 29, 2022
Re-merge to next to bring in new commits:
- Increase l%360x720cru PE-layout from 1 to 2 nodes
- Increase memleak tolerance from 20 to 25%
Needed by Scorpio to recignize externally built GPTL perf_mod.mod
and avoid building internal GPTL again.
amametjanov added a commit that referenced this pull request Sep 30, 2022
Re-merge 3 to next with a new commit:
- Add -em -ef to crayclang for lowercase modulename.mod files
@amametjanov amametjanov merged commit ca48f56 into master Oct 1, 2022
@amametjanov amametjanov deleted the azamat/crusher/cray-add-hipa0-hzero branch October 1, 2022 20:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BFB PR leaves answers BFB Cray Cray compiler related issues Crusher Machine Files
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant