-
Notifications
You must be signed in to change notification settings - Fork 772
fix build of DIRAC 19.0 easyconfig with high compiler optimizations #13613
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
fix build of DIRAC 19.0 easyconfig with high compiler optimizations #13613
Conversation
|
@boegelbot please test @ generoso |
|
@boegel: Request for testing this PR well received on generoso PR test command '
Test results coming soon (I hope)... Details- notification for comment with ID 893341772 processed Message to humans: this is just bookkeeping information for me, |
|
Test report by @Flamefire |
|
Test report by @boegel |
|
Test report by @boegelbot |
|
Test report by @boegel |
|
Test report by @boegel |
|
@boegel The failure looks like some unrelated issue with UCX? |
Yeah, I'm a bit puzzled what's going on there, but looks unrelated, so I won't let it block this PR. For reference, some DIRAC tests are failing on Intel Skylake for DetailsDetailsPerhaps related to #13628 ? |
boegel
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
|
Going in, thanks @Flamefire! |
|
Doesn't look related at first sight. You never know but this seems more of a UCX vs lower level network libraries/driver issue. |
|
It's indeed an unrelated issue, problem remains even after rebuilding GCCcore and UCX using the patch from #13628 |
(created using
eb --new-pr)This is basically a fixed version of #13455 which I initially created because with
--default-opt-level=optone of the tests of the MPI build failed.The crucial part here is that
set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -ip")needs the-ipoption so the tests succeed, otherwise a misoptimization seemingly occurs.So I changed the
DIRAC-19.0_use_easybuild_opts.patchwhich is meant to make the build use the CMake options and remove stuff like unconditional-g. So changes now:set(CMAKE_C_FLAGS_DEBUG "-O0")fully removed --> Don't inject an optimization option for (here: DEBUG) configsset(CMAKE_C_FLAGS_RELEASE "-O2 -Wno-unused")--> Moved the warning flag to CMAKE_C_FLAGS and removed the restset(CMAKE_CXX_FLAGS_DEBUG "-O0 -DDEBUG")->set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG")--> Remove the -O0, keep the default flags and the custom defineset(CMAKE_Fortran_FLAGS_RELEASE "-O3 -ip")->set(CMAKE_Fortran_FLAGS_RELEASE "${CMAKE_Fortran_FLAGS_RELEASE} -ip")similar, keep the-ip!In the EC I removed CMAKE_BUILD_TYPE, separate_build_dir,
-Gas those are the defaults alreadyI also checked if we can remove the
parallel = 1and do have an idea but that change would be to large and the build "only" takes about 20min (could be cut down to 2-4 with awhile ! make -jloop... but yeah)@hajgato