-
Notifications
You must be signed in to change notification settings - Fork 572
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
WONTFIX: ATS-2 XL issues with Trilinos #5238
Comments
@trilinos/framework |
This is valid according to the XL documentation. It's actually nvcc_wrapper that doesn't like it. @nmhamster fixed this, see kokkos/nvcc_wrapper#28. |
Generating the optimization flag The good news is that my binary generated with the love shown above is actually running. |
@jjellio, can we reproduce this on 'vortex'? |
I can confirm that you can replicate the -O thing on Vortex. I found it valid, because it just says "use the default optimization level for XL", which is -O2 incidentally. We're turning it up to -O3 (without the redundant warning from nvcc_wrapper) like this: -D CMAKE_C_FLAGS="$EXTRA_C_FLAGS -O3" |
Anyone want to try to contribute a new 'ats2' env for that ATDM Trilinos builds as described at: ? For an example that works with SPARC, see:
and:
If I am the only person who can add new platforms and envs with this system then this will not be sustainable. (NOTE: @fryeguy52 has added new systems as has @bathmatt with the 'sems-rhel7' env so it can be done.) I will review anything anyone wants to try to contribute a PR. |
Ross, I had looked at adding one, but the systems currently do not provide the needed ATDM TPLs. Sparc built their own. HDF5 in particular is a mess on these machines (they have a version installed in the system path /usr/lib and include, which given the push for shared libraries is a royally stupid thing to do). It also isn't clear if OpenMP is really working on these machines. I know XL tends to die if OMP is turned on. |
@jjellio said:
Yea, that is a problem. That is why we are working on a Spack build of these TPLs (see CDOFA-41). I have a meeting set up with Greg Becker at LLNL next week to see if we can fast-track a Spack-based build that we have been working on for these TPLs on the ATS-2 systems (see CDOFA-51). In the meantime, I think we can extend the ATDM Trilinos configuration setup to allow for the disable of various TPLs on systems like this until we can get them installed and working. We can add support for env vars
Have we reported that to them yet? I am sure they can delete some unusable TPLs on ATS-2 if we ask them and explain why this is a problem.
An ATDM Trilinos env does not have to support all of the Kokkos backends. For now, the |
Adding @ikarlin, as a Lassen POC. |
All: This goes to the general question, what level of support will Trilinos provide for the XL compiler on ATS-2 (which is the officially supported compiler on that system). EMPIRE does not use XL, but SPARC does. |
Actually, I am going to go ahead and close this issue. SPARC has been using Trilinos with CUDA+XL for a long time. There are some new problems with the CUDA+XL build of Trilinos for SPARC but those should be separate GitHub issues. Closing this as "worksforme". |
Bug Report
It is not obvious who to mark for this.
@crtrott @mhoemmen @mwglass @bartlettroscoe
Description
This issue encompasses several problems:
1. CMake w/Power9+XL generates bogus optimization flags
-O -DNDEBUG
2. Need lower optimization settings for specific files (needed feature)
3. Kokkos does not set the proper architecture flags for Power9 w/XL (it should set atleast
-qarch=pwr9 -qtune=pwr9
and for machines where the building node is the same as the compute-qcache=auto
Steps to Reproduce
Lassen:
Environment:
Configure
Recognize the hackery at the end. The
find
corrects the odd optimization flags.The subpackage optimization flags have to be set this way, because you cannot use
<Package>_CXX_FLAGS
. Using the CMake route will end up with multiple optimization flags, which is not good. (O3 turns on stuff we explicitly want off).The hack above will not work with Ninja, since you don't want to impact the entire build.ninja file.
The text was updated successfully, but these errors were encountered: