Bring in -check all and -ftrapuv to DEBUG intelllvm builds#1256
Conversation
|
@WenMeng-NOAA Does any of the UPP testing check the debug builds for success? Is there UPP tests that run all debug builds to completion? If so, I wouldn't object to adding these changes however you see necessary. |
I will run the build test in debug mode on Ursa. |
|
@BrianCurtis-NOAA My build test failed on Ursa with the intelllvm compiler and debug mode enabled. Here are my procedure: Here are the error message: Can you take a look at that? |
|
I've been successful on Hera with intel with that command, i'll try Ursa intelllvm next. |
|
@jkbk2004 it looks like the spack build might have an issue for intelllvm 1.9.2 on Ursa? |
|
@WenMeng-NOAA this is also a problem in the current hash used in FV3 develop branch, FYI. |
|
@RatkoVasic-NOAA @ulmononian Any chance you could look into these stack issues? |
|
I am seeing the same issues with Ursa intelllvm on both Brian's branch and in the UPP For the failed LLVM build, I ran: which produced: |
|
In this PR, the When I run with only |
Hi all, I believe I saw a similar error when I was working on updating the cloud environments to work with both RDHPCS /apps stacks: #1211. I had to add paths to the LLVM linker, archiver, and ranlib for CMake: UPP/cmake/toolchains/noaacloud.intel-toolchain.cmake Lines 21 to 23 in 912e03d I'm not sure if this approach will help here, but wanted to mention in case it proves helpful. |
|
@TaylorRoper-NOAA Thanks for this suggestion! I noticed that you ultimately removed that code block and file from the repo in PR #1260 . What prompted that? Did hard-coding the paths in the modulefiles solve the problem? Or is that an unrelated change? |
|
The following UPP build tests have been successfully completed on WCOSS2 with intel compiler:
|
|
The UPP RTs have been completed on WCOSS2 without baseline changes. |
|
@WenMeng-NOAA I'll test once @BrianCurtis-NOAA makes Alex's requested change. Otherwise it won't pass when Ursa (LLVM) becomes available. ;) |
|
There is no need to rerun the UPP RTs on WCOSS2 since the UPP executable in the RTs is not build in debug mode. |
Oops! Forgot to run tests WITH debug. Doing that now!
|
When I run the RTs on Ursa LLVM in debug mode, the tests are all exiting early with MemorySanitizer errors such as these from On Ursa Intel, there are also several errors, both ones similar to those above and others. For example, from I'm seeing similar errors on Orion & Hercules in debug. My tests on Ursa are at: |
BenjaminBlake-NOAA
left a comment
There was a problem hiding this comment.
@gspetro-NOAA @WenMeng-NOAA I was able to build the UPP code successfully on Ursa in debug mode using intelllvm. I am not surprised that the RTs do not run in debug mode; I agree those issues are unrelated to this PR. If desired they can be fixed in a future PR.
@BrianCurtis-NOAA (and others) thanks for your work on this!
I agree with @BenjaminBlake-NOAA that the UPP code might have hidden issues that could bypass the whole sanity checks. We will address them case by case in the future. |
gspetro-NOAA
left a comment
There was a problem hiding this comment.
@BenjaminBlake-NOAA @WenMeng-NOAA Agreed. I don't think this PR is the problem, since RTs pass without baseline changes on all supported machine/compiler combinations when running normally (non-debug), and in debug mode, the UPP executable builds properly on all supported systems. I'll approve the PR.
I think what shows up with the RTs in debug is likely a snapshot of what Ed Hartnett was talking about. If I have time (ha!), I will try to look into the errors case by case to see what we can potentially clean up over the long term.
|
This PR is ready for merging. |
Bring in NCO DEBUG flag change for ops implement in intelllvm as well
The following flags will be added for DEBUG builds: -check all -check noarg_temp_created -ftrapuv
Two are required by NCO: -check all -ftrapuv
One will drastically reduce build output file size: -check noarg_temp_created
I've tested the build on the UFSWM. I will run the full UFSWM RT suite soon to ensure the build change does not impact results. I do not anticipate any changes.