Update Derecho intel and inteloneapi port. Add mpif08 unit test.#1107
Merged
Conversation
Update the inteloneapi compiler version on derecho to 2025.2.1. Update the intel and inteloneapi compiler debug options on derecho to better trap and warn. These changes are based on the UFS compiler settings and to help meet UFS requirements. The new settings are FFLAGS += -O0 -check all -check noarg_temp_created -warn -warn noerrors -fp-stack-check -fstack-protector-all -fpe0 -debug -ftrapuv -init=snan,arrays -link_mpi=dbg Modify history restart capability, do not write the time bounds with the history restarts as the variable time_end is not defined. This was trapped by the new debug compiler flags and then fixed. Modified netcdf and pio io options. Add mpif08 unit test to check availability of the mpi_f08 module as we consider an update from "use mpi" to "use mpi_f08" in CICE.
dabail10
approved these changes
Apr 28, 2026
NickSzapiro-NOAA
approved these changes
Apr 28, 2026
| @@ -13,7 +13,9 @@ FFLAGS_NOOPT:= -O0 | |||
|
|
|||
| ifeq ($(ICE_BLDDEBUG), true) | |||
| # -check uninit is needed on the ld step but it still throws errors in 2023.* and 2024.0.*, likely compiler bug | |||
Contributor
There was a problem hiding this comment.
Re this note
I doesn't look like intel will change this -check uninit behaviour
-check all now behaves as -check all -check nouninit. Setting -check uninit and linking with libraries not built with this option, such as Intel® oneAPI Math Kernel Library (oneMKL) or Intel® MPI Library, causes runtime failures. -check uninit is no longer set by -check all.
Which basically makes -check uninit unusable for us, as it's very hard to build all the dependencies with -check uninit (unless you rebuild the compiler) and then the resulting executable needs to be run with the LLVM Memory Sanitizer path variable set as well
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR checklist
Update Derecho intel and inteloneapi port. Add mpif08 unit test.
apcraig
Ran a partial test suite on derecho with 6 compilers. Everything passed. derecho inteloneapi changes answers. https://github.com/CICE-Consortium/Test-Results/wiki/cice_by_hash_forks#043120305a888970f93bbf9e7f731d62164f0881
Update Derecho intel and inteloneapi port. Add mpif08 unit test.
Update the inteloneapi compiler version on derecho to 2025.2.1. This is not bit-for-bit for derecho inteloneapi because of the compiler upgrade.
Update the intel and inteloneapi compiler debug options on derecho to better trap and warn. These changes are based on the UFS compiler settings and to help meet UFS requirements. The new settings are
FFLAGS += -O0 -check all -check noarg_temp_created -warn -warn noerrors -fp-stack-check -fstack-protector-all -fpe0 -debug -ftrapuv -init=snan,arrays -link_mpi=dbg
Modify history restart capability, do not write the time bounds with the history restarts as the variable time_end is not defined. This was trapped by the new debug compiler flags and then fixed. Modified netcdf and pio io options.
Add mpif08 unit test to check availability of the mpi_f08 module as we consider an update from "use mpi" to "use mpi_f08" in CICE.