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 more checks for gnu in debug mode #1339

Merged
merged 1 commit into from
Apr 12, 2017
Merged

Add more checks for gnu in debug mode #1339

merged 1 commit into from
Apr 12, 2017

Conversation

billsacks
Copy link
Member

This adds gnu flags that are roughly equivalent to what we check for
intel (or at least what we checked as of a few months ago - I haven't
checked recently).

Test suite:
Ran all gnu debug tests that I could find in CESM test suites - all
on yellowstone. However, I did not run
SMS_D.T62_s11.G.yellowstone_gnu.pop-cice, which is currently
failing. Note that these tests exercise A, I and TG compsets, so do
not exercise CAM, POP or CICE.

  • aux_clm45 gnu debug tests: all pass and bfb (ran from clm4_5_15_r233)
  • aux_glc gnu debug tests: all pass, did not compare baselines (ran
    from clm4_5_15_r233)
  • two tests from the prealpha / prebeta test suite: pass and bfb (ran
    from cesm2_0_alpha06h):
    • SMS_D.f09_g16_gl10.TG1.yellowstone_gnu
    • ERI_D.T31_g37_rx1.A.yellowstone_gnu

Test baseline: See above
Test namelist changes: none
Test status: bit for bit for tested configurations (A, I, TG compsets)

Fixes #857

User interface changes?: No

Code review:

This adds gnu flags that are roughly equivalent to what we check for
intel (or at least what we checked as of a few months ago - I haven't
checked recently).

Fixes #857
@billsacks billsacks requested a review from jedwards4b April 12, 2017 16:58
@billsacks billsacks added in progress Responsibility: CESM Responsibility to manage and accomplish this issue is through CESM machine specific labels Apr 12, 2017
@jedwards4b jedwards4b merged commit 5edf3fa into ESMCI:master Apr 12, 2017
@billsacks billsacks deleted the gnu_debug_checks branch April 12, 2017 17:00
fischer-ncar added a commit that referenced this pull request May 28, 2017
This adds more debug checks with gnu.

I thought this was done in #1339 (which claimed to fix #857), but I
realized that that only added flags for the C compiler, not the Fortran
compiler. This PR adds debug flags for the Fortran compiler, too.

Ideally, we would also have 'invalid' in the ffpe-trap list. But at
least with some versions of gfortran (confirmed with 5.3.0), gfortran's
isnan (which is called in cime via the CPRGNU-specific shr_infnan_isnan)
causes a floating point exception when called on a signaling NaN. (This
problem showed up in the unit tests on my Mac: Adding 'invalid' caused
the shr_strconvert unit tests to fail (specifically, the tests
toString_prints_snan_r4 and toString_prints_snan_r8).)

Test suite: Ran nearly all gnu debug tests that I could find in all CESM
test suites. This included:

    aux_clm45 yellowstone-gnu: all pass and are bit-for-bit

    The following yellowstone tests:

    ERS_D_Ly3.f09_g16_gl5.TG1.yellowstone_gnu.cism-noevolve
    SMS_D.T31_g37_gl20.IGCLM45.yellowstone_gnu.cism-test_coupling
    SMS_D.f09_g16_gl20.TG1.yellowstone_gnu
    SMS_D_Ly1.f09_g16_gl20.THISTG.yellowstone_gnu
    SMS_D_Ld5.f10_f10.IMCRUCLM50BGC.yellowstone_gnu.mosart-default
    SMS_D_Ld5.f10_f10.ICRUCLM50BGC.yellowstone_gnu.rtm-default
    SMS_D.f09_g16_gl20.TG1.yellowstone_gnu
    ERI_D.T31_g37_rx1.A.yellowstone_gnu
    SMS_D_Ld1.5x5_amazon.ITEST.yellowstone_gnu.clm-40default

    All pass except a build failure for
    SMS_D_Ld1.5x5_amazon.ITEST.yellowstone_gnu.clm-40default which doesn't
    look related to these new debug flags. This is a CLM40 test that isn't
    important.

    The following cheyenne tests:

    SMS_D.f09_g16_gl20.TG1.cheyenne_gnu
    ERI_D.T31_g37_rx1.A.cheyenne_gnu
    SMS_D_Ld1.5x5_amazon.ITEST.cheyenne_gnu.clm-40default

    The A test passed. The ITEST failed as for yellowstone. The TG1 test
    failed, unable to link some lapack routines (seems unrelated to the
    new build flags).

I ran these tests from
https://svn-ccsm-models.cgd.ucar.edu/clm2/branches/externals_update_cesm2_0_alpha06k
at r85267, with cime changes rebased onto cime5.3.0-alpha.13

Test baseline: For aux_clm45 tests, I compared against the above version
of CLM unmodified. For other tests, I didn't do baseline comparisons
Test namelist changes: none
Test status: bit for bit

Fixes #1615

User interface changes?: none

Code review:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
machine specific Responsibility: CESM Responsibility to manage and accomplish this issue is through CESM
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants